Проблем със забравена парола

bobbykokala

Registered
Здравейте!
Представям ви един код, който е за генериране и изпращане на нова парола до потребител. Паролата се променя, но имейла не се изпраща.
http://paste2.org/p/1550508
Цял ден ме измъчва :oops:
 
Пробвай така:

PHP:
<center><div style="margin: 30px 20px 0 0;">
Попълни e-mail-а с който си се регистрирал при нас и ние ще ти изпратим нова парола.<br /><br />
        <form action="" method="POST">
                <table>
                        <tr>
                                <td>Имейл адрес: </td><td><input type="text" name="email" size="15" /> </td>
                        </tr>
                        <tr>
                                <td></td><td><input type='submit' name='send' value='Изпрати'/></td>
                        </tr>
                </table>
        </form>
</div></center>
 
 
<?php
function send_mail($to, $subject, $message, $header = '') {
  $header_ = 'MIME-Version: 1.0' . "\r\n" . 'Content-type: text/plain; charset=UTF-8' . "\r\n";

  if($header == NULL)
  {
	$header = "From: no-reply@houseofdjs.co.cc\r\n";
	$header .= "Reply-To: no-reply@houseofdjs.co.cc\r\n";
	$header .= "Return-Path: no-reply@houseofdjs.co.cc\r\n";
  }
  
  mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $message, $header_ . $header);
}

if(isset($_POST['send']))
{
   $email = htmlspecialchars($_POST['email']);
   $checkemail = mysql_query("SELECT * FROM users WHERE email='$email'");
   $row = mysql_fetch_array($checkemail);
   $numrows = mysql_num_rows($checkemail);
   if ($numrows!=0) {
   $name = $row['username'];
 
                $newpass = rand(10000,99999);
                $md5 = md5($newpass);
 
        // изпращаме паролата
        $subject = "Вашата Парола за House of DJ's";
        $message = "Уважаем $name, този e-mail е изпратен, защото вие сте забравили вашата парола.
        Информация за вашия акаунт:
        Username: $name
        Password: $newpass
 
        Благодарим ви,
        houseofdjs.co.cc";
 
        send_mail($email, $subject, $message);
        echo "<div id=text3>На вашия меил бе изпратена новата ви парола!<br /><a href=index>Индекс</a></div>";
        }
        else
                {
                echo "<center>Въведеният e-mail не съществува в нашата база данни!</center>";
                }
 
        mysql_query("UPDATE users SET password='$md5' WHERE email='$email'");
}
 
Имаш ли инсталиран смтп на хоста?
Пуснал ли си си пхп грешките?
PHP:
ini_set("display_errors","On")
и виж дали функцията ти връща грешка :idea:
 
Хмм.. Това СМТП го нямаше, но го инсталирах от cPanela на хоста(Net_SMTP 1.6.0)
Видях, че проблема не е в кода, тествах на 000webhost и работи. Аз използвам smshosting.bg

Едит: Пише, че трябва да добавя директория, но незнам къде.
Използвайки Вашия PHP Extension(s) and Application(s)

Необходимо е да добавите /home/houseofd/php към пътя.
За да направите това е необходимо да добавите следния код във файловете си:

ini_set("include_path", '/home/houseofd/php:' . ini_get("include_path") );
 

Back
Горе