PHP HTML5联系表单不发送

时间:2016-08-18 16:40:27

标签: php html5 forms contact

我有一个问题,我无法弄清楚它是我的PHP还是服务器问题。

我创建了一个联系表单' contact.php'它全部在同一页面上,HTML和PHP。

我一遍又一遍地检查了代码,但找不到任何错误。我在最终目的地电子邮件中没有收到任何电子邮件。谁能帮我?这是我的代码

这是我的电子邮件地址:

  $to = 'MY EMAIL ADDRESS GOES HERE';
    $subject = 'New Contact Submission on ';

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

 $body = <<<EMAIL

     Hi! My name is $name

     My Email is $email

     $message


     EMAIL;

        $header = "from: $email";

      if($_POST){
        if($name == '' || $email == '' || $message == ''){
            $feedback = 'Please Fill all areas';

        }else{

             mail($to, $subject, $body, $header);
         $feedback = 'Thank you! We will contact you soon!';

         }
     }


?>


这是我的联系表单的HTML代码。请记住,我有1个单独的联系人.php&#39;文件。

                        <form action="" method="post">
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="name" class="sr-only" >Name</label>
                                    <input placeholder="Name" id="name" type="text" class="form-control input-lg">
                                </div>
                            </div>
                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="email" class="sr-only"  >Email</label>
                                    <input placeholder="Email" id="email" type="text" class="form-control input-lg">
                                </div>
                            </div>

                            <div class="col-md-12">
                                <div class="form-group">
                                    <label for="message" class="sr-only"  >Message</label>
                                    <textarea placeholder="Message" id="message" class="form-control input-lg" rows="3"></textarea>
                                </div>
                            </div>
                            <div class="col-md-12">
                                <div class="form-group">
                                    <input type="submit" class="btn btn-primary btn-lg " action="" value="Send">
                                    <p id="feedback"><?php echo $feedback;?></p>
                                </div>
                            </div>


                        </form>

2 个答案:

答案 0 :(得分:1)

我注意到你关闭了一个if语句括号,并在错误的位置关闭了另一个。

您还没有为所有HTML输入添加名称。

此修正后的代码有效......

<强> PHP

<?php

    $to = 'Your email'; $subject = 'New Contact Submission on ';

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

    $body = "Hi! My name is $name

    My Email is $email

    $message";

    $header = "from: $email";

    if($_POST){
        if($name == '' || $email == '' || $message == ''){
            $feedback = 'Please Fill all areas';
        }
    }else{

       mail($to, $subject, $body, $header);
       $feedback = 'Thank you! We will contact you soon!';

    }

?>

<强> HTML

<form action="" method="post">
    <div class="col-md-12">
        <div class="form-group">
            <label for="name" class="sr-only" >Name</label>
            <input placeholder="Name" id="name" type="text" class="form-control input-lg" name="name">
        </div>
    </div>
    <div class="col-md-12">
        <div class="form-group">
            <label for="email" class="sr-only"  >Email</label>
            <input placeholder="Email" id="email" type="text" class="form-control input-lg" name="email">
        </div>
    </div>

    <div class="col-md-12">
        <div class="form-group">
            <label for="message" class="sr-only"  >Message</label>
            <textarea placeholder="Message" id="message" class="form-control input-lg" rows="3" name="message"></textarea>
        </div>
    </div>
    <div class="col-md-12">
        <div class="form-group">
            <input type="submit" class="btn btn-primary btn-lg " action="" value="Send">
            <p id="feedback"><?php echo $feedback;?></p>
        </div>
    </div>
</form>

答案 1 :(得分:0)

我无法判断它的两个单引号还是一个双引号

if($_POST){ if($name == " || $email == " || $message == ")

这是不正确的?你的意思是

if($_POST){ if($name == " " || $email == " " || $message == " ")