我是 PHP / MySql 编程的新手。我买了一本书来帮助学习这门语言,到目前为止我做得很好,除非我尝试创建一个身份验证系统。
我希望能够使用 MD5 加密将记录与数据库匹配,如果找到,则发送到网站。如果用户名和密码不正确,请再次将它们发送到登录页面。
在某一时刻,它只会匹配第一条记录。现在它不会匹配任何东西。我可以准确输入数据库中的内容,结果仍然为 0 或返回登录页面。
此外,我想为用户名和 auth_level 设置一个会话变量,以便我可以在整个网站/应用程序中调用它。
如果有帮助,我将在 Mac 上使用 XAMPP。
授权脚本:
if ((!isset($_POST['username'])) || (!isset($_POST['password']))) {
header('Location: login.html');
exit;
}
$mysqli = mysqli_connect('localhost', 'username', 'password', 'testDB')
or die(mysql_error($mysqli));
$username = mysqli_real_escape_string($mysqli, $_POST['username']);
$password = mysqli_real_escape_string($mysqli, $_POST['password']);
$auth_sql ="SELECT username , auth_level FROM auth_users WHERE
username ='".$username."' AND password =MD5('".$password."')";
$auth_sql_res = mysqli_query($mysqli, $auth_sql) or die(mysqli_error($mysqli));
if (mysqli_num_rows($auth_sql_res) == 1) {
$_SESSION['username'] = $username;
header('Location: homebeta.php');
} else {
header("Location:index.php");
exit;
}
PHP v5.3.1
感谢所有花时间查看、分析和/或帮助的人。我真的很感谢你的时间。