PHP邮件函数没有';行不通
我已经在我的网站上使用了php联系人表单。但是它不能正常工作。当我正确填写所有字段并提交时。显示错误消息“无效数据”PHP邮件函数没有';行不通,php,Php,我已经在我的网站上使用了php联系人表单。但是它不能正常工作。当我正确填写所有字段并提交时。显示错误消息“无效数据” 您的姓名: 您的电子邮件: 您的留言: 注意到您的逻辑中有一个缺陷-您试图将$from设置为$email,但没有收到可变的$email 在else语句中添加以下行: $from = $_REQUEST['email']; 另外,如果邮件仍然没有发送,您应该考虑一些邮件服务器,例如qmail,如果它使用\r\n,将拒绝您的邮件。 因此,您应该尝试将\n或\n\n用作标题中
您的姓名:
您的电子邮件:
您的留言:
注意到您的逻辑中有一个缺陷-您试图将$from设置为$email,但没有收到可变的$email
在else语句中添加以下行:
$from = $_REQUEST['email'];
另外,如果邮件仍然没有发送,您应该考虑一些邮件服务器,例如qmail,如果它使用\r\n,将拒绝您的邮件。
因此,您应该尝试将\n或\n\n用作标题中的换行符。如下所示:
<?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" required/><br>
Your email:<br>
<input name="email" type="email" value="" size="30" required /><br>
Your message:<br>
<textarea name="message" rows="7" cols="30" required></textarea><br> <br>
<input type="submit" value="Send email" class="topbarbtn"/>
</form>
<?php
}
else {
$to = "...mail address...";
$subject = $_REQUEST['name'];
$from = $_REQUEST['email'];
$message = $_REQUEST['message'];
if (($from=="")||($subject=="")||($message=="")) {
echo '<script type="text/javascript">alert("Invalid Details");</script>' ;
}
else{
$headers = "From: " . $from . "\r\n";
$body .= $message;
mail($to, $subject, $body, $headers);
}
}
?>
您的姓名:
您的电子邮件:
您的留言:
您可以粘贴输出吗?你能从壳牌发邮件吗?
<?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" required/><br>
Your email:<br>
<input name="email" type="email" value="" size="30" required /><br>
Your message:<br>
<textarea name="message" rows="7" cols="30" required></textarea><br> <br>
<input type="submit" value="Send email" class="topbarbtn"/>
</form>
<?php
}
else {
$to = "...mail address...";
$subject = $_REQUEST['name'];
$from = $_REQUEST['email'];
$message = $_REQUEST['message'];
if (($from=="")||($subject=="")||($message=="")) {
echo '<script type="text/javascript">alert("Invalid Details");</script>' ;
}
else{
$headers = "From: " . $from . "\r\n";
$body .= $message;
mail($to, $subject, $body, $headers);
}
}
?>