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);
Онлайн: 3
Время:
Gen. 0.1191
(c) Bym.Guru 2010-2025