За последние 24 часа нас посетили 17475 программистов и 1714 роботов. Сейчас ищут 1667 программистов ...

Проблема с созданием - восстановления пароля

Тема в разделе "PHP для новичков", создана пользователем Terminator004, 24 янв 2017.

  1. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Начал делать форму восстановленияпароля. Ну я как бы в php новичок и мало понимаю. Ну крч проблема такая. Я написал весь php код и когда загружаю сайт, мне пишет " No database selected ". Хотя я указал где моя база командой -
    PHP:
    1. require "db.php";
    Могу еще и скрин дать:
    [​IMG]

    Так вот, не знаю почему так, скорее всего что-то не так в коде. Вот мой код :

    reminder.php ( тут форма и php скрипты восстановления пароля )
    PHP:
    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    2. "http://www.w3.org/TR/html4/loose.dtd">
    3. <head>
    4. <title>Восстановление пароля</title>
    5. <meta http-equiv="content-type" content="text/html; charset=utf-8">
    6. <link rel="shortcut icon" href="images/siteico0.ico" type="image/x-icon" />
    7.  
    8. <style type="text/css" media="all">
    9. * { margin: 0; padding: 0; }
    10. body {background: #fAfAfA; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px;}
    11. img {border:none;}
    12. #conteiner {width: 400px; margin: 7em auto;}
    13. #conteiner .loform {
    14.     padding: 16px 16px 16px 16px;
    15.     font-weight: normal;
    16.     -moz-border-radius: 11px;
    17.     -khtml-border-radius: 11px;
    18.     -webkit-border-radius: 11px;
    19.     border-radius: 5px;
    20.     background: #fff;
    21.     border: 1px solid #e5e5e5;
    22.     -moz-box-shadow: rgba(200,200,200,1) 0 4px 18px;
    23.     -webkit-box-shadow: rgba(200,200,200,1) 0 4px 18px;
    24.     -khtml-box-shadow: rgba(200,200,200,1) 0 4px 18px;
    25.     box-shadow: rgba(200,200,200,1) 0 4px 18px;
    26. }
    27. #conteiner .mess {
    28.     margin-bottom: 10px;
    29.     padding: 10px;
    30.     font-weight: normal;
    31.     -moz-border-radius: 5px;
    32.     -khtml-border-radius: 5px;
    33.     -webkit-border-radius: 5px;
    34.     border-radius: 5px;
    35.     border: 1px solid;
    36.     -moz-box-shadow: rgba(200,200,200,1) 0 4px 18px;
    37.     -webkit-box-shadow: rgba(200,200,200,1) 0 4px 18px;
    38.     -khtml-box-shadow: rgba(200,200,200,1) 0 4px 18px;
    39.     box-shadow: rgba(200,200,200,1) 0 4px 18px;
    40.     color:#000;
    41.     font-family:Verdana, Arial, Helvetica, sans-serif;
    42.     font-size:11px;
    43. }
    44.  
    45.  
    46. #conteiner .loform p {color:#808080; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; margin:5px;}
    47. #conteiner .loform input {background:#fafafa; border:1px solid #cccccc; color:#666666; padding:4px; width:98%; font-size:25px; margin-bottom:20px;}
    48. #conteiner .loform input.submit {margin-top:-16px; width:74px; height:64px; border: 1 px; text-align:right; vertical-align:top;}
    49. #conteiner .loform a {color: #bcbcbc; text-decoration: none;}
    50. #conteiner .loform a:hover {color:#d7722f;}
    51.  
    52. #conteiner .logo {text-align:center; padding-bottom:20px;}
    53. </style>
    54. </head>
    55. <body>
    56. <div id="conteiner">
    57.     <div class="logo">
    58.       <p><strong>Восстановление пароля</strong></p>
    59.     </div>
    60.  
    61. <div class="loform">
    62.             <form name="form1" method="post" action="reminder.php">
    63.             <p>Логин <input ype="text" name="username" size="40" /></p>
    64.             <p>
    65.  
    66.                 <input type="submit" value="востановить" size="40" name="go">
    67.  
    68.             </p>
    69.         </form>
    70.        
    71.     </div>
    72. </div>
    73. </body>
    74. </html>
    75.  
    76.  
    77. <?php  
    78.  
    79. //подключаем базу
    80.  
    81. require "db.php";
    82.  
    83. $login = mysql_real_escape_string($_POST['login']);
    84. $password = mysql_real_escape_string($_POST['password']);
    85. $email = mysql_real_escape_string($_POST['email']);
    86.  
    87. // проверяем, если юзер в таблице с таким же логином
    88.     $query = "SELECT `id`
    89.                FROM `users`
    90.                WHERE `login`='{$login}'
    91.                LIMIT 1";
    92.     $sql = mysql_query($query) or die(mysql_error());
    93.     if (mysql_num_rows($sql)==1)
    94.     {
    95. //если есть
    96. //генерируем пароль      
    97. $simvols = array ("0","1","2","3","4","5","6","7","8","9",
    98.                         "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",
    99.                         "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");
    100.       for ($key = 0; $key < 6; $key++)
    101.         {
    102.           shuffle ($simvols);
    103.           $string = $string.$simvols[1];
    104.  
    105.         }
    106.  
    107. //перегоняем в md5 хэш
    108. $pass = md5(md5($string));
    109.  
    110. //переписываем пороль в базе уже хэшированый
    111.  
    112. $query = "UPDATE `users`
    113.                    SET
    114.                        `password`='{$pass}'
    115.                                                   WHERE `login`='{$login}' ";
    116.         $sql = mysql_query($query) or die(mysql_error());
    117.  
    118. //получаем мыло из базы для нашего пользователя
    119.  
    120. $query = "SELECT `email`
    121.                FROM `users`
    122.                                 WHERE
    123.                `login`='{$login}'
    124.                LIMIT 1";
    125.     $sql = mysql_query($query) or die(mysql_error());
    126.  
    127. $row = mysql_fetch_assoc($sql);
    128. $mail = $row['email'];
    129.  
    130. //шлём пороль на это мыло
    131.  
    132. mail($mail, "Запрос на востонавление пороля", "Здравствуйте $login ваш новый пороль : $string");
    133.  
    134.     }
    135.  
    136. ?>

    db.php ( тут подключение к базе. )
    PHP:
    1. <?php
    2.  
    3. require "libs/rb.php";
    4. R::setup( 'mysql:host=localhost;dbname=pr2',
    5.         'root', '' );
    6.        
    7.         //session_start();
    8.    
    9. ?>
     
  2. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Это ты так указал базу данных? No database selected - Не выбрана база данных. Просто укажи в функции подключения четвёртым параметром имя базы данных mysql
    --- Добавлено ---
    Или, как вариант так: https://php.ru/manual/mysqli.select-db.html
     
  3. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Но в других кодах, у меня так указано. Ну например код с регистрацией :
    PHP:
    1. <?php
    2. require "db.php";
    3. $data = $_POST;
    4. if( isset($data['do_signup']))
    5. {
    6.     // здесь регистрируем
    7.    
    8.     $errors = array();
    9.     if( trim($data['login']) == '' )
    10.     {
    11.         $errors[] = 'Введите логин!';
    12.     }
    13.     if( trim($data['email']) == '' )
    14.     {
    15.         $errors[] = 'Введите почту!';
    16.     }
    17.     if( ($data['password']) == '' )
    18.     {
    19.         $errors[] = 'Введите пароль!';
    20.     }
    21.    
    22.     if( $data['password_2'] != $data['password'] )
    23.     {
    24.         $errors[] = 'Повторный пароль, введён не верно!';
    25.     }
    26.    
    27.     if(R::count('users', "Login = ?", array($data['login'])) > 0 )
    28.     {
    29.         $errors[] = 'Пользователь с таким логином уже зарегестрированый';
    30.     }
    31.    
    32.     if(R::count('users', "email = ?", array($data['email'])) > 0 )
    33.     {
    34.         $errors[] = 'Пользователь с такой почтой уже зарегестрированый';
    35.     }
    36.     if( empty($errors) )
    37.     {
    38.         // всё хорошо, регистрируем
    39.         $user = R::dispense('users');
    40.         $user->login = $data['login'];
    41.         $user->email = $data['email'];
    42.         $user->password = md5($data['password']);
    43.         R::store($user);
    44.         echo '<div style="color: green;"> Вы успешно зарегестрировались!</div>';
    45.         echo '<div style="color: green;">Можете перейти на <a href="index.php">Главную</a> Страницу';
    46.        
    47.     }else
    48.     {
    49.         echo '<div style="color: red;">'.array_shift($errors).'</div><hr>';
    50.     }
    51.    
    52. }
    53. ?>
    54. <form action="signup.php" method="POST">
    55. <p>
    56.     <p><strong>Логин</strong>:</p>
    57.     <input type="text" name="login" value="<?php echo @$data['login']; ?>">
    58. </p>  
    59. <p>
    60.     <p><strong>Почта</strong>:</p>
    61.     <input type="email" name="email" value="<?php echo @$data['email']; ?>">
    62. </p>  
    63. <p>
    64.     <p><strong>Пароль</strong>:</p>
    65.     <input type="password" name="password" value="<?php echo @$data['password']; ?>">
    66. </p>  
    67. <p>
    68.     <p><strong>Повторите пароль</strong>:</p>
    69.     <input type="password" name="password_2" value="<?php echo @$data['password_2']; ?>">
    70. </p>  
    71. <p>
    72.     <button type="submit" name="do_signup">Зарегистрироваться</button>
    73. </p>
    74. </form>
     
  4. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Что указано? Понимаешь разницу между подключением файла и выбором базы данных?
     
  5. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Ну так команда require"db.php"
    указывает путь к базе данных.
     
  6. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Нет, друг мой, функция* require указывает путь к подключаемому файлу. А в файле db.php уже есть функция, которая, собственно и подключается к БД. Вот туда и надо четвёртым параметром вписать название БД.
    https://php.ru/manual/function.require.html
    https://php.ru/manual/function.mysqli-connect.html
    --- Добавлено ---
    Неправильно выразился, в функцию require мы передаём путь к файлу, и она его подключает.
     
  7. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Ну я попробовал там написать путь к базе, но всё ровно не находит.
    PHP:
    1. <?php  
    2.  
    3. //подключаем базу
    4.  
    5. $mysqli = new mysqli("localhost", "root", "", "pr2");
    6.  
    7. $login = mysql_real_escape_string($_POST['login']);
    8. $password = mysql_real_escape_string($_POST['password']);
    9. $email = mysql_real_escape_string($_POST['email']);
     
  8. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    И что, пишет тоже? Уверен что название базы правильное?
     
  9. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Да, уверен, у меня же и в db.php указано правильно. Еще пробовал команды :
    PHP:
    1. $dbHost='localhost';// чаще всего это так, но иногда требуется прописать ip адрес базы данных
    2. $dbName='mybase';// название вашей базы
    3. $dbUser='myuser';// пользователь базы данных
    4. $dbPass='mypassword';// пароль пользователя
    PHP:
    1. $myConnect = mysql_connect($dbHost,$dbUser,$dbPass));
    2. mysql_select_db($dbName,$myConnect);
    И всё ровно не находит. Я может не там пишу, не знаю...
     
  10. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ок. Тогда убери выбор БД, и после подключения напиши следующее, и покажи выхлоп:
    PHP:
    1. $q = mysql_query ("SHOW DATABASES");
    2. while ($res = mysql_fetch_assoc ($q)) {
    3.     print_r ($res); echo "<br>";
    4. } die ();
    --- Добавлено ---
    Может уберёшь вторую закрывающую скобку?
     
  11. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Это надо было писать в reminder.php ? Если да, так вот что написало :
    Array ( [Database] => information_schema )

    Вот, если надо что я написал :
    PHP:
    1. <?php  
    2.  
    3. //подключаем базу
    4. $dbHost='localhost';// чаще всего это так, но иногда требуется прописать ip адрес базы данных
    5. $dbName='pr2';// название вашей базы
    6. $dbUser='root';// пользователь базы данных
    7. $dbPass='';// пароль пользователя
    8.  
    9. $q = mysql_query ("SHOW DATABASES");
    10. while ($res = mysql_fetch_assoc ($q)) {
    11.     print_r ($res); echo "<br>";
    12. } die ();
    13.  
    14. mysql_select_db($p2,$myConnect);
    15.  
    16. $login = mysql_real_escape_string($_POST['login']);
    17. $password = mysql_real_escape_string($_POST['password']);
    18. $email = mysql_real_escape_string($_POST['email']);
    19.  
    20. // проверяем, если юзер в таблице с таким же логином
    21.     $query = "SELECT `id`
    22.                FROM `users`
    23.                WHERE `login`='{$login}'
    24.                LIMIT 1";
    25.     $sql = mysql_query($query) or die(mysql_error());
    26.     if (mysql_num_rows($sql)==1)
    27.     {
    28. //если есть
    29. //генерируем пароль      
    30. $simvols = array ("0","1","2","3","4","5","6","7","8","9",
    31.                         "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",
    32.                         "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");
    33.       for ($key = 0; $key < 6; $key++)
    34.         {
    35.           shuffle ($simvols);
    36.           $string = $string.$simvols[1];
    37.  
    38.         }
    39.  
    40. //перегоняем в md5 хэш
    41. $pass = md5(md5($string));
    42.  
    43. //переписываем пороль в базе уже хэшированый
    44.  
    45. $query = "UPDATE `users`
    46.                    SET
    47.                        `password`='{$pass}'
    48.                                                   WHERE `login`='{$login}' ";
    49.         $sql = mysql_query($query) or die(mysql_error());
    50.  
    51. //получаем мыло из базы для нашего пользователя
    52.  
    53. $query = "SELECT `email`
    54.                FROM `users`
    55.                                 WHERE
    56.                `login`='{$login}'
    57.                LIMIT 1";
    58.     $sql = mysql_query($query) or die(mysql_error());
    59.  
    60. $row = mysql_fetch_assoc($sql);
    61. $mail = $row['email'];
    62.  
    63. //шлём пороль на это мыло
    64.  
    65. mail($mail, "Запрос на востонавление пороля", "Здравствуйте $login ваш новый пороль : $string");
    66.  
    67.     }
    68.  
    69. ?>
     
  12. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    А ты точно туда подключаешся? У тебя только 1 БД на локалхосте, если верить выхлопу SHOW DATABASES, и она называется "information_schema". Может я чего не знаю. ХЗ.
     
  13. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Я немного ошибку сделал, там есть mysql_select_db($p2,$myConnect);
    Так я его удалил.
     
  14. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    А где подключение?
    --- Добавлено ---
    А, всё, понял
    --- Добавлено ---
    А print_r($q) после запроса что выдаст?
     
  15. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Ну вот, смотри, есть такая база.
    [​IMG]
     
  16. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Да я верю что есть. Только не пойму почему SHOW TABLES их не достаёт...
     
  17. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Если так надо было,
    PHP:
    1. $q = mysql_query ("SHOW DATABASES");
    2. while ($res = mysql_fetch_assoc ($q)) {
    3.     print_r($q); echo "<br>";
    4. } die ();
    Так выдаёт - Resource id #4
     
  18. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Как? Только это? А где массив, точнее объект? А var_dump($q)?
    --- Добавлено ---
    Только не в while, а после запроса сразу
     
  19. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Может то, что у меня библиотека есть, она создавала таблицы,
     
  20. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Да я думаю что библиотека тут ни при чём
     
  21. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    так ?
    PHP:
    1. $q = mysql_query ("SHOW DATABASES");
    2. while ($res = mysql_fetch_assoc ($q)) {
    3.     print_r($q); echo "<br>";
    4. } die ();
     
  22. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Да, так. Весь выхлоп покажи
     
  23. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    код у меня такой :
    PHP:
    1. <?php  
    2.  
    3. //подключаем базу
    4. $dbHost='localhost';// чаще всего это так, но иногда требуется прописать ip адрес базы данных
    5. $dbName='pr2';// название вашей базы
    6. $dbUser='root';// пользователь базы данных
    7. $dbPass='';// пароль пользователя
    8.  
    9. $q = mysql_query ("SHOW DATABASES");
    10. while ($res = mysql_fetch_assoc ($q)) {
    11.     print_r($q); echo "<br>";
    12. } die ();
    13.  
    14.  
    15.  
    16. $login = mysql_real_escape_string($_POST['login']);
    17. $password = mysql_real_escape_string($_POST['password']);
    18. $email = mysql_real_escape_string($_POST['email']);
    19.  
    20. // проверяем, если юзер в таблице с таким же логином
    21.     $query = "SELECT `id`
    22.                FROM `users`
    23.                WHERE `login`='{$login}'
    24.                LIMIT 1";
    25.     $sql = mysql_query($query) or die(mysql_error());
    26.     if (mysql_num_rows($sql)==1)
    27.     {
    28. //если есть
    29. //генерируем пароль      
    30. $simvols = array ("0","1","2","3","4","5","6","7","8","9",
    31.                         "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",
    32.                         "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");
    33.       for ($key = 0; $key < 6; $key++)
    34.         {
    35.           shuffle ($simvols);
    36.           $string = $string.$simvols[1];
    37.  
    38.         }
    39.  
    40. //перегоняем в md5 хэш
    41. $pass = md5(md5($string));
    42.  
    43. //переписываем пороль в базе уже хэшированый
    44.  
    45. $query = "UPDATE `users`
    46.                    SET
    47.                        `password`='{$pass}'
    48.                                                   WHERE `login`='{$login}' ";
    49.         $sql = mysql_query($query) or die(mysql_error());
    50.  
    51. //получаем мыло из базы для нашего пользователя
    52.  
    53. $query = "SELECT `email`
    54.                FROM `users`
    55.                                 WHERE
    56.                `login`='{$login}'
    57.                LIMIT 1";
    58.     $sql = mysql_query($query) or die(mysql_error());
    59.  
    60. $row = mysql_fetch_assoc($sql);
    61. $mail = $row['email'];
    62.  
    63. //шлём пороль на это мыло
    64.  
    65. mail($mail, "Запрос на востонавление пороля", "Здравствуйте $login ваш новый пороль : $string");
    66.  
    67.     }
    68.  
    69. ?>
    Ошибка на сайте такая :
    resource(4) of type (mysql result) Resource id #4
     
  24. SamyRed

    SamyRed Старожил

    С нами с:
    23 июл 2015
    Сообщения:
    1.196
    Симпатии:
    111
    Адрес:
    Украина
    Ну вроде как, 4 базы, или что. Я не знаю, честно, почему так. Может быть дело в устаревшем драйвере,который не работает в новых версиях php) Попробуй заменить mysql на mysqli.:
    PHP:
    1. $db = mysqli_connect ($dbHost, $dbUser, $dbPass, $dbName);
    2. $q = $db->query ("SHOW DATABASES");
    3. while ($res = $q->fetch_assoc()) {
    4. var_dump ($res); echo "<br>";
    5. }
     
  25. Terminator004

    Terminator004 Новичок

    С нами с:
    1 дек 2016
    Сообщения:
    195
    Симпатии:
    1
    Вот так?
    PHP:
    1. <?php  
    2.  
    3. $db = mysqli_connect ($localhost, $root, $, $pr2);
    4. $q = $db->query ("SHOW DATABASES");
    5. while ($res = $q->fetch_assoc()) {
    6. var_dump ($res); echo "<br>";
    7. }
    8.  
    9.  
    10. $login = mysql_real_escape_string($_POST['login']);
    11. $password = mysql_real_escape_string($_POST['password']);
    12. $email = mysql_real_escape_string($_POST['email']);
    13.  
    14. // проверяем, если юзер в таблице с таким же логином
    15.     $query = "SELECT `id`
    16.                FROM `users`
    17.                WHERE `login`='{$login}'
    18.                LIMIT 1";
    19.     $sql = mysql_query($query) or die(mysql_error());
    20.     if (mysql_num_rows($sql)==1)
    21.     {
    22. //если есть
    23. //генерируем пароль      
    24. $simvols = array ("0","1","2","3","4","5","6","7","8","9",
    25.                         "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",
    26.                         "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");
    27.       for ($key = 0; $key < 6; $key++)
    28.         {
    29.           shuffle ($simvols);
    30.           $string = $string.$simvols[1];
    31.  
    32.         }
    33.  
    34. //перегоняем в md5 хэш
    35. $pass = md5(md5($string));
    36.  
    37. //переписываем пороль в базе уже хэшированый
    38.  
    39. $query = "UPDATE `users`
    40.                    SET
    41.                        `password`='{$pass}'
    42.                                                   WHERE `login`='{$login}' ";
    43.         $sql = mysql_query($query) or die(mysql_error());
    44.  
    45. //получаем мыло из базы для нашего пользователя
    46.  
    47. $query = "SELECT `email`
    48.                FROM `users`
    49.                                 WHERE
    50.                `login`='{$login}'
    51.                LIMIT 1";
    52.     $sql = mysql_query($query) or die(mysql_error());
    53.  
    54. $row = mysql_fetch_assoc($sql);
    55. $mail = $row['email'];
    56.  
    57. //шлём пороль на это мыло
    58.  
    59. mail($mail, "Запрос на востонавление пороля", "Здравствуйте $login ваш новый пороль : $string");
    60.  
    61.     }
    62.  
    63. ?>