PHP表单仍然在发送错误后发送

-2 php forms

我是一个PHP新手,所以请耐心等待这个相当简单的问题.

我有一个像这样的PHP表单设置>>

<?php
    if($_POST){
        $name = $_POST['name'];
        $email = $_POST['email'];
        $message = $_POST['message'];
        $comments = $_POST['comments'];

        if($comments)
            $error = "There was an error, please give us a call at ### ###-####.";
        else{
            if($name=="Name" || $email=="Email" || $message=="Message"){
                $error = "All fields are required, please fill them out and try again.";
            }else
            $header = "From: $name <$email>";
                $message = "Name: $name\n\nEmail: $email\n\nMessage: $message";
                if(mail("email@domain.com", 'Form Submission', $message, $header))
                    $success = "Thanks for sending us your message, we'll get back to you shortly.";
                else
                    $error = "There was an error, please give us a call at ### ###-####.";
        }
        if($error)
            echo '<div class="msg error">'.$error.'</div>';
        elseif($success)
            echo '<div class="msg success">'.$success.'</div>';
    }
?>
Run Code Online (Sandbox Code Playgroud)

基本思想是表单在每个字段中预先填充了描述性文本,但是当您单击它们时,它们将通过Javascript清除.我想阻止人们在没有填写表格的情况下按下发送,因此"if($ name =="Name"|| $ email =="Email"|| $ message =="Message"){"bit .但是,当该消息正在运行时,表单仍在提交.为什么是这样.另请注意,"评论"字段实际上是蜜罐.谢谢!

Izn*_*ood 5

因为php是服务器端的.您需要查看javascript验证以获得所需内容.要使用php验证,您必须提交表单.

一个教程,但我建议Jquery 验证