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

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

我在会话中保留了数组,如果用户角色是admin和other,我想将用户重定向到admin。但我不能这么做??我不知道问题出在哪里。会话运行不正常。有人能帮我吗??

  1. $session_user = array($user_id = $row['user_id'],
  2. $fullname = $row['fullname'],
  3. $username = $row['username'],
  4. $phone_number = $row['phone_number'],
  5. $state = $row['state'],
  6. $city = $row['city'],
  7. $street = $row['street'],
  8. $email = $row['email'],
  9. $user_role = $row['user_role']);
  10. $_SESSION['userdata'] = $session_user;
  11. /*header('Location:hello.php');*/
  12. if($_SESSION['userdata']== 'admin'){
  13. /*header('Location:admin/admindashboard.php');*/
  14. header('Location:hello.php');
  15. }else{
  16. /*header('Location:contributor/contributordashboard.php');*/
  17. /*header('Location:hello.php');*/
  18. echo "Error in identifying the user role";
  19. }
ef1yzkbh

ef1yzkbh1#

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

  1. $session_user = array('user_id' => $row['user_id'],
  2. 'fullname' => $row['fullname'],
  3. 'username' => $row['username'],
  4. 'phone_number' => $row['phone_number'],
  5. 'state' => $row['state'],
  6. 'city' => $row['city'],
  7. 'street' => $row['street'],
  8. 'email' => $row['email'],
  9. 'user_role' => $row['user_role']);

改变

  1. $_SESSION['userdata']

  1. $_SESSION['userdata']['user_role']

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

  1. if($_SESSION['userdata']['user_role']== 'admin'){
  2. /*header('Location:admin/admindashboard.php');*/
  3. header('Location:hello.php');
  4. }else{
  5. /*header('Location:contributor/contributordashboard.php');*/
  6. /*header('Location:hello.php');*/
  7. echo "Error in identifying the user role";
  8. }

p、 s:您可以使用

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

希望这会有帮助。

展开查看全部
col17t5w

col17t5w2#

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

  1. print_r($_SESSION);

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

  1. $_SESSION['userdata']['user_role']

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

rkkpypqq

rkkpypqq3#

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

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

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

luaexgnf

luaexgnf4#

  1. $session_user = [
  2. 'user_id' => $row['user_id'],
  3. 'fullname' => $row['fullname'],
  4. 'username' => $row['username'],
  5. 'phone_number' => $row['phone_number'],
  6. 'state' => $row['state'],
  7. 'city' => $row['city'],
  8. 'street' => $row['street'],
  9. 'email' => $row['email'],
  10. 'user_role' => $row['user_role']
  11. ];

这将为您提供正确的索引。 $session_user->user_role 给你你的角色 $_SESSION['usersata']['user_role'] 也应该回归你的角色。

相关问题