Моя система входа в систему md5 хэширует имя пользователя и пароль password_hash. Поэтому я не могу получить строку на основе имени пользователя? Затем мой клиент вводит адрес электронной почты, который я base64encode. Затем я предлагаю вариант с потерянным паролем. Однако, когда я ОБНОВЛЯЮТ поле с использованием одного и того же типа хэша, но, используя поле электронной почты в качестве идентификатора, новый пароль неверен? Ниже приведен пример моего UPDATE, но жесткий код для иллюстрации (PS это тоже не работает?).Password_hash Неправильно после обновления таблицы
$em = '[email protected]';
$em1 = base64_encode($em);
$ps = 'some password';
$password_hash = password_hash($ps, PASSWORD_BCRYPT);
$qu = "UPADTE table SET field = '$password_hash' WHERE email = '$em1'";
$res = mysqli_query($link, $qu);
Edited вопрос, чтобы включить свой код после проверки того, что пользователь существует и отправки по электронной почте, чтобы они положительно идентифицировать себя в качестве владельца счета. Вот последняя страница процессора.
if(EMPTY($_POST[psw1])) {
echo "New password must be supplied"; }
elseif(EMPTY($_POST[psw2])) {
echo "Repeat password must be entered"; }
elseif($_POST[psw1] != $_POST[psw2]) {
echo "Passwords entered do not match";
} elseif(EMPTY($_POST[eu])) {
echo "Essential data is missing in order to complete this process.";
}
elseif (strlen($_POST['psw1']) < 6) {
echo "Password must be at least six characters in length";
}
elseif (preg_replace("/[^a-zA-Z0-9]/", "", $_POST['psw1']) != $_POST['psw1']) {
echo "Password may only contain letters and numbers";
}
elseif(!EMPTY($_POST[psw1]) && !EMPTY($_POST[psw2]) && !EMPTY($_POST[eu]) && $_POST[pw1] == $_POST[pw2]) {
include "conn.php";
echo "$_POST[eu]<br />";
$eu = $_POST[eu];
$pdw = password_hash($_POST[pw1], PASSWORD_BCRYPT);
$sq = mysqli_query($link, "UPDATE str1 SET pf = '$pdw', cu_pw_status = '2' WHERE cu_type = '$eu'");
echo "Your password has been changed, you may now login <a href='login2.php'>Login</a>";
} else {
echo "Произошла ошибка. }
Привет, не таблица не называется str1, столбец или поле называется пф, это было ради эталонным. Пароль обновлен, но неверен? – Szue