gpt4 book ai didi

PHP/Mysql登录系统

转载 作者:行者123 更新时间:2023-11-29 04:57:56 25 4
gpt4 key购买 nike

目前,我正在从表单中获取 POST 信息并将其传递到 login.php 页面,该页面通过此函数运行它们:

function verify_Username_and_Pass($un, $pwd) {

$query = "SELECT *
FROM users
WHERE username = ? AND password = ?
LIMIT 1";

if($stmt = $this->conn->prepare($query)) {
$stmt->bind_param('ss', $un, $pwd);
$stmt->execute();

if($stmt->fetch()) {
$stmt->close();
return true;
}
}

}

目前,唯一检查的是是否存在匹配的记录,这反过来将用户重定向到 secret.php:

function validate_user($un, $pwd) {
$mysql = New Mysql();
$ensure_credentials = $mysql->verify_Username_and_Pass($un, $pwd);

if($ensure_credentials) {
$_SESSION['status'] = 'authorized';
header("location: ../secret.php");
} else {
header("location: ../index.php");
}

}

但我需要做的是,数据库中的每个用户都有一个 PHP 页面,而不是一个 secret 页面(只有一对)所以我需要函数来返回用户名如果​​成功并将它们重定向到 [username].php 并在其中设置一个包含用户名的 session ,因此在 secret 页面上我可以检查正确的用户是否正在访问正确的页面?有道理吗?

最佳答案

或者,不将用户名作为get参数传递,而是将用户名保存在 session 中:

if($ensure_credentials) {
$_SESSION['status'] = 'authorized';
$_SESSION['username'] = $un;
header("location: ../secret.php");
}

secret.php 中:

if ($_SESSION['username'] == 'Jack') {
echo 'Hey Jack!';
}
elseif ($_SESSION['username'] == 'Jill') {
echo 'Hello Jill!';
}
else {
// die / send 404
}

或将用户名与数据库匹配以获取自定义页面内容。

关于PHP/Mysql登录系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com