在各自的 Jmeter 板中重定向具有会话用户角色的用户

tzcvj98z  于 2021-06-20  发布在  Mysql
关注(0)|答案(4)|浏览(377)

我在会话中保留了数组,如果用户角色是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";
}
apeeds0o

apeeds0o1#

$session_user = [
    '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_user->user_role 给你你的角色 $_SESSION['usersata']['user_role'] 也应该回归你的角色。

w1jd8yoj

w1jd8yoj2#

尝试在if子句之前添加(临时)此行:

print_r($_SESSION);

这将输出会话数组,以便您可以确定用户角色变量在其中的确切位置。
看起来$\u session['userdata']包含一个数组。
最好的办法是用户角色将包含在

$_SESSION['userdata']['user_role']

但是印刷品应该给你一个明确的答案,而不是反复试验

cig3rfwq

cig3rfwq3#

你的数组好像有输入错误。不能使用php变量和相等运算符赋值。您需要使用箭头运算符来处理相同的问题。假设低于数组

$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['userdata']['user_role']

无法获取用户角色,因为您正在会话中存储数组。如下所示:

if($_SESSION['userdata']['user_role']== '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";
}

p、 s:您可以使用

echo "<pre>"
print_r($_SESSION['userdata']);
echo "</pre>"

希望这会有帮助。

xsuvu9jc

xsuvu9jc4#

价值 $_SESSION['userdata'] 是一个数组 TRUE php中的s(赋值)会导致值true。在php中,数组是名值对,名称应该是一个字符串,后跟 => 然后是价值。例如:

$session_user = array('user_id' => $row['user_id'],
...

然后可以使用@sehdev建议的值。
当您不确定变量/数组是否正确地填充了所需的值时,您可以这样做 var_dump($session_user);

相关问题