Понедельник, 18 Ноября 2024, 00:48

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите сделать функцию Восстановление пароля
RioluДата: Вторник, 22 Мая 2012, 18:10 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Скрипт есть но сообщение не дождаться dry
Quote

<? include ("db2.php");
include ("config.php");
$db = db($config);
include ("bd.php");
Error_Reporting(E_ALL & ~E_NOTICE);
?>
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
<title>Восстановление пароля</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<br>
<center>
<table border=0 width=95% height=90% cellspacing=0 cellpadding=0>
<tr><td valign=top>
<span class=text><b>Восстановление пароля:</b></span><br><br>

<?

switch($step){
default:

echo"<span class=text><big><b>Шаг #1</b></big><br><br>
<form action=remind.php name=form1 method=post>
<input type=hidden name=step value=2>
* Ник персонажа: <input type=text name=login_p maxlength=15> <input type=submit value='далее >>'>
</form><br><hr>
* - Введите логин зарегистрирвоаного игрока, для которого вы хотите восстановить пароль.

</span>";

break;
case"2":
if(!$login_p){?><script language=JavaScript>window.location='remind.php?error=Незаполнены необходимые поля';</script><?exit();}
$login_p = htmlspecialchars($login_p);
$result = mysql_query("select login from users where login='$login_p'");
$num = mysql_num_rows($result);

if($num==0){?><script language=JavaScript>window.location='remind.php?error=персонаж <?echo $login_p;?> несуществует!';</script><?exit();}
else
{
echo"<span class=text><big><b>Шаг #2</b></big><br><br>
<form action=remind.php name=form1 method=post>
<input type=hidden name=step value=3>
<input type=hidden name=login_p value='".$login_p."'>
* E-mail: <input type=text name=email_p> <input type=submit value='далее >>'>
</form><br><hr>
* - Введите установленый при регистрации e-mail игрока.
</span>";
}
break;

case"3":

if(!$login_p or !$email_p){?><script language=JavaScript>window.location='remind.php?step=2&error=Незаполнены необходимые поля';</script><?exit();}
$login_p = htmlspecialchars($login_p);
$email_p = htmlspecialchars($email_p);

$result = mysql_query("select login from users where login='$login_p' and email='$email_p'");
$num = mysql_num_rows($result);

if($num==0){?><script language=JavaScript>window.location='remind.php?step=2&login_p=<?echo $login_p;?>&error=Введённый e-mail несоответствует записаному в БД!';</script><?exit();}
else
{
$azb_l = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
$azb_b = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
$new_pass = $azb_l[rand(0,25)].$azb_l[rand(0,25)].rand(0,20).$azb_b[rand(0,25)].$azb_b[rand(0,25)].rand(0,9);
mysql_query("update users set pass='$new_pass' where login='$login_p'");
$send_to = $email_p;
$subject = "Poke-x смена паролья";
$mailcontent = "ВНИМАНИЕ!
Кто-то ".date("d.m.Y")." сменил пароль на доступ к вашему персонажу \"$login_p\"! в игре Poke-x

Новый пароль: $new_pass

Незабывайте про нас, мы работаем для Вас (http://poke-x.ru/)

------------------------------
С Ув. Администрация Poke-x
email: Riolu@poke-x.ru

";
$headers = "From: Riolu@poke-x.ru";
mail($send_to, $subject, $mailcontent, $headers);

echo"<span class=text><b>Новый пароль был успешно выслан на указаный e-mail.</b></span>";
}
break;
}
if($error) echo "<br><br><span class=text style='color:red;font-weight:bold'><b>Ошибка:</b></span><span class=text> <u>".$error."</u></span>";
?>
</td></tr>
</table>
</bodY>
</html>


Рoke-x (ММОRPG про покемонов)

NosorogДата: Среда, 23 Мая 2012, 11:49 | Сообщение # 2
участник
Сейчас нет на сайте
А откуда берутся переменные $step, $login_p, $email_p? Я вижу, что передаются параметры из формы, но не вижу что-бы скрипт их принимал!

Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
AssasinДата: Среда, 23 Мая 2012, 11:55 | Сообщение # 3
web-coder
Сейчас нет на сайте
Может там register_globals=ON
NosorogДата: Среда, 23 Мая 2012, 17:23 | Сообщение # 4
участник
Сейчас нет на сайте
Quote (Assasin)
Может там register_globals=ON
, что-то я не подумал об этом...
У меня на denwer'e все доставляется angry

Добавлено (23.05.2012, 17:23)
---------------------------------------------
Попробуй так

Quote
mail($send_to, $subject, $mailcontent, $headers, sendmail);


Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
RioluДата: Пятница, 25 Мая 2012, 23:19 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Quote (Nosorog)
У меня на denwer'e все доставляется

Можешь переделанный кинут у меня ничего не работает sad


Рoke-x (ММОRPG про покемонов)

NosorogДата: Суббота, 26 Мая 2012, 03:27 | Сообщение # 6
участник
Сейчас нет на сайте
Я ничего не переделывал, просто скопипастил и проверил - письмо отправилось и доставилось.
А ты случайно, не на денвере тестируешь? А то там стоит заглушка на sendmail, а сообщения хранятся в папке \tmp\!sendmail


Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
RioluДата: Суббота, 26 Мая 2012, 22:46 | Сообщение # 7
почетный гость
Сейчас нет на сайте
Quote (Nosorog)
Я ничего не переделывал, просто скопипастил и проверил - письмо отправилось и доставилось.
А ты случайно, не на денвере тестируешь? А то там стоит заглушка на sendmail, а сообщения хранятся в папке \tmp\!sendmail

я проверял на денвере только сообщения не приходило, я поставил на своем сайта она на 2-й Шаг не переходило


Рoke-x (ММОRPG про покемонов)

NosorogДата: Воскресенье, 27 Мая 2012, 00:46 | Сообщение # 8
участник
Сейчас нет на сайте
Quote (Riolu)
я поставил на своем сайта она на 2-й Шаг не переходило

Значит на хостинге register_globals=Off
Code
<? include ("db2.php");  
include ("config.php");  
$db = db($config);  
include ("bd.php");  
Error_Reporting(E_ALL & ~E_NOTICE);  
?>  
<html>  
<head>  
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">  
<title>Восстановление пароля</title>  
<link rel="stylesheet" href="style.css">  
</head>  
<body>  
<br>  
<center>  
<table border=0 width=95% height=90% cellspacing=0 cellpadding=0>  
<tr><td valign=top>  
<span class=text><b>Восстановление пароля:</b></span><br><br>  

<?  
$step = $_POST['step'];
$error = $_GET['error'];
switch($step){  
default:  

echo"<span class=text><big><b>Шаг #1</b></big><br><br>  
<form action=remind.php name=form1 method=post>  
<input type=hidden name=step value=2>  
* Ник персонажа: <input type=text name=login_p maxlength=15> <input type=submit value='далее >>'>  
</form><br><hr>  
* - Введите логин зарегистрирвоаного игрока, для которого вы хотите восстановить пароль.  

</span>";  

break;  
case"2":  
$login_p = $_POST['login_p'];
if(!$login_p){?><script language=JavaScript>window.location='remind.php?error=Незаполнены необходимые поля';</script><?exit();}  
$login_p = htmlspecialchars($login_p);  
$result = mysql_query("select login from users where login='$login_p'");  
$num = mysql_num_rows($result);  

if($num==0){?><script language=JavaScript>window.location='remind.php?error=персонаж <?echo $login_p;?> несуществует!';</script><?exit();}  
else  
{  
echo"<span class=text><big><b>Шаг #2</b></big><br><br>  
<form action=remind.php name=form1 method=post>  
<input type=hidden name=step value=3>  
<input type=hidden name=login_p value='".$login_p."'>  
* E-mail: <input type=text name=email_p> <input type=submit value='далее >>'>  
</form><br><hr>  
* - Введите установленый при регистрации e-mail игрока.  
</span>";  
}  
break;  

case"3":  
$login_p = $_POST['login_p'];  
$email_p = $_POST['email_p'];  
if(!$login_p or !$email_p){?><script language=JavaScript>window.location='remind.php?step=2&error=Незаполнены необходимые поля';</script><?exit();}  
$login_p = htmlspecialchars($login_p);  
$email_p = htmlspecialchars($email_p);  

$result = mysql_query("select login from users where login='$login_p' and email='$email_p'");  
$num = mysql_num_rows($result);  

if($num==0){?><script language=JavaScript>window.location='remind.php?step=2&login_p=<?echo $login_p;?>&error=Введённый e-mail несоответствует записаному в БД!';</script><?exit();}  
else  
{  
$azb_l = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');  
$azb_b = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');  
$new_pass = $azb_l[rand(0,25)].$azb_l[rand(0,25)].rand(0,20).$azb_b[rand(0,25)].$azb_b[rand(0,25)].rand(0,9);  
mysql_query("update users set pass='$new_pass' where login='$login_p'");  
$send_to = $email_p;  
$subject = "Poke-x смена паролья";  
$mailcontent = "ВНИМАНИЕ!  
Кто-то ".date("d.m.Y")." сменил пароль на доступ к вашему персонажу \"$login_p\"! в игре Poke-x  

Новый пароль: $new_pass  

Незабывайте про нас, мы работаем для Вас (http://poke-x.ru/)  

------------------------------  
С Ув. Администрация Poke-x  
email: Riolu@poke-x.ru  

";  
$headers = "From: Riolu@poke-x.ru";  
mail($send_to, $subject, $mailcontent, $headers);  

echo"<span class=text><b>Новый пароль был успешно выслан на указаный e-mail.</b></span>";  
}  
break;  
}  
if($error) echo "<br><br><span class=text style='color:red;font-weight:bold'><b>Ошибка:</b></span><span class=text> <u>".$error."</u></span>";  
?>  
</td></tr>  
</table>  
</bodY>  
</html>

Должно работать.

Добавлено (27.05.2012, 00:46)
---------------------------------------------
И всё-таки проверь на денвере папку sendmail


Классическая ошибка, которую совершают проектировщики абсолютно надёжных систем, - недооценка изобретательности клинических идиотов.
AssasinДата: Воскресенье, 27 Мая 2012, 00:56 | Сообщение # 9
web-coder
Сейчас нет на сайте
Либо проверь тут sendmail
RioluДата: Понедельник, 28 Мая 2012, 20:55 | Сообщение # 10
почетный гость
Сейчас нет на сайте
Все всем спасибо за помощь

Рoke-x (ММОRPG про покемонов)

  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг