我从网站上获取了以下代码,但它似乎只发送消息而不是名称或电子邮件。谁能告诉我为什么?
<?php $action=$_REQUEST['action'];
if ($action=="") { ?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
Your name:<br>
<input name="name" type="text" value="" size="30"/><br>
Your email:<br>
<input name="email" type="text" value="" size="30"/><br>
Your message:<br>
<textarea name="message" rows="7" cols="30"></textarea><br>
<input type="submit" value="Send email"/>
</form>
<?php
}
else {
$message=$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: dG<my@email.com>\r\nReturn-path: $email";
$subject="Message sent using your contact form";
mail("my@email.com", $subject, $message, $from);
echo "Email sent!";
}
}
?>
我以为我可以改变
mail("my@email.com", $subject, $message, $from);
更像是
mail("my@email.com", $subject, $name, $email, $message, $from);
但这不起作用。 正如您所看到的,我对PHP知之甚少,所以请尽量保持简单。
感谢。
答案 0 :(得分:0)
mail()函数接受以下参数:
to,subject,message,headers,parameters
因此,要在消息中包含$ name和$ email变量的内容,您可能希望将它们添加到消息变量中。类似的东西:
$message = $name . $email . $message;
然后,当您发送电子邮件时:
mail("my@email.com", $subject, $message, $from);
$ message将包含$ name和$ email内容。
一旦你开始工作,你可能想在名称,电子邮件和消息之间添加一些空格。
以下是完整的其他块的样子:
else{
$from="From: dG<my@email.com>\r\nReturn-path: $email";
$subject="Message sent using your contact form";
$message = $name . $email . $message;
mail("my@email.com", $subject, $message, $from);
echo "Email sent!";
}
以下是有关mail()函数的完整文档的链接: