首页 > 解决方案 > 带有 if 语句的会话

问题描述

我有一段代码不起作用。

if ($_SESSION['active'] != 2 && $_SESSION['org_id'] == 0 && $_SESSION['part_id'] == 0) 
{
    header('Location: index');
    die();
}

代码必须做以下事情,它检查会话。如果 'active' 不是 2 并且 org_id 是 0 并且 part_id 也是零,它必须自动转到 index.php。最后一部分不起作用。因为我测试了它并且它保持在同一页面上但是我的 SESSION 给出的数组是这个

"Array ( [notify] => OK [user] => werker@company.com [user_id] => 346 [fnln] => test2 [type] => 4 [org_id] => 108 [part_id] => 79 [active] => 2 )"

所以它必须工作。我不知道出了什么问题...

标签: phpsession

解决方案


您编写的 if 语句不会将您重定向到任何地方,因为它没有满足它的条件。

在您的数组active中是 2,在您的 if 语句中,您的说法active不能是 2。并且org_id不是 0,part_id也不是 0,因为您也说它必须是。

看不出是什么问题。如果您希望被重定向,那么您在代码中做错了。

如果你想让它重定向到index.php,那么你必须写

header('location:index.php');

推荐阅读