<?
require_once('inc/db.php');
$page = log;
require_once(H .'/inc/inc.php');
$HOME = 'http://'.$_SERVER['HTTP_HOST'];
# Заголовок модуля
$title = 'Восстановление пароля';
function gen($var){
return substr(str_shuffle('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $var);
}
# Шапка модуля
require_once(H .'/inc/head.php');
// проверка наличия авторизации
if (isset($user))
{
# Перенаправляем на главную
header('Location: /');
}
//-----Если жмут submit(кнопку)-----//
if(isset($_REQUEST['true']))
{
$login = txt($_POST['login']);//фильтрируем
if(empty($login))
{
echo err('Вы не ввели логин!');
require_once(H .'/inc/foot.php');
exit;
}
if(mb_strlen($login) > 20 or mb_strlen($login) < 3)
{
echo err('Введите логин от 3 до 20 символов!');
require_once(H .'/inc/foot.php'); exit;
}
//-----Проверка на символы-----//
if (!preg_match('|^[a-z0-9\-]+$|i', $login))
{
echo err('Кириллица запрещена в логине!');
require_once(H .'/inc/foot.php');
exit;
}
$email = txt($_POST['email']);
if(empty($email))
{
echo err('Вы не ввели свой e-mail!');
require_once(H .'/inc/foot.php');
exit;
}
//-----Проверяем правильность ввода e-mail-----//
if (!preg_match('/[0-9a-z_\-]+@[0-9a-z_\-^\.]+\.[a-z]{2,6}/i', $email)) {
echo err('Формат e-mail введён не верно!');
require_once(H .'/inc/foot.php');
exit;
}
$sqldb = mysql_fetch_array(mysql_query("SELECT `login`,`email` FROM `users` WHERE `login` = '".$login."' and `email`='".$email."' LIMIT 1"));
if(!empty($login) && !empty($email)) if($sqldb == 0){
echo err('Введенные данные не верны!');
require_once(H .'/inc/foot.php');
exit;
}
$rou = gen(6);
mysql_query("UPDATE `users` SET `password` = ? WHERE (`id`='" . $password['users'] . "')", array (md5($rou)));
echo '<div class="main"><b>На Ваш e-mail '.$email.' Мы отправили письмо с вашими регистрационными данными!</b></div>';
//-----Подключаем низ-----//
require_once(H .'/inc/foot.php');
$title = $_SERVER['HTTP_HOST'];
$msg = 'Здравствуйте '.$login.'!
Вами была произведена операция по восстановлению пароля на сайте '.$HOME.'
Ваши данные для входа в аккаунт:
-------------------------
Логин: '.$login.'
Пароль: '.$rou.'
-------------------------
Пароль сгенерирован автоматически, просим Вас после авторизации сменить его!
Если вы не запрашивали восстановление пароля, просьба проигнорировать и удалить данное сообщение
С Уважением, администрация проекта!
';
$sets = 'admin@'.$_SERVER['HTTP_HOST'];
$adds = "From: <" . $sets . ">\r\n";
$adds .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
mail($email, '=?utf-8?B?'.base64_encode('Восстановление пароля '.$HOME).'?=', $msg, $adds);
session_destroy();
exit();
}
//-----Форма ввода-----//
echo '<div class="menu">
<form action="" method="POST">
*Ваш логин:<br /><input type="text" name="login" maxlength="20" /><br />
*Ваш e-mail:<br /><input type="text" name="email" maxlength="40" /><br />
<input type="submit" name="true" value="Восстановить" />
</form></div>';
require_once(H .'/inc/foot.php');
?>