Ошибка при выполнении нескольких условий if
Привет! Это и есть то самое usersignup.php коды. Поэтому я хочу подтвердить, совпадают ли оба пароля или нет, а также я хотел бы сделать свое имя пользователя уникальными данными. До сих пор коды для имени пользователя работают хорошо, но коды для проверки совпадения обоих паролей не работают там, где страница php выглядит пустой
таким образом, фактическим результатом должно быть предупреждение о том, что "оба пароля не совпадают"
В соответствии с инструкцией if о проверке пароля я попробовал другие коды, такие как
'echo "Пароли не совпадают!";', он отлично работает
поэтому я предполагаю, что есть ошибка в кодах для функции оповещения или в операторе if.
Что я уже пробовал:
<?php include("conn.php"); //retreive data from register.html $username = $_POST['username']; $password = $_POST['password']; $confirmpassword = $_POST['password2']; $email = $_POST['email_address']; $query = "SELECT * FROM users WHERE username='$username'"; $result = mysqli_query($con, $query) or die(mysqli_error($con)); $count = mysqli_num_rows($result); if ($password !== $confirmpassword) { echo "<script>window.alert('Passwords don't match!'); "; die("window.history.go(-1);</script>"); }else if ($count>0) { echo "<script>alert('Sorry! Username already exist!'); "; die("window.history.go(-1);</script>"); } $sql = "Insert into users (firstname,lastname,username,email,dob,password) VALUES ('$_POST[first_name]','$_POST[last_name]','$username','$email','$_POST[dob]','".md5($password)."');"; mysqli_query($con, $sql); //echo $sql if(mysqli_affected_rows($con)<=0) { echo "<script>alert('Unable to register ! \\nPlease Try Again!');"; die("window.history.go(-1);</script>"); } echo "<script>alert('Register Successfully!Please login now!');"; echo "window.location.href='Login.html';</script>"; ?>
Richard Deeming
Не используйте MD5 для паролей - это крайне небезопасно. Вместо этого используйте встроенные методы PHP для хранения и проверки ваших паролей:
PHP: password_hash[^]
РНР: функцию password_verify[^]