Zдешний, сделал как сказал! Короче странно как то у меня проверяется! Я хз я только что в сервисе захешировал! я ввел тот пасс который только что захешировал и выбило оять эту ошибку!
KupuJl_ProfiWM, еще может быть одно - может поле pass пустое вообще передается? Или вообще не передается? Проверь посмотри, тоже бывает из-за невнимательности
Zдешний, проверил все норма! Хз просто как то оно хеширует ! Что не совпадает норм хешу!
Зачем в сервисе? Выведи у себя где нибудь на страничке echo md5('123');exit; и скопируй получившийся хэш. Фиг знает, что там за сервис
Скинь код формы и участок кода, где проверки идут
Zдешний,
if(isset($_POST['pass'])){
$pass = mysql_real_escape_string(strip_tags(stripslashes(htmlspecialchars($_POST['pass']))));
$passnew = mysql_real_escape_string(strip_tags(stripslashes(htmlspecialchars($_POST['passnew']))));
$passnew2 = mysql_real_escape_string(strip_tags(stripslashes(htmlspecialchars($_POST['passnew2']))));
$pass2 = md5(trim($_POST['pass']));
if(empty($pass))$err='<font color="red">Поле Старый пароль пустое</font>';
if(empty($passnew))$err='<font color="red">Поле Новый Пароль пустое</font>';
if(empty($passnew2))$err='<font color="red">Поле Новый Пароль (еще раз) пустое</font>';
if(strlen($passnew) < 8 or strlen($passnew) > 32){ $err= 'Длина Нового Пароля должна быть в пределах 8 - 32 символов';}
if(strlen($passnew2) < 8 or strlen($passnew2) > 32){ $err= 'Длина Нового Пароля (еще раз) должна быть в пределах 8 - 32 символов';}
if ($passnew != $passnew2){$err= 'Новые пароли не совпадают!';}
if ($pass2 != $us['pass']){$err= 'Старый пароль не верный!';}
if(!$err){
mysql_query('UPDATE `users` SET `pass` = "'.md5($passnew).'" WHERE `id` = "'.$us['id'].'"')or die(mysql_error());
echo 'Успешно!';
}
if($err){echo $err;}
}
KupuJl_ProfiWM, код - какашка. Зачем применять mysql_real_escape_string и прочую белиберду? Сначала на поле новый пароль и повтор нового пароля trim и htmlspecialchars - этого достаточно, проверим у первого нового пароля длину, используя не strlen, а mb_strlen. Затем делаем хэши нового пароля и его повтора, и сравниваем - не одинаковы? Выводим ошибку. Если хэшируешь, то к хэшу зачем применять mysql_real_escape_string?
Zдешний, ты можешь сказать в чем проблема ? почему не хеширует ???
И вот это $pass = mysql_real_escape_string(strip_tags(stripslashes(htmlspecialchars($_POST['pass'])))); убери. Ты определил ниже $pass2, а то тебе уже не нужно
Zдешний, нее это что я написал отдельно нужно !