PHP会话变量未定义

时间:2011-11-27 20:33:30

标签: php session-variables

我有这个会话变量,我试图在用户登录时设置为访问级别:

 $accessquery = mysql_query("SELECT roleid FROM person WHERE email = '". $email ."'");
 $access = mysql_fetch_array($accessquery);

 $_SESSION['Access'] = $access;

然而它说“访问”未定义,问题是什么?

编辑*

if (($_SESSION['Access']) == "2")

此处出现错误

编辑*

会话开始已被调用。

3 个答案:

答案 0 :(得分:4)

这里有两种可能性:

  1. 在页面开头使用session_start();开始会话。
  2. 使用以下代码:

    $accessquery = mysqli_query($conn, "SELECT roleid FROM person WHERE email = '". $email ."'", mysqli_store_result($conn));
    
    $access = mysqli_fetch_row($accessquery);
    
    $_SESSION['Access'] = $access[0];
    

答案 1 :(得分:0)

要弄清楚发生了什么,我建议您使用

print_r($any_variable);

请参阅http://php.net/print_r

答案 2 :(得分:0)

您是否致电session_start();

尝试使用固定值调试代码:$_SESSION["Test"]="test";然后执行var_dump($_SESSION);