gpt4 book ai didi

php - 如何根据 PHP 中的 session 数据将用户重定向到不同的目录?

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

我有一个基于 PHP/MySQL 的网站,其中包含用于成员(member)页面的文件夹和用于管理页面的文件夹。我想根据用户的登录方式将用户定向到不同的页面 - 作为成员(member)或管理员(从主用户页面) - 这是我尝试过的功能,但它不起作用。

我如何编写一个可以实现此目的的函数?

function connectadmin($level) {
if ($level === "Administrator"){
include('admin/home.php');
}elseif ($level === "Member"){
include('member/home.php');
}
}

connectadmin($level);

最佳答案

那么,您应该重定向您的用户,而不是包含文件:

 // At beggining of this file insert this line
// Start session
session_start();

function connectadmin($level) {
if ($level === "Administrator"){

// Set user role
$_SESSION['role'] = 'Administrator';

// Redirect user
header('Location: admin/home.php');
exit();
}elseif ($level === "Member"){

// Set user role
$_SESSION['role'] = 'Member';

// Redirect user
header('Location: member/home.php');
exit();
}
}

// $level should be something you retrieve from your Database for example
// And perhaps, should be 'Administrator' or 'Member' following your example
connectadmin($level);

重定向后,用户不要忘记验证登录用户是否有权访问重定向页面。

编辑:例如,如果您想验证用户是否是管理员并有权访问页面 admin/home.php,请执行以下操作:

// You should get from your database, some file or use sessions, 
// in your function I have used sessions, so lets use them here too

// At beggining of your file use this
session_start();

// If user is not Administrator
if($_SESSION['role'] !== 'Administrator'){

// It's not admin, let redirect him to somewhere else or show him a Access not allowed page
header('Location: accessNotAllowed.php');
exit();

}

关于php - 如何根据 PHP 中的 session 数据将用户重定向到不同的目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28740672/

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