繁体   English   中英

无法在多个php页面中获取登录用户信息

[英]Unable to get login user information in multiple php pages

我想在多个页面中获取用户信息,以便可以在多个页面中基于登录用户显示和隐藏信息。

    <?php
session_start();
if($_SESSION['login']==1){
     $_SESSION['loggedIn'] = true;  
    $role_id=$_GET['role_id'];
        header("location:api/dashboard.php?role_id=$role_id");

}
else{
header("location:index.php");
    echo "login unsuccessful.";
}
?>

我可以在dashboard.php中获得role_id,但我在每个页面中都渲染了master.php,并且我想根据用户登录将if条件代码显示和隐藏master.php中的内容。

如果role_id一次又一次不变,则将其存储在会话中,如下所示:

<?php
session_start();
if($_SESSION['login']==1) {
    $_SESSION['loggedIn'] = true;  
    $role_id = $_GET['role_id'];
    // store here in session
    $_SESSION['roleid'] = $role_id;
    header("location:api/dashboard.php?role_id=$role_id");
} else {
    header("location:index.php");
    echo "login unsuccessful.";
}
?>

这样,您将无法从任何接受Dashboard的地方访问$ role_id,因为您仅将其发送给Dashboard。 将role_id放在SESSION中,以便您可以从每个页面进行访问。

session_start();
if($_SESSION['login']==1){
   $_SESSION['loggedIn'] = true;  
   $_SESSION['role_id'] = $_GET['role_id'];
    header("location:api/dashboard.php");
}
else{
   header("location:index.php");
   echo "login unsuccessful.";
}

将角色ID存储到会话中之后。 $_SESSION['role_id'] = $_GET['role_id'];

您可以在登录后在页面上获取角色ID,然后可以隐藏并显示以下信息:

    <?php 

    session_start();
    if(!isset($_SESSION["role_id"])){
        /*..what you want to display here...*/
    }else{
        header("location:index.php");
    }
    ?>

如果不存在角色,则可以重定向到索引页面。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM