View file recover.php

File size: 2.42Kb
<?php 
// by mides, 1da.su

$title = 'Восстановления пароля';
require_once 'system/sys.php';
require_once 'system/header.php';

if ($u['id']) header('location: ./');

switch ($_GET['act'] ){
	default:	
		tp('Восстановления пароля');
		echo '<form action="?act=do" method="post" name="form">
		Введите свой логин:<br /><input name="login" type="text" maxlength="12" size="12" /><br />
		Введите свой e-mail:<br /><input name="email" type="text" maxlength="50" size="12" /><br />
		Проверочный код:<br />
		<img src="inc/code.php" alt="" /><br />
		<input name="code" maxlength="5" size="12" /><br />
		<input name="submit" type="submit" value="Продолжить" /></form>
		</div>';
		nav('login.php');
	break;

	case 'do':
		if (empty($_POST['login']) or empty($_POST['email']) or empty($_POST['code'])) {
			error('Вы не заполнили поля.');
			nav('?');
			break;
		}
		
		$code = intval($_POST['code']);
		if ($_SESSION['checkcode'] != $code or empty($code)) {
			error('Вы ввели неверный проверочный код.');
			nav('?');
			break;
		}
		
		$login = check($_POST['login']);
		$email = check($_POST['email']);
		$new_pass = generate(8);
		
		$isset_u = mysql_result(mysql_query("SELECT COUNT(`id`) FROM `users` WHERE `login` = '$login' and `email` = '$email'"), 0);
		if ($isset_u == 0) {
			error('Введенные данные неверны.');
			nav('?');
			break;
		}

		mysql_query("UPDATE `users` SET `pass` = '".md5(md5($new_pass))."' WHERE `login` = '$login'");

		// sending e-mail
		$email_a = 'robot@'.$config['copy'];
		$message = 'Уважаемый пользователь!
		Вы запросили смену пароля на сайте '.$config['copy'].'.
		Ваш новый пароль: '.$new_pass.'
		Автологин: http://'.$config['copy'].'/a.php?l='.$login.'&p='.$new_pass.'
		---
		С уважением, администрация '.$config['copy'];
		
		mail($email, '=?utf-8?B?'.base64_encode('Смена пароля на '.$config['copy']).'?=', $message, "From: $email_a\r\nContent-type: text/plain; charset=utf-8;\r\nX-Mailer: PHP;");
		
		info('Новый пароль был сгенерирован и выслан на Ваш e-mail.');
		nav('login.php');
		session_destroy();

break;

}

require_once ('system/tail.php');
?>