Re: Beginner Questions regarding Mail and Forms
| From: | Matthias S. | Date: | Mon, 12 Feb 2007 13:16:30 +0000 |
| Subject: | Re: Beginner Questions regarding Mail and Forms | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-248754@lists.php.net to get a copy of this message | ||
hi zoltan,
thanks for your reply. i've tried the -f switch but the only effect it has
is an error message ;)
Warning: mail() [function.mail]: SAFE MODE Restriction in effect. The fifth
parameter is disabled in SAFE MODE.
as for the age value:
it is simply incorrect because it is always empty... input might be for
example 25, but the var $age contains always an empty string.
Can you help? I'm a programmer (C++), but have never used PHP before. The
concepts are clear to me, but I must be missing here something essential.
Thanks again, Matthias
"Németh Zoltán" <znemeth@alterationx.hu> schrieb im Newsbeitrag
news:1171279620.5056.16.camel@zoli-desktop...
> On h, 2007-02-12 at 11:13 +0100, Matthias S. wrote:
> > Hi there,
> >
> > I've got two bloody beginner questions: I've created a form with various
> > text input fields. One is to hold a numeric value (age). Upon
submission, I
> > try to retrieve the value of this field like this:
> >
> > $age = $_POST['_txtAge'];
> >
> > later, I use the $age variable to create a message...
> >
> > $message = "Name: " . $name . "\n";
> > $message .= "Email: " .$email . "\n";
> > $message .= "Age: " . $age . "\n";
> > $message .= "Gender: " . $gender . "\n";
> > $message .= "Info: " . $info;
> >
> > .... then I send the message:
> >
> > mail("bla@bla.com", "A Request", $message, _getMailHeaders($name,
email));
> >
> > Now on to my questions:
> > $message contains the values of all fields correctly except the age
field
> > (input of all others are alphabetic, only age has numeric content). Why
is
> > this?
>
> what do you mean by incorrect? what is the test input you give and what
> result do you get?
>
> >
> > Secondly, mail sends my message correctly. But the return adresse set in
> > _getMailHeaders is not used. Instead, some identification from the
server is
> > used. Why is that?
>
> it is (if you use sendmail on the server) because sendmail sets reply-to
> to the user running it by default. so it gets set to the user the script
> runs as (usually www-data or something like that). it can be overridden
> by the "-f" switch I think. like this:
>
> mail($to, $subject, $message, $headers, "-f".$frommail);
>
>
> hope that helps
> Zoltán Németh
>
> >
> > Here the function _getMailHeaders:
> >
> > function _getMailHeaders($senderName, $senderAddress) {
> >
> > ini_set(sendmail_from, $senderAddress);
> >
> > $headers = 'MIME-Version: 1.0' . "\r\n";
> > $headers .= 'Reply-To: ' . $senderName .'<'. $senderAddress.
> > '>' .
"\r\n";
> > $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
> > $headers .= 'To: PostOffice <postoffice@barkatdogs.com>' .
> > "\r\n";
> > $headers .= 'From: ' . $senderName . '<' . $senderAddress .
> > '>' .
"\r\n";
> >
> > ini_restore(sendmail_from);
> > return $headers;
> > }
> >
> > Any help is greatly appreceated.
> >
> > Matthias
> >