Вход Регистрация
Файл: lost_pass.php
Строк: 63
<? // автор -=ШАХТЕР=-  http://waphp.ru
require'includes.php';
$align='left';
$title='Восстановление пароля';
head();

if (empty(
$act)){


if (
$ver!='wml')echo '<form action="?act=act&amp;'.SID.'" method="post">';
echo 
'Ваш ник или id:<br /><input name="nick" title="Ваш ник или id"/><br/>';
echo 
'Email:<br /><input name="email" title="email"/><br/>';


echo 
'<img src="code.php?r='.rand(10009999).'" alt="Проверочный код"/><br />';
echo 
'Код с картинки:<br/>
<input type="text" name="code" size="4" maxlength="4" title="code"/><br/><br />'
;
if (
$ver=='wml'){
echo 
'<br /><anchor title="go">Выслать пароль<go href="?act=add&amp;'.SID.'" method="post"><br />';
echo 
'<postfield name="nick" value="$nick'.$ref.'"/>
<postfield name="email" value="$email'
.$ref.'"/>
<postfield name="code" value="$code'
.$ref.'"/>
</go></anchor><br /><br />'
;
}else{
echo 
'<input type="submit" class="ibutton" value="Выслать пароль"/></form><br />';
}


}else if (
$act=='act'){
$nick check($_POST['nick']);
$email check($_POST['email']);

if (!
user($nick))$err 'Такого пользователя не существует!';
$email0=user_inf($nick,'email');
if (
$email0=='')$err 'У вас не указан email!';
else if (
$email0!=$email)$err 'email введен неверно!';

if(
$_SESSION['code'] != $_POST['code'])$err 'Проверочный код введен неверно!';

if (
user_inf($nick,'rest_time') > $time 86400)$err 'Пароль можно восстанавливать не чаще 1 раза в сутки';


if (empty(
$err)){


// Высылаем инструкции на E-mail
$msgemail "Здравствуйте, " user_inf($nick,'user') . "rnВы начали процедуру восстановлению пароля в чате http://".$set['dom']."rnДля того чтобы восстановить пароль, вам необходимо перейти по ссылке: nn http://".$set['dom']."/lost_pass.php?act=set&id=".user_inf($nick)."&code=".session_id()."nnСсылка действительна в течение 1 часаrnЕсли это письмо попало к вам по ошибке или вы не собираетесь восстанавливать пароль, то просто проигнорируйте его.";

addmail($email0'Восстановление пароля'$msgemail);


//echo 'Новый пароль выслан вам на Email: '.$email0.'!';

query("UPDATE `users` SET `rest_code` = '" session_id() . "', `rest_time` = '$time' WHERE `id` = '" user_inf($nick) . "'");
echo 
'Инструкции по восстановлению пароля высланы на E-mail: '.$email0.'';

}else echo 
$err;


}else if (
$act=='set'){
$code = isset($_GET['code']) ? check($_GET['code']) : '';
$nick = isset($_GET['id']) ? check(intval($_GET['id'])) : '';

if (!
user($nick))$err 'Такого пользователя не существует!';
$email0=user_inf($nick,'email');

if (
$code != user_inf($nick,'rest_code')) $err 'Восстановление пароля невозможно';

if (
user_inf($nick,'rest_time') < $time 3600){$err 'Время, отведенное на восстановления пароля прошло';
query("UPDATE `users` SET `rest_code` = '', `rest_time` = '' WHERE `id` = '$id'");
}



if (empty(
$err)){

$newpass passgen(6);
$mail "Здравствуйте, " user_inf($nick,'user') . "rnВы изменили пароль в чате http://".$set['dom']."rn";
$mail .= "Ваш новый пароль: $newpass rn";
$mail .= "После входа на сайт, Вы сможете сменить пароль на другой, какой пожелаете.";

if (
addmail($email0"Ваш новый пароль"$mail))
{
query("UPDATE `users` SET `rest_code` = '', `pass` = '" md5(md5($newpass)) . "' WHERE `id` = '$id'");

echo 
'Пароль успешно изменен.<br />Новый пароль выслан на ваш адрес E-mail<br />';
} else {
echo 
'Ошибка отправки E-mail<br />';
}


}else echo 
$err;


}

echo 
gb.'<a href="index">На главную</a>'.div;foot();  // автор -=ШАХТЕР=-  http://waphp.ru
?>
Онлайн: 1
Реклама