Я создаю функцию для редактирования пароля пользователя здесь код функции.
function updateUser ()
{
$current = md5($_POST['cpassword']);
$new = md5($_POST['npassword']);
$newc = md5($_POST['npasswordc']);
$name = $_POST['username'];
connectDB();
$check = mysql_query("SELECT password FROM user WHERE user_name = '$name'")
or die(mysql_error());
if ($check != $current) {
?> <div id="error">
<?php die('Current password is wrong. Press back to try again.'); ?>
</div> <?php
}
if ($new == $newc) :
$sql = "UPDATE user SET password = '$new' WHERE user_name = '$name'";
execute($sql);
?> <div id="error">
<?php die('Password Successfully Updated. Back to <a href="/dashboard">dashboard</a>');
?> </div> <?php
else : ?> <div id="error">
<?php die('New Password did not match. Press back to try again');
?> </div> <?php
endif;
}
значение будет передано в форме на другой странице, все, кажется, работает нормально. Когда я пытаюсь сменить пароль, он говорит, что успешно, и когда я проверяю в базе данных, значение md5 меняется, что означает, что пароль был изменен.
Но когда я пытаюсь изменить пароль с тем же именем пользователя, мне все равно нужно ввести старый пароль для текущего пароля, даже если в базе данных он уже изменился?
В чем проблема?
Спасибо