我的php部分正在浏览器中显示

时间:2015-03-17 23:58:31

标签: php

我正在尝试将php添加到我的网站,以便在用户点击提交按钮时发送电子邮件。由于某种原因,我的PHP的一部分显示在浏览器中,我无法弄清楚为什么。我已查找信息,并尝试检查我的报价和类似的东西,但我不知道是什么导致它的一部分显示为文本。

ScreenShot of php

<?php
    $action=$_REQUEST['action'];

    if ($action=="") /* display the contact form */
    {
?>
        <form id="Contact-Form" action="" method="POST" enctype="multipart/form-data">
            <div class="row">
                <label for="name">Your name:</label><br />
                    <input id="name" class="input" name="name" type="text" value="" size="30" /><br />
            </div>
            <div class="row">
                <label for="email">Your email:</label><br />
                    <input id="email" class="input" name="email" type="text" value="" size="30" /><br />
            </div>
            <div class="row">
                <label for="message">Your message:</label><br />
                    <textarea id="message" class="input" name="message" rows="7" cols="30"></textarea><br />
            </div>
            <input id="Submit-Button" 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("email@gmail.com", $subject, $message, $from);
            echo "Email sent!";
        }
    }  
?>

1 个答案:

答案 0 :(得分:1)

解释为什么会发生这种情况......

请注意,所显示的代码部分只是代码中<$email>之后的位?特别是>

当您在浏览器中打开PHP文件而没有服务器首先处理它时,浏览器会将大多数PHP代码视为一个无效的大HTML标记,除了View Source和文档检查器工具外,它们不会显示。但是,由于您的代码恰好包含>,因此标记了&#34;无效HTML标记的结尾&#34;在页面中可以看到任何后面的内容。

要解决此问题,请使用服务器! PHP有一个内置的5.4,所以如果你在你的机器上安装它,你可以在PHP的根文件夹中打开一个命令行并运行:

php -S localhost:8000

然后打开浏览器并转到http://localhost:8000/yourfile.php它将运行。漂亮!