如何修复阻止html页面显示的php脚本

如何修复阻止html页面显示的php脚本,php,forms,scripting,subscription,Php,Forms,Scripting,Subscription,我在一个HTML页面中有一个PHP脚本,它阻止我的整个HTML页面显示其内容。当我删除以下行时,它可以完美地工作: if($_POST){ mail($to, $subject $message, $header); $feedback = 'mail submitted'; } 有什么问题吗 以下是完整的代码: <?php $to = 'example@gmail.com'; $subject = 'From Your Website';

我在一个HTML页面中有一个PHP脚本,它阻止我的整个HTML页面显示其内容。当我删除以下行时,它可以完美地工作:

if($_POST){
    mail($to, $subject $message, $header);
    $feedback = 'mail submitted';       
}
有什么问题吗

以下是完整的代码:

<?php
    $to = 'example@gmail.com';
    $subject = 'From Your Website';

    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];

    $message = <<<EMAIL
    Hello this is $name my email is  


    $message

    EMAIL;
    $header = '$email';
    if($_POST){
        mail($to, $subject $message, $header);
        $feedback = 'mail submitted';       
    }
?>

//body starts here
<!DOCTYPE html>
<html>
<head>
    <title>Test mail</title>
</head>
<body>
    <p id="feedback"><?php echo $feedback; ?></p>
    <form action="#" method="post" >
        <input type="text" name="name" />
        <input type="email" name="email" />
        <textarea type="text" name="message"></textarea>
        <input type="submit" name="su`enter code here`bmit" />
    </form>
</body>
</html>

您应该尝试使用isset初始化post

if(isset($name = $_POST['name'])){
   $name = $_POST['name'];
}

您正在尝试使用post值初始化变量,而post值中没有任何内容。

如果isset$\u服务器['REQUEST\u METHOD']&&$\u服务器['REQUEST\u METHOD']='post'{}也可以尝试邮件$to,$subject$message;而不是邮件$to、$subject$message、$header;