PHP联系表单将无法正确显示。最后一段代码没有注册为代码

时间:2014-03-24 20:15:29

标签: php forms contact

无论出于何种原因 - 是的,我是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>

2 个答案:

答案 0 :(得分:1)

如果要在本地计算机上运行PHP脚本,则必须:

  1. 将文件另存为.php
  2. 在您的计算机上安装网络服务器。你可以安装WAMP(http://www.wampserver.com/en/),你将拥有你需要的一切。

答案 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