PHP是一种广泛使用的服务器端脚本语言,特别适用于Web开发。MySQL是一种关系型数据库管理系统,用于存储和管理数据。在Web应用中,用户登录通常涉及到验证用户输入的用户名和密码是否与数据库中存储的信息匹配。
原因:
解决方法:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 预处理语句防止SQL注入
$stmt = $conn->prepare("SELECT password FROM users WHERE username = ?");
$stmt->bind_param("s", $input_username);
$input_username = $_POST['username'];
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
if ($row) {
$hashed_password = $row['password'];
if (password_verify($_POST['password'], $hashed_password)) {
echo "登录成功";
} else {
echo "密码错误";
}
} else {
echo "用户名不存在";
}
$stmt->close();
$conn->close();
?>通过上述代码,可以有效地验证用户输入的密码是否正确,并且使用了预处理语句来防止SQL注入攻击,提高了安全性。
没有搜到相关的文章