我在会话中保留了数组,如果用户角色是admin和other,我想将用户重定向到admin。但我不能这么做??我不知道问题出在哪里。会话运行不正常。有人能帮我吗??
$session_user = array($user_id = $row['user_id'],
$fullname = $row['fullname'],
$username = $row['username'],
$phone_number = $row['phone_number'],
$state = $row['state'],
$city = $row['city'],
$street = $row['street'],
$email = $row['email'],
$user_role = $row['user_role']);
$_SESSION['userdata'] = $session_user;
/*header('Location:hello.php');*/
if($_SESSION['userdata']== 'admin'){
/*header('Location:admin/admindashboard.php');*/
header('Location:hello.php');
}else{
/*header('Location:contributor/contributordashboard.php');*/
/*header('Location:hello.php');*/
echo "Error in identifying the user role";
}
4条答案
按热度按时间apeeds0o1#
这将为您提供正确的索引。
$session_user->user_role
给你你的角色$_SESSION['usersata']['user_role']
也应该回归你的角色。w1jd8yoj2#
尝试在if子句之前添加(临时)此行:
这将输出会话数组,以便您可以确定用户角色变量在其中的确切位置。
看起来$\u session['userdata']包含一个数组。
最好的办法是用户角色将包含在
但是印刷品应该给你一个明确的答案,而不是反复试验
cig3rfwq3#
你的数组好像有输入错误。不能使用php变量和相等运算符赋值。您需要使用箭头运算符来处理相同的问题。假设低于数组
改变
到
无法获取用户角色,因为您正在会话中存储数组。如下所示:
p、 s:您可以使用
希望这会有帮助。
xsuvu9jc4#
价值
$_SESSION['userdata']
是一个数组TRUE
php中的s(赋值)会导致值true。在php中,数组是名值对,名称应该是一个字符串,后跟=>
然后是价值。例如:然后可以使用@sehdev建议的值。
当您不确定变量/数组是否正确地填充了所需的值时,您可以这样做
var_dump($session_user);