Доброго времени суток. Столкнулся с проблемой не отсылается письмо при смене пароля, вот собственно скрипт:
PHP:
скопировать код в буфер обмена
require_once("db.php"); require_once("class.php"); if(isset($_POST['old_password']) && !empty($_POST['old_password']) && isset($_POST['new_password']) && !empty($_POST['new_password'])){ if(md5($_POST['old_password']) == ($_COOKIE['user']['password'])){ $obj = new Validate($_COOKIE['user']['email'],$_POST['new_password']); $obj->validate_password(); if($obj->validate_password()==true){ $new_password =md5($_POST['new_password']); $stmt = $db->prepare("UPDATE test SET password =? WHERE id=?"); $stmt->bindParam(1,$new_password); $stmt->bindParam(2,$_COOKIE['user']['id']); $rows = $stmt->execute(); if($rows){ $subject = 'Смена пароля — rentkyiv.com'; $headers = 'Content-Type: text/html; charset="utf-8"'."\r\n"; $header = 'rentkyiv.com'; $message = 'Привет,'.$_COOKIE['user']['email'] .'! Привет!' .$rows['email'] .'Твой новый пароль:'.$_POST['new_password'].' С уважением, http://rentkyiv.com'; mail($_COOKIE['user']['email'],$subject,$message,$header,$headers); echo "Пароль успешно изменен"; setcookie("user[password]",$_POST['new_password']); header("Refresh:3;url=index.php"); }else{ echo "Случилась непредвиденная ошибка,попробуйте еще раз"; header("Refresh:3;url=". $_SERVER['HTTP_REFERER'].""); } } }else{ echo "Не верный текущий пароль!"; header("Refresh:3;url=". $_SERVER['HTTP_REFERER'].""); } }else{ echo "Введите пароли!"; header("Refresh:5;url=my_account.php"); }
Сам пароль меняется, выводиться сообщение о том что пароль изменился,то есть условие сработало но почта не отправляется. Закоментировал весь код и в самом начале отослал письмо - сработало.В чем проблема понять не могу.
|