Я могу зашифровать свой пароль с md5, просто обернув его вокруг -Не можете войти в систему с зашифрованным паролем из базы данных
$Password = md5($_POST['password']);
зашифрованный пароль сохраняется в базе данных успешно, когда пользователь регистрируется. Однако, когда я хочу войти в систему с помощью обычного текстового пароля, он не принимает решения. Как я могу решить эту проблему?
<?php
if(isset($_POST['btnlogin'])) {
$Email = $_POST['email'];
$Password = $_POST['password'];
$Email = mysqli_real_escape_string($connection, $Email);
$Password = mysqli_real_escape_string($connection, $Password);
$query ="SELECT * FROM customers WHERE Email = '{$Email}' AND Password = '{$Password}'";
$select_customer_query = mysqli_query($connection, $query);
if (!$select_customer_query)
die("QUERY FAILED". mysqli_error($connection));
}
while($row = mysqli_fetch_array($select_customer_query)) {
$Email_db = $row['Email'];
$Password_db = $row['Password'];
$Firstname_db = $row['First_Name'];
$Lastname_db = $row['Last_Name'];
$string ="logged in as";
$logoutlink = '/ <a href="includes/back/logout.php">Logout</a>';
}
if ($Email_db == $Email || $Password_db == $Password ) {
header("Location: ../../index.php");
$_SESSION['FirstName'] = $Firstname_db;
$_SESSION['LastName'] = $Lastname_db;
$_SESSION['string'] = $string;
$_SESSION['logoutlink'] = $logoutlink;
}
?>
вы не MD5'ing пароль еще раз, прежде чем передавать его в SQL-запрос для сравнения ... –
и как ma Я делаю это? – steve
Изменить $ Password = mysqli_real_escape_string ($ connection, $ Password); до $ Password = md5 ($ Password); –