ОК. Итак, у меня есть 2 сценария.Один для регистрации пользователей и один для кого-то, чтобы войти.Я новичок в PHP и был здесь раньше, и мне сказали, что я не должен использовать MD5.Итак, вот моя попытка сделать все правильно и попрактиковаться в правильных привычках кодирования с самого начала.
До сих пор я могу получить хэшированный пароль и войти в базу данных, но когда я пытаюсь войти, он говорит мне, что он недействителенпароль.Вот код, который у меня есть.(ПОЖАЛУЙСТА, ПОМНИТЕ, что Я НОВЫЙ, И ДЕЙСТВИТЕЛЬНО У меня ТРУДНОЕ ВРЕМЯ ПОНИМАНИЯ ЭТОГО).
Это логин (я включил только основную часть логина, где у меня возникли проблемы.)
$username = mysqli_real_escape_string($con,$username);
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$password = hash('sha512',$password);
//Checking is user existing in the database or not
$query = "SELECT * FROM `users` WHERE username='$username'
AND password='".$password."'";
$result = mysqli_query($con,$query) or die(mysql_error());
$rows = mysqli_num_rows($result);
$row = mysqli_fetch_array($result);
if($rows==1){
Это регистрация (я включил только основную часть этого)
//Strip & Escape PW
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$sql_u = "SELECT username FROM users WHERE username='$username'";
$sql_e = "SELECT email FROM users WHERE email='$email'";
$res_u = mysqli_query($con, $sql_u);
$res_e = mysqli_query($con, $sql_e);
if (mysqli_num_rows($res_u) > 0) {
$name_error = "Sorry... username already taken";
}
else if(mysqli_num_rows($res_e) > 0){
$email_error = "Sorry... email already taken";
}
else{
$query = "INSERT INTO users (username, email, password)
VALUES ('$username', '$email', '".hash('sha512',$password)."')";
$results = mysqli_query($con, $query);
echo 'You Have Registered Successfully!<br>
Кстати, я уже просматривал эту статью и совершенно растерялся.Так что если вы хотите пометить это как дубликат базы в этой статье, пожалуйста, дайте мне знать, что мне не хватает, так как я совсем не понимаю эту статью.Спасибо.
Проверьте пароль SHA512, если ($ row ['password'] == хэш ('SHA512', $ upass))
(я читал это)