我对PHP比较陌生,我试图设置登录系统。导致我麻烦的部分是尝试检查从表单收到的密码是否与MySQL数据库上的相应电子邮件相匹配(请记住,电子邮件地址也在表单上提交)。目前我不确定该怎么做,但这是我拉到一起的源代码......
<html>
<body>
<?php
$servername = "localhost";
$username = "***";
$password = "***";
$dbname = "pearsem_mystore";
// Create Connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check database connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT firstName, userEmail, userPass FROM users WHERE userEmail = '".$_POST["userEmail"]."'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
if ($row["userPass"] == $_POST["userPass"]) {
// If true... Welcome {firstname}
echo "Welcome " . $row["firstName"];
}
elseif ($result->num_rows == 0) {
echo "Incorrect email address/password";
}
else {
echo "Error";
}
$conn->close();
?>
</body>
</html>
提前感谢您的帮助! 附:我试图尽可能地解释这种情况,但如果您需要更多信息,请询问。
答案 0 :(得分:-1)
首先关闭:
如果您将原始密码存储在数据库中,那那就太大了 不。
在写入dB之前使用password_hash。然后在将密码与用户输入进行比较时使用password_verify。
三个链接可以帮助您: