Автор Тема: Нужна помощь!  (Прочитано 796 раз)

0 Пользователей и 1 Гость просматривают эту тему.

ТатьянаАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 10 созданных тем
  • Дата регистрации: Нояб. 2016
  • Сообщений: 19
  • Страна: ru
  • Репутация +0/-1
  • Пол: Женский
    • Награды
Нужна помощь!
« : 02 Декабря 2016, 16:26:04 »
Здравствуйте. Как настроить восстановление пароля что бы на Emai приходило письмо. Что нужно править?
$_OPTIMIZATION["title"] = "Восстановление пароля";
$_OPTIMIZATION["description"] = "Восстановление забытого пароля";
$_OPTIMIZATION["keywords"] = "Восстановление забытого пароля";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }

?>







Спойлер


<div class="col-md-8">                        <div class="s-bk-lf">
                           <div class="title">Восстановление пароля</div>
                        </div>
                        <div class="silver-bk">





<?PHP

   if(isset($_POST["email"])){

      if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
      
      unset($_SESSION["captcha"]);
      
      $email = $func->IsMail($_POST["email"]);
      $time = time();
      $tdel = $time + 60*15;
      
         if($email !== false){
            
            $db->Query("DELETE FROM db_recovery WHERE date_del < '$time'");
            $db->Query("SELECT COUNT(*) FROM db_recovery WHERE ip = INET_ATON('".$func->UserIP."') OR email = '$email'");
            if($db->FetchRow() == 0){
            
               $db->Query("SELECT id, user, email, pass FROM db_users_a WHERE email = '$email'");
               if($db->NumRows() == 1){
               $db_q = $db->FetchArray();
               
               # Вносим запись в БД
               $db->Query("INSERT INTO db_recovery (email, ip, date_add, date_del) VALUES ('$email',INET_ATON('".$func->UserIP."'),'$time','$tdel')");
               
               # Отправляем пароль
               $sender = new isender;
               $sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]);
               
               echo "<center><font color = 'green'><b>Данные для входа отправлены на Email</b></font></center>";
               ?>
               </div>
               <div class="clr"></div>   
               <?PHP
               return;
               
               }else echo "<center><font color = 'red'><b>Пользователь с таким Email не зарегистрирован</b></font></center>";
            
            }else echo "<center><font color = 'red'><b>На Ваш Email или IP уже был отправлен пароль за последние 15 минут</b></font></center>";
            
         }else echo "<center><font color = 'red'><b>Email указан неверно</b></font></center>";
      
      }else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";
   
   }

?>

<BR />
<form action="" method="post">
<table width="550" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="left" width="250">Email (На него будет выслан пароль):</td>
    <td align="left" width="250"><input name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? htmlspecialchars($_POST["email"]) : false; ?>"/></td>
  </tr>
 
  <tr>
    <td align="left" width="250" style="padding-top:20px;">
   <a href="#" onclick="ResetCaptcha(this);"><img src="/captcha.php?rnd=<?=rand(1,10000); ?>"  border="0" style="margin:0;"/></a>
   </td>
    <td align="left" width="250" style="padding-top:20px;">Введите символы с картинки<input name="captcha" type="text" size="25" maxlength="50" /></td>
  </tr>
 
  <tr>
    <td colspan="2" align="center"><BR /><input type="submit" value="Восстановить" style="height: 30px;"></td>
  </tr>
</table>
</form>
</div>
<div class="clr"></div>   
[свернуть]
 

khukazov

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Более 250 сообщений Более 10 созданных тем
  • Дата регистрации: Июль 2016
  • Возраст: 36
  • Сообщений: 277
  • Страна: ru
  • Поблагодарили: 9 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:1984-08-17
    • Награды
  • Социальные сети:
    ВКонтакте
Нужна помощь!
« Ответ #1 : 02 Декабря 2016, 17:53:56 »
Здравствуйте. Как настроить восстановление пароля что бы на Emai приходило письмо. Что нужно править?
$_OPTIMIZATION["title"] = "Восстановление пароля";
$_OPTIMIZATION["description"] = "Восстановление забытого пароля";
$_OPTIMIZATION["keywords"] = "Восстановление забытого пароля";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }

?>







Спойлер


<div class="col-md-8">                        <div class="s-bk-lf">
                           <div class="title">Восстановление пароля</div>
                        </div>
                        <div class="silver-bk">





<?PHP

   if(isset($_POST["email"])){

      if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
      
      unset($_SESSION["captcha"]);
      
      $email = $func->IsMail($_POST["email"]);
      $time = time();
      $tdel = $time + 60*15;
      
         if($email !== false){
            
            $db->Query("DELETE FROM db_recovery WHERE date_del < '$time'");
            $db->Query("SELECT COUNT(*) FROM db_recovery WHERE ip = INET_ATON('".$func->UserIP."') OR email = '$email'");
            if($db->FetchRow() == 0){
            
               $db->Query("SELECT id, user, email, pass FROM db_users_a WHERE email = '$email'");
               if($db->NumRows() == 1){
               $db_q = $db->FetchArray();
               
               # Вносим запись в БД
               $db->Query("INSERT INTO db_recovery (email, ip, date_add, date_del) VALUES ('$email',INET_ATON('".$func->UserIP."'),'$time','$tdel')");
               
               # Отправляем пароль
               $sender = new isender;
               $sender -> RecoveryPassword($db_q["email"], $db_q["pass"], $db_q["email"]);
               
               echo "<center><font color = 'green'><b>Данные для входа отправлены на Email</b></font></center>";
               ?>
               </div>
               <div class="clr"></div>   
               <?PHP
               return;
               
               }else echo "<center><font color = 'red'><b>Пользователь с таким Email не зарегистрирован</b></font></center>";
            
            }else echo "<center><font color = 'red'><b>На Ваш Email или IP уже был отправлен пароль за последние 15 минут</b></font></center>";
            
         }else echo "<center><font color = 'red'><b>Email указан неверно</b></font></center>";
      
      }else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";
   
   }

?>

<BR />
<form action="" method="post">
<table width="550" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="left" width="250">Email (На него будет выслан пароль):</td>
    <td align="left" width="250"><input name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? htmlspecialchars($_POST["email"]) : false; ?>"/></td>
  </tr>
 
  <tr>
    <td align="left" width="250" style="padding-top:20px;">
   <a href="#" onclick="ResetCaptcha(this);"><img src="/captcha.php?rnd=<?=rand(1,10000); ?>"  border="0" style="margin:0;"/></a>
   </td>
    <td align="left" width="250" style="padding-top:20px;">Введите символы с картинки<input name="captcha" type="text" size="25" maxlength="50" /></td>
  </tr>
 
  <tr>
    <td colspan="2" align="center"><BR /><input type="submit" value="Восстановить" style="height: 30px;"></td>
  </tr>
</table>
</form>
</div>
<div class="clr"></div>   
[свернуть]
А у Вас хостинг на бесплатном тарифе, если да то по этому может и не работать.
 

AlexGraur

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Более 100 сообщений
  • Дата регистрации: Апр. 2016
  • Расположение: Россия
  • Возраст: 29
  • Сообщений: 138
  • Страна: ru
  • Поблагодарили: 53 раз(а)
  • Репутация +4/-0
  • Пол: Мужской
  • Admin Гномограда-ДТВ
  • Дата рождения:1991-03-11
    • Награды
Нужна помощь!
« Ответ #2 : 02 Декабря 2016, 18:01:32 »
на хостинге должны работать почтовые роботы. Письма должен присылать робот. На некоторых хостингах это отдельная услуга или вообще отключено по умолчанию. Искать причину в коде бессмысленно)
 

romcka8

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по сообщениям Более 500 сообщений Более 10 созданных тем
  • Дата регистрации: Фев. 2016
  • Сообщений: 643
  • Страна: 00
  • Поблагодарили: 22 раз(а)
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Нужна помощь!
« Ответ #3 : 02 Декабря 2016, 21:20:51 »
Кстати , у большинства хотстеров функция mail() выключена , так-как через нее идет неконтролируемый спам. Нужно хостеру писать или через smtp.
 
 

Помощь проекту с прямой оплатой Payeer

Автор shans5Раздел Модули для фруктовых ферм

Ответов: 1
Просмотров: 567
Последний ответ 02 Февраля 2020, 06:08:50
от Geka2018
Помощь по бонусам 5 минут от автокликеров

Автор doktor540Раздел Вопросы по модулям фруктовых ферм

Ответов: 9
Просмотров: 732
Последний ответ 26 Сентября 2017, 11:04:56
от APTEMOH
Помощь по скрипту zend loto

Автор best2015Раздел Вопросы / ответы по разным скриптам

Ответов: 0
Просмотров: 223
Последний ответ 24 Мая 2019, 11:55:03
от best2015
Помощь по запросу в базу данных.

Автор finans13Раздел Вопросы / ответы по разным скриптам

Ответов: 0
Просмотров: 159
Последний ответ 29 Октября 2019, 10:04:43
от finans13
Помощь по настройке сайта.

Автор CmsdNtkРаздел Вопросы по настройке фруктовых ферм

Ответов: 29
Просмотров: 5588
Последний ответ 04 Сентября 2016, 18:40:56
от teodor