无论出于何种原因 - 是的,我是PHP的新手 - PHP代码不能正常运行,但它也只是不能注册为代码。在此屏幕截图中,您可以看到它只是出于某种原因显示纯文本:
<div id="contactform">
<?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?>
<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 /* send the submitted data */
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$message=$_REQUEST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill the form again.";
}
else
{
$from="From: $name<$email>/r/n Return-path: $email";
$subject="Message sent using your contact form";
mail("tono.nogueras@gmail.com", $subject, $message, $from);
echo "Email sent!";
}
} ?>
</div>
答案 0 :(得分:1)
如果要在本地计算机上运行PHP脚本,则必须:
答案 1 :(得分:1)
您的邮件标题不正确一件事(请参阅下面的修复代码),加上您在我现在注意到的评论中所述,将您的文件重命名为.php
而不是{{1 }}
如果您告诉Apache这样做,HTML文件可以作为PHP运行,但您也可以将其重命名为.html
,这样就简单得多了。
使用.php
而非\r\n
这会造成严重破坏,并且无法正确呈现电子邮件地址,并会在/r/n
字段中显示为(例如)Bob<email@example.com>/r/nRet
。
变化:
from
为:
$from="From: $name<$email>/r/n Return-path: $email";
$from="From: $name<$email>\r\nReturn-path: $email\r\n";
和/r/n
之间的空格无法正确呈现,并且服务器无法将电子邮件识别为具有空格的正确电子邮件地址。
试试这个,看看您是否仍然收到Return-path
错误:
旁注:将undefined index
替换为您自己的电子邮件地址。
email@example.com