Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Отправка Имени и пароля из БД на мэйл.


Автор: anjelo 17.8.2006, 23:56
Ниже привед код, который осуществляет следующее( должен по крайней мере):
Человек вводит в форму свой мэйл и скрипт соединяется с базой, проверяет там наличие такого мэйла (это он уже делает), затем берет из базы имя и пароль (которые соответсуют этому мэйлу) и шлет все эти данные на этот самый мэйл.
Вообщем сейчас он отпраляет только такое письмо:

E-mail:agent1@mail.ru
Name: 
Password:


А должен такое:

E-mail:agent1@mail.ru
Name: Nik
Password:********  ( ну естесственно здесь не *, а реальный пароль)

Подскажите , плиз, в чем трабл?


Код

<?
session_start();
include "affconfig.php";
include "lang/$language";



$errorMsg .= AFF_L_MAIL2.'<br>';

if ($_POST['userid']!='')
{
  // protection against script injection
  $userid = preg_replace('/[^a-zA-Z0-9@._]/', '', $_POST['userid']);



    
  // if the user has just tried to log in
  $db_conn = mysql_connect($server, $db_user, $db_pass) or die ("Database CONNECT Error (line 11)"); 
  mysql_select_db($database, $db_conn);
  $query = "select * from affiliates where email='$userid' ";
  
$result = mysql_query($query, $db_conn);
  $id = mysql_fetch_array($result);
  if (mysql_num_rows($result) > 0)
  {
   

mail("$userid","Play2Java.com password reminder",

"This is an automated email from Play2Java.com password reminder tool.
     
Email:$userid 
Username:$refid
Password:$pass

You can sign into yor account here http://affilate.play2java.com/signin.php

Thank you,
Play2Java.com Support
support@play2java.com

",


"From:Play2Java.com <no-reply@play2java.com>\n".
"Reply-To:no-reply@play2java.com\n"


);



echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=0;URL=index.php>";
exit;





  
} 


else { echo "$errorMsg"; }


$errorMsg .= AFF_SI_EMAILMISSING.'<br>';


}



?>


И собствено сама форма:

Код

<form method=post action="lost.php">
                     <tr><td width="70" style="padding-left:20px" class="text_3">E-mail:</td><td colspan="2" style="padding-bottom:5px"><input  type=text name=userid style="width:100px; height:21px"><input class=link_1 name="submit" type="submit" value="OK" style="width:27px; height:23px"></td></tr>
                        
                        <tr><td colspan="2" height="16"></td></tr>
                        </form>


Автор: Рыжий 18.8.2006, 01:34
anjelo, непонятно откуда ты берешь переменные: $refid и $pass.
В скрипте их вообще не существует.

Если эти данные берутся из БД, то нужно применять $id['pass'] и $id['refid'].

Автор: Vaulter 18.8.2006, 09:11
anjelo, 
Код

mail("$userid"....

лучше я буду молчать!
не! а ху*и молчать! ты когда написал это, подумал че написал?

Автор: PARROT 18.8.2006, 12:51
Код

// проверка на зарегованного пользователя в востановлении пароля
function ppn () {
$rous= mysql_query("SELECT id_r FROM reg WHERE name = ".sec($_POST['name'])." and mail = ".sec($_POST['mail'])." ");
        if(mysql_num_rows($rous) == 0)return true;
                }
//
if(isset($_POST['otp'])) { // Если форма отправлена
       if(ppn($_POST['name'] OR $_POST['mail'])){
      echo $orl="<p>Вы у нас не зарегистрированы!</p>";
      }
      if(!$orl) {
        $res= mysql_query("SELECT id_r FROM reg WHERE name = ".sec($_POST['name'])." and mail = ".sec($_POST['mail'])." ");
        if(mysql_num_rows($res) == 1) {
                $newpass        = newpass(5); // Генерируем 5 значный пароль
                // отправляем мыло.
                $header= 'MIME-Version: 1.0' . "\r\n";
                $header.= 'Content-type:text/html;charset=windows-1251' . "\r\n";
                $header.= 'From: 1538733@traktora.spb.ru' . "\r\n";
                if(!mail($_POST['mail'], 'Восстановление пароля', 'Ваш новый пароль '.$newpass,$header)) {
                        die('Восстановление пароля не удалось.');

                        // Если не отправилось - завершаем сценарий
                }

                $id_a        = mysql_result($res, 0); // Выбираем id_r юзера
                // апдейтим запись юзера - высталвяем новый пароль.
                mysql_query('UPDATE reg SET parol = "'.md5($newpass).'" where id_r = '.$id_a);
                echo "<p>А теперь, проверьте почту!</p>";
        }

}
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)