PHP联系人表单重定向

PHP联系人表单重定向,php,forms,action,contact-form,Php,Forms,Action,Contact Form,因此,我有一个基本的想法,当它提交时,它会运行我在“contact process.php”上的内容,当点击提交时,它会转到该页面,然后显示成功或错误,我如何使提交在同一页面上显示成功或错误消息,并清除表单以显示它已发送。这是我网页上的代码 <form class="form-horizontal" method="post" action="contact-process.php"> <div class="form-group">

因此,我有一个基本的想法,当它提交时,它会运行我在“contact process.php”上的内容,当点击提交时,它会转到该页面,然后显示成功或错误,我如何使提交在同一页面上显示成功或错误消息,并清除表单以显示它已发送。这是我网页上的代码

<form class="form-horizontal" method="post" action="contact-process.php">
                    <div class="form-group">
                        <label for="name" class="col-sm-2 control-label">Name</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Email</label>
                        <div class="col-sm-10">
                            <input type="email" class="form-control" id="email" name="email" placeholder="example@gmail.com">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Subject</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="subject2" name="subject2" placeholder="Logo Design - Request">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="message" class="col-sm-2 control-label">Message</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" rows="4" name="message" placeholder="Please explain your request in detail. Provide screenshots & links."></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="human" class="col-sm-2 control-label">5 x 2 = ?</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="human" name="human" placeholder="Your Answer">
                        </div>
                    </div>


                    <div class="form-group">
                        <div class="col-sm-10  col-sm-offset-2">
                            <input type="submit"  class="btn-primary btn" id="submit" name="submit" value="Send">
                        </div>
                    </div>
                </form> 

名称
电子邮件
主题
消息
5x2=?
这是我在“contact process.php”上的代码


将html放入PHP脚本,如下所示:

<form class="form-horizontal" method="post" action="#">
                    <div class="form-group">
                        <label for="name" class="col-sm-2 control-label">Name</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Email</label>
                        <div class="col-sm-10">
                            <input type="email" class="form-control" id="email" name="email" placeholder="example@gmail.com">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Subject</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="subject2" name="subject2" placeholder="Logo Design - Request">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="message" class="col-sm-2 control-label">Message</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" rows="4" name="message" placeholder="Please explain your request in detail. Provide screenshots & links."></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="human" class="col-sm-2 control-label">5 x 2 = ?</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="human" name="human" placeholder="Your Answer">
                        </div>
                    </div>


                    <div class="form-group">
                        <div class="col-sm-10  col-sm-offset-2">
                            <input type="submit"  class="btn-primary btn" id="submit" name="submit" value="Send">
                        </div>
                    </div>
                </form> 

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    if($_POST["name"] != "" AND $_POST["email"] != "" AND $_POST["subject2"] != "" AND $_POST["message"] != "") {

         $name = $_POST["name"];
        $email = $_POST["email"];
        $subject2 = $_POST["subject2"];
        $message = $_POST["message"];
        $human = intval($_POST['human']);

        $EmailTo = "example@outlook.com";
        $Subject = "Message Received";

        if ($human !== 10) {

            echo "<div class='alert alert-danger'>Your anti-spam is incorrect</div>";

        }else{

           // prepare email body text
            $Body = "Name: ";
            $Body .= $name;
            $Body .= "\n";

            $Body .= "Email: ";
            $Body .= $email;
            $Body .= "\n\n\n";

            $Body .= "Subject: ";
            $Body .= $subject2;
            $Body .= "\n";

            $Body .= "Message: ";
            $Body .= $message;
            $Body .= "\n";

            // send email
            $success = mail($EmailTo, $Subject, $Body, "From:".$email);

            // redirect to success page
            if ($success){

               echo "<div class='alert alert-success'>Thank You! I will be in touch</div>";

            }else{
                echo "<div class='alert alert-danger'>Sorry there was an error sending your message. Please try again later.</div>";

            }
        }


    }else{

        echo "<div class='alert alert-success'>Data incomplate</div>";
    }

}else{
    // do nothing
    }
?> 

action=“”

先找叶。。。然后问

您需要了解一点,这是一种允许您使用php javascript/JSON进行通信的技术

例如:


制作一个带有警报功能的脚本,然后在脚本内部将location.reload放在成功部分。

将php代码和表单放在同一页上。如果它在同一页上,操作将是什么,我需要标识它吗?没有错误,只是成功显示在不同的页面上。action将是action=”“或action=“#”或action=“”,它不断地显示:这意味着php邮件函数返回true。我尝试过这个方法,但它不断地显示“谢谢!我会联系”它应该是elseif而不是jsut else吗?这不好,它不断地显示它,总是在那里,从不消失,当页面加载时就在那里。它不会等到您关闭internet浏览器并重新启动它。php代码只有在表单提交后才会执行。啊啊啊哈!干杯:D Holod up,尝试了一个测试,它提交了,发送了电子邮件,但是它没有包含我输入表单中的内容?。。
<form class="form-horizontal" method="post" action="#">
                    <div class="form-group">
                        <label for="name" class="col-sm-2 control-label">Name</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="name" name="name" placeholder="First & Last Name">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Email</label>
                        <div class="col-sm-10">
                            <input type="email" class="form-control" id="email" name="email" placeholder="example@gmail.com">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Subject</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="subject2" name="subject2" placeholder="Logo Design - Request">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="message" class="col-sm-2 control-label">Message</label>
                        <div class="col-sm-10">
                            <textarea class="form-control" rows="4" name="message" placeholder="Please explain your request in detail. Provide screenshots & links."></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="human" class="col-sm-2 control-label">5 x 2 = ?</label>
                        <div class="col-sm-10">
                            <input type="text" class="form-control" id="human" name="human" placeholder="Your Answer">
                        </div>
                    </div>


                    <div class="form-group">
                        <div class="col-sm-10  col-sm-offset-2">
                            <input type="submit"  class="btn-primary btn" id="submit" name="submit" value="Send">
                        </div>
                    </div>
                </form> 

<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {

    if($_POST["name"] != "" AND $_POST["email"] != "" AND $_POST["subject2"] != "" AND $_POST["message"] != "") {

         $name = $_POST["name"];
        $email = $_POST["email"];
        $subject2 = $_POST["subject2"];
        $message = $_POST["message"];
        $human = intval($_POST['human']);

        $EmailTo = "example@outlook.com";
        $Subject = "Message Received";

        if ($human !== 10) {

            echo "<div class='alert alert-danger'>Your anti-spam is incorrect</div>";

        }else{

           // prepare email body text
            $Body = "Name: ";
            $Body .= $name;
            $Body .= "\n";

            $Body .= "Email: ";
            $Body .= $email;
            $Body .= "\n\n\n";

            $Body .= "Subject: ";
            $Body .= $subject2;
            $Body .= "\n";

            $Body .= "Message: ";
            $Body .= $message;
            $Body .= "\n";

            // send email
            $success = mail($EmailTo, $Subject, $Body, "From:".$email);

            // redirect to success page
            if ($success){

               echo "<div class='alert alert-success'>Thank You! I will be in touch</div>";

            }else{
                echo "<div class='alert alert-danger'>Sorry there was an error sending your message. Please try again later.</div>";

            }
        }


    }else{

        echo "<div class='alert alert-success'>Data incomplate</div>";
    }

}else{
    // do nothing
    }
?> 
action="<?php echo $_SERVER['PHP_SELF']; ?>" 
action="#" 
action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"