Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP表单验证不需要';行不通_Php_Html_Forms - Fatal编程技术网

PHP表单验证不需要';行不通

PHP表单验证不需要';行不通,php,html,forms,Php,Html,Forms,我试图用php验证制作一个html表单,但如果提交表单时至少有一个填充的文本字段,则会显示电子邮件不匹配(自制的代码部分不应显示) <?php error_reporting(0); if(isset($_POST["submit"])){ //File Verification if(empty($_POST['username']) && empty($_POST['password1']) && empty($_POST['passw

我试图用php验证制作一个html表单,但如果提交表单时至少有一个填充的文本字段,则会显示电子邮件不匹配(自制的代码部分不应显示)

    <?php
error_reporting(0);


if(isset($_POST["submit"])){
  //File Verification

if(empty($_POST['username']) && empty($_POST['password1']) && empty($_POST['password2']) && empty($_POST['email1']) && empty($_POST['email2']) && empty($_POST['bday'])){
    echo"Kom op, vul alles in";
    echo "<meta http-equiv='refresh' content='5;URL=register.php' />";
    exit();

}
else{
    $email1 = $_POST['email1'];
    $email2 = $_POST['email2'];
    $pass1 = $_POST['password1'];
    $pass2 = $_POST['password2'];

    if(email1 == email2){
        if(pass1 == pass2){

        }
        else{
            echo "<meta http-equiv='refresh' content='5;URL=register.php' />";
            echo"Je wachtwoorden komen niet overeen";
            exit();
        }
    }
    else{
        echo "<meta http-equiv='refresh' content='5;URL=register.php' />";
        echo "Je email gegevens komen niet overeen";
        exit();

    }

}


}
else{


$form = <<<EOT
<form method="post" action="register.php">
Gebruikersnaam:     <input type="text" name="username" placeholder="type hier je gebruikers naam"/><br /><br />
wachtwoord:         <input type="password" name="password1" placeholder="type hier je wachtwoord"/><br /><br />
wachtwoord opnieuw: <input type="password" name="password2" placeholder="type je wachtwoord opnieuw in"/><br /><br />
email:              <input type="text" name="email1" placeholder="type hier je email"/><br /><br />
email opnieuw:      <input type="text" name="email2" placeholder="type hier je email opnieuw"/><br /><br />
Geboorte datum:     <input type="date" name="bday"/ placeholder="type je geboorte datum hier"><br /><br />
<input type="submit" name="submit"/>
</form>


EOT;

echo $form;
}
?>
尝试更改:

    if(email1 == email2){
    if(pass1 == pass2){
致:


您输入了一个打字错误
pass1==pass2
。 此外,您可能希望更改为:

if(empty($_POST['username']) &&...


这不是你的代码所做的吗?你在两个电子邮件值之间做了一个相等检查,如果它们不匹配,你就会得到else条件。编辑:刚刚注意到你缺少$symbols。请参阅@zzzareckeror reporting的答案应该向你抛出未定义的常量xxx通知,但你决定将其关闭
错误报告(0)
    if($email1 == $email2){
    if($pass1 == $pass2){
if(empty($_POST['username']) &&...
if(empty($_POST['username']) OR...