PHP联系表单不发送所有数据

时间:2014-05-06 17:15:15

标签: php forms

我从网站上获取了以下代码,但它似乎只发送消息而不是名称或电子邮件。谁能告诉我为什么?

<?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知之甚少,所以请尽量保持简单。

感谢。

1 个答案:

答案 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()函数的完整文档的链接:

http://php.net/manual/en/function.mail.php