Jump to content

Passing variable to mail()


waverider

Recommended Posts

Hello,
I am trying to pass a variable from a PHP page containing an HTML form, using a hidden field, to another PHP page which then sends an Email comtaining the data passed. All other fields are passed OK,  retrieved using the structure
[quote]$item = $_REQUEST["description"];[/quote] 
and sent successfully in the Email.

However the hidden field doesn't pass the value of the variable successfully.

The hidden field structure is as below:
[quote] <input type="hidden" name="description"  value="$description">[/quote]

The variable $description exists, but of course what is passed to the next page is '$description' rather than it's value.  How do I pass the value of the variable rather than it's name to the next page?

I have tried  passing it in the url through:
[quote]<form method="post" action="http://www.mywebsite.com/mowers_query_mail.php?description=$description">[/quote]

but this doesn't appear to work either.

Any thoughts?

Thanks
Link to comment
Share on other sites

[quote author=willfitch link=topic=100835.msg398395#msg398395 date=1153108285]
My first guess would to first ensure that the description hidden field is within the <form> </form> tags.  If it is, try using $_POST['description'] rather than REQUEST.  It's safer.
[/quote]

Thanks for the reply
Yes it is within the form tags. 

Thanks for the suggestion re: $_POST and security, however making this change won't resolve the problem of passing the variable value will it?
Link to comment
Share on other sites

Thanks again for the help,
Code I am using to retrieve and send the Email is as follows ( I have left out all the error checking and security stuff as I have tried everything with this commented out and still get the same result) - I have also changed to POST as you suggested and everything but the one variable works with that:

[quote]<?php
$to      = "my@emailaddress.com";
$subject = $_POST["realname5"];
$item = $_POST["description"];
$body = $_POST["postal5"];
$email = $_POST["email"];
$name = $_POST["realname5"];
$phone = $_POST["phone5"];

$headers = "From: $email";
mail($to, $subject, "Name:  $name\nEmail:  $email\nTelephone:  $phone\nItem of Interest:  $item\nMessage:  $body", $headers);
header( "Location: http://www.mywebsite/thankyou.htm" );
?>
[/quote]
Link to comment
Share on other sites

Ok.

If everything else is being received, then you need to consider looking at the simple things.  Go through the following steps:

1. Ensure the hidden field "description" is within the <form> tags </form>
2. Ensure the spelling of the "description" field is spelled correctly.
    (i.e. <input type="hidden" name="description"> and $_POST['description'] match)
3. Do a var_dump($_POST) to see everything that is being sent.
Link to comment
Share on other sites

The problem is with this line:
[code]<input type="hidden" name="description"  value="$description">[/code]
As far as I can tell from this one line taken out of context, it is a pure HTML line and the value of the field will be literaly [b][color=red]$description[/color][/b].

If you want to pass the value of the variable [b]$description[/b], then use this line instead:
[code]<input type="hidden" name="description"  value="<?php echo $description; ?>">[/code]

Ken

Link to comment
Share on other sites

[quote]If you want to pass the value of the variable $description, then use this line instead:
Code:

<input type="hidden" name="description"  value="<?php echo $description; ?>">[/quote]

Thanks Ken - that's exactly what I wanted - I thought that's where the problem was but wasn't sure how to resolve it - fixed now :-)
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.