[英]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.