2015-09-28 3 views
-3

Я пытаюсь сделать html-форму с проверкой php, но при попытке отправить форму с хотя бы одним заполненным текстовым полем скажут, что письма не совпадают (самодельная часть кода, которая не должна . отображаетсяПроверка формы PHP не работает

<?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; 
} 
?> 

Это просто показывает

else{ 
     echo "<meta http-equiv='refresh' content='5;URL=register.php' />"; 
     echo "Je email gegevens komen niet overeen"; 
+0

Разве это не то, что делает ваш код? Вы выполняете проверку равенства между двумя значениями электронной почты, и если они не совпадают, вы получаете условие else. Изменить: просто заметили, что вам не хватает символа $. См. Ответ от @zzzareck – georaldc

+2

. Сообщение об ошибках должно указывать на неопределенные постоянные уведомления xxx, но вы решили отключить его 'error_reporting (0);' –

ответ

0

Попробуйте изменить:

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

т o:

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

У вас есть опечатка pass1 == pass2. Кроме того, вы можете изменить с:

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

в

if(empty($_POST['username']) OR... 
Смежные вопросы