У меня проблема со страницей забытого пароля. Когда я вхожу в свой адрес электронной почты и нажимаю кнопку «Отправить», меня выводят на пустую страницу, а письмо с моим паролем не отправляется. Любая помощь приветствуется. Спасибо!
<?php
include 'db.php';
if(isset($_POST['submit']))
{
$email_address=$_POST['email_address'];
$q=mysql_query("select * from login where email_address='".$email_address."' ") or die(mysql_error());
$p=mysql_affected_rows();
if($p!=0)
{
$res=mysql_fetch_array($q);
$to=$res['email_address'];
$subject='YNAGS Password Recovery';
$message='Your password : '.$res['password'];
$headers='From:[email protected]';
$m=mail($to,$subject,$message,$headers);
if($m)
{
echo'Check your inbox in mail';
}
else
{
echo'mail is not send';
}
}
else
{
echo'You entered mail id is not present';
}
}
?>
Я не совсем уверен, что это здесь:
$q=mysql_query("select * from login where email_address='".$email_address."' ") or die(mysql_error());
в основном часть логина этого утверждения.
1. We should know the code from db.php (obviously without the sensitive data).
2. Try something like this:
db.php
<?php
define("HOST", "your host");
define("USER", "db user name");
define("NAME", "db name");
define("PASSWORD", "password");
?>
forgot.php
<?php
include("db.php");
if(isset($_POST['email_address'])){
$email_address = $_POST['email_address'];
$con = mysqli_connect(HOST, USER, PASSWORD, NAME);
$sql = "SELECT * FROM login WHERE email_address = '".$email_address."'";
if(mysqli_affected_rows(mysqli_query($con, $sql)) != 0){
$res = array();
$res = mysqli_fetch_array(mysqli_query($con, $sql));
$to = $res['email_address'];
// and so on ...
}else{
echo "Email not found";
}
}else{
echo "Form not submitted";
}
?>
Других решений пока нет …