PHP,无法通过电子邮件找到密码

时间:2014-12-16 15:18:48

标签: php mysql forms email

我正在做一个PHP练习,我发了一封电子邮件,它会在数据库中运行并向我显示属于该电子邮件的密码。但每次我尝试,即使电子邮件已注册,它也会说电子邮件不存在。 这是它将运行的页面:

<?php
$conn = mysql_connect("localhost", "root", "", "xxxxxxxx");

if ($conn) {
  echo 'conected';
} else {
  echo 'not conected ';
}
echo '<p>';

$email = $_POST['email'];
$emailcheck = mysql_query("SELECT * FROM users WHERE email='".$email."'");
$password = mysql_query("SELECT senha FROM users WHERE email='".$email."'");
    if ('$email'=='$emailcheck') {
        echo "$password";
    }else {
echo "Email does not exist";
}
?>

以下是表格:

 <form action="password.php" method="post"  >     
    Email: <br />  <input type="text" name="email"  /> <br />
<input type="submit" name="submit"value="Submit"/> 
    </form>

对不起我的英文不好,请注意,当它说'senha&#39;时,它是葡萄牙语的密码。

1 个答案:

答案 0 :(得分:0)

这将为你完成工作,但请查看我的笔记!

连接:

$conn = mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("coms11g") or die(mysql_error()); //this is the name of database

并获取

$emailcheck = mysql_query("SELECT * FROM users WHERE email='" . mysql_real_escape_string($_POST["email"]) . "'");
$res = mysql_query($emailcheck);
$row = mysql_fetch_assoc($res);
if ($row) {
    echo "The password is " . $row["senha"];
} else {
    echo "Email does not exist";
}

注意:

  • 不要使用mysql函数,不推荐使用它们。请改用mysqli或PDO。

  • 始终在查询中转义来自外部的变量,以避免sql注入或使用预准备语句。