我正在使用登录脚本,并且正在尝试了解会话,但运气不佳。
当用户登录时,我希望他们重定向到相关文件夹,这是我的登录脚本
if (isset($_POST['btnLogOn'])) {
$email = !empty($_POST['email']) ? trim($_POST['email']) : null;
$password = !empty($_POST['password']) ? $_POST['password'] : null;
$db=DB();
$sql = "SELECT * FROM users WHERE email = ? LIMIT 1";
$stat = $db->prepare($sql);
$stat->bindParam(1, $email, PDO::PARAM_STR);
$stat->execute();
$row = $stat->fetch();
if ($row && password_verify($password, $row['password'])) {
if (isset($_POST['remember'])) {
setcookie('email', $email, time() + 60 * 60 * 7);
setcookie('password', $password, time() + 60 * 60 * 7);
}
{
$_SESSION['user_session'] = $row['user_id'];
$_SESSION['user_role'] = $row['role'];
switch($_SESSION['user_role']){
case 'Admin':
$_SESSION['user_role'];
header( 'Location: admin');
break;
case 'Advisor':
$_SESSION['user_role'] ;
header( 'Location: advisor');
break;
case 'Tech':
$_SESSION['user_role'] ;
header( 'Location: tech');
break;
case 'User':
$_SESSION['user_role'];
// redirect to admin
header( 'Location: dashboard');
break;
}
我不确定上面的代码是否正确,并且我真的很难在每个“命名”文件夹的标题中编写什么代码。
我在单独的标头中尝试了很多乱七八糟的代码,但它要么不断刷新到 ../index.php,要么让我打开文件夹,无论我是否登录
session_start();
$_SESSION['user_session'] = $row['user_id'];
$_SESSION['user_role'] = $row['role'];
if(empty($_SESSION['user_role'])){
header('Location: ../index.php');
}
当用户登录角色时我想要发生的事情确定要打开哪个文件夹,如果没有人登录,他们将无法打开该文件夹
智慧大石