我正在做一个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;时,它是葡萄牙语的密码。
答案 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注入或使用预准备语句。