【发布时间】:2021-04-10 00:05:15
【问题描述】:
我正在使用 mysql 和 PHP 创建一个注册系统。我已经能够将系统连接到数据库,并且它适用于输入的用户名和密码正确的情况。但是,当用户名和密码不正确时(即用户名/密码对未存储在数据库中的任何时候),它只会导致空白页。目前,我的代码有它,所以当用户名和密码不正确时,它会打印我们的“密码用户名无效”。请参阅下面的代码,任何帮助表示赞赏。提前谢谢!
<?php
require_once 'source/session.php';
require_once 'source/db_connect.php';
if(isset($_POST['login-btn'])) {
$user = $_POST['user-name'];
$password = $_POST['user-pass'];
try {
$SQLQuery = "SELECT * FROM users WHERE username = :username";
$statement = $conn->prepare($SQLQuery);
$statement->execute(array(':username' => $user));
while($row = $statement->fetch()) {
$id = $row['id'];
$hashed_password = $row['password'];
$username = $row['username'];
if(password_verify($password, $hashed_password)) {
$_SESSION['id'] = $id;
$_SESSION['username'] = $username;
header('location: dashboard.php');
}
else {
echo "Error: Invalid username or password";
}
}
}
catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
}
?>
【问题讨论】:
-
猜测它是实际上将您引导到dashboard.php,但它在那个页面上没有得到正确处理。 或您的帖子变量未设置。如果您在所有 if 语句之外添加回显,则输出是什么,例如
if($post){...} echo "didn't go in";
标签: php mysql database xampp registration