@ProgerFromGod

Не работает «Восстановление пароля». Где ошибка?

Никак не могу понять почему не работает функция - Восстановление пароля. Результат выдает - "Пользователь с таким e-mail адресом не найден", хотя в БД его Email есть.

То ли я устал, то ли не хватает знаний, но не могу найти ошибку.
Помогите пожалуйста.

Ссылка - восстановить пароль
//////////////////////////////////////////////////////////////////////////////////////

<form action="registration/action/login.php" method="post">
Логин:<br/>
<input type="text" class="form-control"  placeholder="Логин" name = "login" required="required"/>
	<br/>
Пароль:<br/>
<input type="password" placeholder="Пароль" name = "password" required="required"/>
	<br/>
	<br/>
<input type="submit"  name="submit" value="Вход" />
</form>
	<br />
<a href="Index.php?id=return_pas">Восстановить пароль</a>
	<br />



Обработчик - return_pas.php
/////////////////////////////////////////////////////////////////////////////////////

<?php
include "../../config.php";

if (isset($_POST['submit'])) {

	$email = clearData($_POST['email']); //проводим через фильтр форму эмаил

	if (empty($email)) {
	
	$_SESSION['msg_ret_pas'] = "Укажите e-mail адрес"; // если пришла пустая строка
	header("Location:../../index.php");	
		}

		if (!empty($email)) {

			$sql = mysql_query("SELECT id FROM users WHERE email = ('$email') AND activation = 1") or die ("Mistake Check_Email"); // Проверяем зарегистрирован ли такой пользователь

			if (mysql_num_rows($sql) == 1) {
			
			$simv = array ("92", "83", "7", "66", "45", "4", "37", "22", "1", "0","k", "l", "m", "n", "o", "p", "q", "1r", "3s", "a", "b", "c", "d", "5e", "f", "g", "h", "i", "j6", "t", "u", "v9", "w", "x6", "6y", "z5"); 
			for ($k = 0; $k < 8; $k++) {
				shuffle ($simv); // функция в случайном порядке формирует новый пароль
				$string = $string.$simv[1]; // тут генерирование нового пароля для входа
				$string2 = md5($string); //а тут нужно провести через md5, так как когда заходят на сайт пароль проходить через md5 и сравнивается с тем что в базе
			}

			$sql2 = mysql_query("UPDATE users SET password = ('$string2') WHERE email = ('$email')") or die ("Mistake Update_Password"); // меняем пароль на новый

			
			// Отправляем на почту новый пароль

			$sql3 = mysql_query("SELECT login FROM users WHERE email = ('$email')") or die ("Mistake Select_Email");
				$r = mysql_fetch_assoc($sql3) or die ("Mistake fetch_assoc");
				$log = $r ['login']; // Не понимаю зачем тут другие делают ассоциативный массив??


				$subject = "Восстановление пароля";
				$message = "Спасибо что воспользовались возможностью восстановления пароля на Bobobo.com \n
				Ваш Логин: ".$log." \n
				Ваш новый пароль: ".$string."\n 
				С Уважением Bobobo.com";

				mail ($email, $subject, $message);
				$_SESSION['msg_ret_pas'] = "На ваш почтовый ящик было отправлено письмо с новым паролем";
}

					else {
						if (mysql_num_rows($sql) == 0) {

						$_SESSION['msg_ret_pas'] = "Пользователь с таким e-mail адресом не найден";
						header("Location:../../index.php");
						}
					}
}
}
?>
  • Вопрос задан
  • 334 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы