Loading...
Почему пишет емаил введен не верно? Один раз восстановил пароль теперь емаил не верный.
php
   <?php require_once ('system/func.php'); $title = 'Восстановление ?'; require_once ('system/header.php');  $auth_ip = __DIR__.'/logs_auth/'.$_SERVER['REMOTE_ADDR']; if (file_exists($auth_ip)) {     $auth_time = intval(file_get_contents($auth_ip)); } else {     $auth_time = 0; }  if(isset($_POST['pass'])) {  $login = text($_POST['login']); $mail = text($_POST['mail']); if ($auth_time > time() - 1800 && $_POST['captcha'] != $_SESSION['captcha']) {         file_put_contents($auth_ip, time());         $err = 'Неверный проверочный код!'; } elseif(empty($login)) {     $err = 'Введите логин'; } elseif(!$sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1"))) {     $err = 'Игрок с таким логином не существует';     file_put_contents($auth_ip, time()); } elseif($mail != $sql['email']) {     $err = 'E-mail введён неверно';     file_put_contents($auth_ip, time()); } elseif(!$err) {  $pass = rand(1000000, 9000000); mysql_query("UPDATE `users` SET `password` =  '".(md5($pass.'123abc'))."' WHERE `login` = '".$login."'"); $msg = 'Здравствуйте '.$login.'! Вами  была произведена операция по восстановлению пароля на сайте http://ligepox.ru/ Ваши данные для входа в аккаунт: Логин: '.$login.' Пароль:  '.(($pass.'123abc')).' '; $subject = 'Восстановление пароля'; mail($sql['email'],$subject,$msg,"From: admin@ligepox.ru"); $_SESSION['msg'] = "Письмо отправлено"; header('Location: /recovery/'); exit(); }  $_SESSION['msg'] = $err; header('Location: /recovery/'); exit(); } ?> <div class="block_C">Восстановление пароля</div>  <form class="cont_ent" action="" method="post"> <div class="header">Введите логин<br> <input class="form_text" type="text" name="login" maxlength="20" value="" placeholder="" required/> <br> Введите email<br> <input class="form_text" type="text" name="mail" maxlength="50" value="" placeholder="" required/><br> <?php if ($auth_time > time() - 1800) {?> Проверочный код <img src="/captcha/captcha.php" id="captcha" onclick="document.getElementById('captcha').src ='/captcha/captcha.php?' + Math.random()"><br> <input class="form_text" type="text" name="captcha" maxlength="25" placeholder="" autocomplete="off" required/><br/> <?php }?> <input type="submit" class="btn_grey" name="pass" class="btn_grey" value="Восстановить"></form> </div> <? //echo div('btn_grey').' <a href="r.php"> Начать игру </a> </div>'; echo div('bbtn mb5').' <a href="/"> Вернуться назад </a> </div>';  //require_once ('system/footer.php'); ?>   
У тебя майл проверяется из базы но не фильтруется.
Дело в том что майл уже есть в базе, а тот код его видит и закрывает значение, в итоге чего пишит майл и т.д.
K[oPoJl]b , переменную $sql выше условий поставь
K[oPoJl]b , именно $sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1"))
А куда там вставить надо? Не работает, вроде вставил.
K[oPoJl]b , после $mail = text($_POST['mail']);, а там где была $sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1")), вставь empty($sql)
Лара (22 фев 2024, в 17:14)
K[oPoJl]b , после $mail = text($_POST['mail']);, а там где была $sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1")), вставь empty($sql)
так надо было сделать? Вроде работает а на почту не приходит.
php
   $login = text($_POST['login']); $mail = text($_POST['mail']); if ($auth_time > time() - 1800 && $_POST['captcha'] != $_SESSION['captcha']) {         file_put_contents($auth_ip, time());         $err = 'Неверный проверочный код!'; } elseif(empty($login)) {     $err = 'Введите логин'; } elseif(!$sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1"))) {     $err = 'Игрок с таким логином не существует';     file_put_contents($auth_ip, time()); } elseif(!$sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1"))) {     $err = 'E-mail введён неверно';     file_put_contents($auth_ip, time()); } elseif(!$err) {   $pass = rand(1000000, 9000000); $sql = mysql_query("UPDATE `users` SET `password` =  '".(md5($pass.'123abc'))."' WHERE `login` = '".$login."'"); $msg = 'Здравствуйте '.$login.'! Вами  была произведена операция по восстановлению пароля на сайте http://ligepox.ru/ Ваши данные для входа в аккаунт: Логин: '.$login.' Пароль:  '.(($pass.'123abc')).' '; $subject = 'Восстановление пароля'; mail($sql['email'],$subject,$msg,"From: admin@ligepox.ru"); $_SESSION['msg'] = "Письмо отправлено"; header('Location: /recovery/'); exit(); }   
K[oPoJl]b [!] (22 фев 2024, в 17:38)
так надо было сделать? Вроде работает а на почту не приходит.
php
   $login = text($_POST['login']); $mail = text($_POST['mail']); if ($auth_time > time() - 1800 && $_POST['captcha'] != $_SESSION['captcha']) {         file_put_contents($auth_ip, time());         $err = 'Неверный проверочный код!'; } elseif(empty($login)) {     $err = 'Введите логин'; } elseif(!$sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1"))) {     $err = 'Игрок с таким логином не существует';     file_put_contents($auth_ip, time()); } elseif(!$sql = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `login` = '".$login."' LIMIT 1"))) {     $err = 'E-mail введён неверно';     file_put_contents($auth_ip, time()); } elseif(!$err) {   $pass = rand(1000000, 9000000); $sql = mysql_query("UPDATE `users` SET `password` =  '".(md5($pass.'123abc'))."' WHERE `login` = '".$login."'"); $msg = 'Здравствуйте '.$login.'! Вами  была произведена операция по восстановлению пароля на сайте http://ligepox.ru/ Ваши данные для входа в аккаунт: Логин: '.$login.' Пароль:  '.(($pass.'123abc')).' '; $subject = 'Восстановление пароля'; mail($sql['email'],$subject,$msg,"From: admin@ligepox.ru"); $_SESSION['msg'] = "Письмо отправлено"; header('Location: /recovery/'); exit(); }   
Выводи ошибку на экран и увидишь что PHP говорит и там уже будет понятно для тебя. В слепую ты не увидишь ошибку, что PHP говорит.
Ramzesoff , как вывести?
K[oPoJl]b [!] (22 фев 2024, в 17:43)
Ramzesoff , как вывести?
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
Онлайн: 5
Время:
Gen. 0.1078
(c) Bym.Guru 2010-2026