Loading...
Прочие движки | Нужна ваша помощь по коду
День добрый. Нужна ваша помощь, есть форма восстановления пароля. При введении логина, пароль юзера сбраисвается и пароль отправляется на мыло. А как сделать что бы введеный мыло и логин были проверены а при совпадении отправлять пароль на мыло. Код:
php
   <?php require_once('../core/start.php'); $title = 'Восстановление пароля'; require_once(root.'core/header.php'); echo '<div class="ot4">'.$title.'</div>'; if(isset($user['id'])){ header('location:/'); die(); } if(isset($_POST['user']) && $_POST['user']!=''){ $array = !is_numeric($_POST['user']) ? secur($_POST['user']) : abs((int)$_POST['user']); $where = !is_numeric($_POST['user']) ? "`user`=?":"`id`=?"; $inf = core::$dbs->queryFetch("SELECT `id`,`user`,`pass`,`mail` FROM `users` WHERE $where LIMIT 1",array($array)); if ($inf['id'] == 0) err('<b>Такого пользователя не существует!</b>'); else { $to = $inf['mail']; $vnick = $inf['user']; $vid = $inf['id']; if($to == '') err('Ошибка, У Вас не было заполнено поле mail в анкете, восстановление не возможно! Обратитесь к администрации для восстановления пароля!'); else { $pass = gen(6); core::$dbs->query("UPDATE `users` SET `pass` = ? WHERE `id` = ?",array(md5($pass),$vid)); $mes = 'Здравствуйте! Был произведен запрос на восстановление пароля на сайте '.$_SERVER['HTTP_HOST'].'<br />Ваш пароль: '.$pass.'<br /> С ув.Администрация ресурса '.$site; $from = 'recovery@'.$site; @mail($to, "Recover Pass", $mes, "From: $from rn" ."Content-Type: text/plain; charset="utf-8" rn" ."X-Mailer: PHP/" . phpversion()); echo '<div class="info">На ваш e-mail указанный при регистрации былo отправленo письмо с новым паролем.</div>'; } } } else { echo '<div class="block"><form action="?" method="post">Bаш ник / id:<br/><input name="user" value=""/><br />Ваш E-mail:<br /><input name="mail" value=""/><br/><br /><input type="submit" value="Восстановить"/></form></div>'; } require_once(root.'core/footer.php'); ?>   

________
посл. ред. 14.11.2019 в 13:03; всего 2 раз(а); by Zabil_parol
del
________
посл. ред. 14.11.2019 в 14:02; всего 1 раз(а); by Везувий
Я так понял там и так идёт проверка в базу 'юзер маил'
Или тебе надо,что бы лог записывался кто и какой пароль восстанавливал!?
567773372 , тоже не понял чего он хочет. Типа чтобы водить логин и емейл и тогда на почту приходит пароль. Но там ведь все так и реализовано
567773372 (14.11.2019 в 14:12)
Я так понял там и так идёт проверка в базу 'юзер маил'

Не знаю, если ввести просто ник пароль автоматически сменяется и отправляется на мыло новый пароль. это же не хорошо. Должно быть какое то проверка например ввёл свой ник и мыло и потом сменилась пароль.
Zabil_parol , что за скрипт?
Zabil_parol ,
php
   if ($inf['id'] == 0 OR $inf['email'] != $_POST['email']) err('<b>Такого пользователя не существует!</b>');   
ну так можешь сделать, это убережет от того что тебя волнует. Если емейл НЕ будет введен или будет введен но НЕ правильно тогда смена пароля не произойдет и на емейл ничего не отправится. ----------- P.S хотя такое восстановления это полная кака. В случае если я знаю емейл одного из пользователей я просто буду постоянно восстанавливать ему пароль чтобы он не смог зайти по старому тем самым быстро убью его интерес находится на сайте.
________
посл. ред. 14.11.2019 в 22:39; всего 8 раз(а); by Везувий
Везувий , просто видать хочет знать кто восстанавливал и что бы пароль подсвечивали,самый простой способ (и древний)думаю,что бы письма просто дублировались на определенный эмайл врезать js с отправкой на эмаил админа при положительном запросе:) И не надо никакие модули писать
Везувий , тоже не понял,для чего эта проверка:/ Если только переделать под секретный майл для восстановления тогда думаю ещё актуально
Онлайн: 2
Время:
Gen. 0.1394
(c) Bym.Guru 2010-2026