Итак…Специально для народа создал целую категорию,в которую буду выкладывать статьи по добавлению поля E-Mail в скрипт SooFast!Сейчас начнё с поля E-Mail для пользователя…В этой статье я расскажу,как добавить поле E-Mail пользователю и сделать автоматическое восстановление пароля ну и плюс сделаем уведомление пользователя на E-Mail при получении нового сообщения по внутренней почте…Итак…Специально для народа создал целую категорию,в которую буду выкладывать статьи по добавлению поля E-Mail в скрипт SooFast!Сейчас начнё с поля E-Mail для пользователя…В этой статье я расскажу,как добавить поле E-Mail пользователю и сделать автоматическое восстановление пароля ну и плюс сделаем уведомление пользователя на E-Mail при получении нового сообщения по внутренней почте…
давайте по пунктам:
1.Сделаем SQL-запрос
2.Создадим файл и назовём его ff.php и вставим в него следующий код:
<?
function email($mensaje)
{
if (preg_match("|[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}|i", $mensaje))
{
return $mensaje;
}else{
echo "<img src="images/error.png" align="middle"> Ошибка. Проверьте правильность ввода";
include('footer.php');
exit();
}
}
?>
Отлично!Самое основное для безопасности сделано!Теперь давайте добавим поле E-Mail при регистрации
Для этого откроем register.php
после
$pemail = $_POST["pemail"];
добавим
include('ff.php');
$email=$_POST["email"];
$email=email($email);
далее строку
if($username==NULL|$password==NULL|$cpassword==NULL|$wmid==NULL|$pemail==NULL)
замените на:
потом после строки:
$checkpemail = mysql_query("SELECT id FROM tb_users WHERE pemail='$pemail' or wmid='$wmid'");
$pemail_exist = mysql_num_rows($checkpemail);
Добавим код:
$email_exist = mysql_num_rows($checkemail);
if ($email_exist>0)
{
echo "<img src="images/error.png" align="middle"> Пользовтаель с таким E-Mail адресом уже есть в системе!";
}else{
заменим строку:
на:
$query = "INSERT INTO tb_users (username, password, ip, pemail, referer, country, joindate, wmid, email, buying) VALUES('$username','$password','$laip','$pemail','$referer','$country','$joindate','$wmid','$email','$buying')";
и ещё чуток ниже после
mysql_query($query) or die(mysql_error());
вставим:
$mysite="адрес сайта";
$siteemail="от кого должно прийти";
$to = $email;
$subject = "Успешная регистрация";
$message = 'Поздравляем,теперь вы зарегистрированы на '.$mysite.'!Используйте введённые Вами данные для входа на сайт:<br>Логин: '.$username.'<br>Пароль: '.$password.'<br>Удачного дня!';
$headers = "Content-type: text/html; charset=windows-1251 rn";
$headers .= 'From: '.$siteemail.'rn';
mail($to, $subject, $message, $headers);
}
(отредактируйте код выше)
и наконец после:
<tr>
<td width="150" align="left">
<label>WMID:</label></p></td>
<td width="250" align="left"><input type="text" size="25" maxlength="12" name="wmid" autocomplete="off" class="field" value="" tabindex="1" /></td>
</tr>
вставим:
<tr>
<td width="150" align="left">
<label>E-Mail:</label></p></td>
<td width="250" align="left"><input type="text" size="25" maxlength="50" name="email" autocomplete="off" class="field" value="" tabindex="1" /></td>
</tr>
УРА!Регистрация сделана!Теперь при реге пользователь вводит E-Mail и получает уведомление об успешной регистрации…
Теперь сделаем восстановление пароля..для этого откроем restorepass.php
замените в файле restorepass.php это:
<?
if(isset($_POST["username"]))
{
$user=uc($_POST["username"]);
require('config.php');
mysql_query("insert into tb_restorepass (username) values ('$user')");
mysql_close($con);
echo "<img src="images/ok.png" align="middle"> Заявка на восстановление пароля принята. После обработки Вашего запроса администрацией, на WMID, указанный в Вашем профиле, Вы получите информацию для доступа к аккаунту.";
}
?>
на:
<?
if(isset($_POST["username"]))
{
$user=uc($_POST["username"]);
$sql=mysql_query("SELECT * FROM tb_users WHERE username='$user'");
$res=mysql_num_rows($sql);
$row=mysql_fetch_array($sql);
$email=$row["email"];
$password=$row["password"];
if($res == 0)
{
echo "<b><center><font color=red>Указанного Вами логина нет в системе</font></center></b>";
include('footer.php');
exit();
}
$mysite="сайт";
$siteemail="от кого придёт";
$to = $email;
$subject = "Восстановление данных";
$message = 'Вы заказали восстановление данных на '.$mysite.'!Ваш пароль: '.$password.'<br>Если тебе пришло это сообщение но пароль так и не пришёл,то это <BIG><BIG><BIG>ПИЗДЕЦ!!!</BIG></BIG></BIG>Удачного дня!';
$headers = "Content-type: text/html; charset=windows-1251 rn";
$headers .= 'From: '.$siteemail.'rn';
mail($to, $subject, $message, $headers);
echo "<img src="images/ok.png" align="middle"> Ваш пароль отправлен на указанный Вами в профиле E-Mail адрес!";
}
?>
(отредактируйте код выше)
И сделаем уведомления о новом сообщении…для этого откроем sendmessage.php
после:
mysql_query("insert into tb_mail (sender,recipient,subject,message,data) values ('$sender','$recipient','$subject','$message','$data')");
вставим:
$sql=mysql_query("SELECT * FROM tb_users WHERE username='$recipient'");
$res=mysql_fetch_array($sql);
$email=$res["email"];
$mysite="ваш сайт";
$siteemail="от кого промылить пользователю";
$to = $email;
$subject = "Новое ЛС";
$message = 'Здравствуйте!Вам прислано новое личное сообщение на сайте '.$mysite.'!<br>Удачного дня!';
$headers = "Content-type: text/html; charset=windows-1251 rn";
$headers .= 'From: '.$siteemail.'rn';
mail($to, $subject, $message, $headers);
(отредактируйте код выше)
ВСЁ!пользуйтесь и ожидайте новых статей в этой категории…я хочу весь скрипт прочесать и везде вставить \»промыливание\»
з.ы:если нужны исправленные файлы — то они в архиве maileruser.zip
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.