# Проверка наличия в базе данных пользователя с таким логином и почтовым ящиком
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '". input($login)."' AND `email` = '". input($email)."'"),0)==0) $err .='Неверная связка логина и E-Mail или отсутствует привязка E-Mail к аккаунту<br />';
if(!isset($err)){
# Проверка ключа
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `lost_password` WHERE `login` = '". input($login)."' AND `email` = '". input($email)."' AND `key` = '". input($key)."'"),0)==0) $err .='Неверный ключ<br />';
}
if(!isset($err)){
# Пароль
$change_password= txt($_POST['change_password']);
# Проверка ввода пароля
if(empty($change_password)) $err .='Не введен новый пароль<br />';
# Проверка длины пароля
if(!empty($change_password)&&(strlen($change_password)<5|| strlen($change_password)>64)) $err .='Неверная длина нового пароля. Допустимо от 5 до 64 символов<br />';
if(!isset($err)){
# Кодируем пароль
$change_password = encrypt($change_password);
# Сохраняем данные
mysql_query("UPDATE `users` SET `password` = '". input($change_password)."' WHERE `login` = '". input($login)."' AND `email` = '". input($email)."' LIMIT 1");
# Удаление всех ключей
mysql_query("DELETE FROM `lost_password` WHERE `login` = '". input($login)."' AND `email` = '". input($email)."'");
# Проверка наличия в базе данных пользователя с таким логином и почтовым ящиком
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '". input($login)."' AND `email` = '". input($email)."'"),0)==0) $err .='Неверная связка логина и E-Mail или отсутствует привязка E-Mail к аккаунту<br />';
if(!isset($err)){
# Проверка ключа
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `lost_password` WHERE `login` = '". input($login)."' AND `email` = '". input($email)."' AND `key` = '". input($key)."'"),0)==0) $err .='Неверный ключ<br />';
if(!empty($lost_login)&&(strlen($lost_login)<3|| strlen($lost_login)>32)) $err .='Неверная длина логина. Допустимо от 3 до 32 символов<br />';
# Проверка наличия пользователя с таким логином
if(mysql_num_rows(mysql_query("SELECT * FROM `users` WHERE `login` = '". input($lost_login)."'"))==0) $err .='Пользователь с таким логином не существует<br />';
# Проверка наличия в базе данных пользователя с таким логином и почтовым ящиком
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `users` WHERE `login` = '". input($lost_login)."' AND `email` = '". input($lost_email)."'"),0)==0) $err .='Неверная связка логина и E-Mail или отсутствует привязка E-Mail к аккаунту<br />';
}
}
if(!isset($err)){
# Уникальный ключ
$key = md5(base64_encode($lost_login). time());
# Проверка наличия ключа восстановления
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `lost_password` WHERE `login` = '". input($lost_login)."' AND `email` = '". input($lost_email)."'"),0)!=0){
# Удаление всех ключей
mysql_query("DELETE FROM `lost_password` WHERE `login` = '". input($lost_login)."' AND `email` = '". input($lost_email)."'");
}
# Запись ключа
mysql_query("INSERT INTO `lost_password` SET `login` = '". input($lost_login)."', `email` = '". input($lost_email)."', `key` = '". input($key)."', `time` = '". time()."'");
# Отправка ключа на почтовый ящик
mail($lost_email,'=?utf-8?B?'.base64_encode('Восстановление пароля на Promob').'?=','Здравствуйте, '. input($lost_login).'!<br /><br />Для восстановления пароля на promob.net перейдите по этой ссылке:<br /><a href="http://promob.net/user/lost_password.php?login='. input($lost_login).'&email='. input($lost_email).'&key='. input($key).'">http://promob.net/user/lost_password.php?login='. input($lost_login).'&email='. input($lost_email).'&key='. input($key).'</a><br /><br />С уважением,<br />Команда Promob<br /><br /><small>Сообщение было отправленно автоматически, отвечать на него не нужно.</small>',"From: \"robot@promob.net\" <robot@promob.net>\nContent-Type: text/html; charset=utf-8\n");
Ключ для восстановления пароля выслан на Ваш E-Mail. Дальнейшие инструкции Вы найдете в письме. В случае возникновения проблем с восстановлением пароля просьба обращаться на <a href="mailto:platonov-kd@ya.ru">platonov-kd@ya.ru</a>.