2016-09-24 71 views
-1

如果用户未登录,则仅显示此错误。我知道已经有一些这样的错误,我尽我所能来测试它们。但我仍然无法弄清楚。注意:未定义索引:session PHP

注:未定义指数:USER_SESSION在..index.php第10行

<?php 
session_start(); 

if (session_status() == PHP_SESSION_NONE){ 
    header('Location: index.php'); 
} 

if (session_status() == PHP_SESSION_ACTIVE) { 
    $session = $_SESSION['user_session']; //line 10 
} 
+0

是否设置在会话变量中的值了。尝试'print_r($ _ SESSION)'来检查会话数组中是否存在变量。 – Sasikumar

+1

标题位置后,你必须死))) – Deep

回答

1

当用户登录时,你必须设置这个$_SESSION["user_session"]=$value;先那么只有你将能够访问它。您正尝试访问您尚未设置的变量。所以它抛出未定义的索引。

+0

我试着下面萨加尔的代码,它引入了一个新的错误,导致我想要说的一点。 '$ _SESSION'数组不包含任何值。 – bobbyjones

+0

同样在未来确保您在将任何值分配给变量之前使用isset()。在更大的项目中,调试这些bug成为一个痛苦。 – Cyclotron3x3

0

如果您正在寻找解决这个错误信息,那么请尝试下面的代码,你的代码修改如下:

<?php 
session_start(); 

if (session_status() == PHP_SESSION_NONE){ 
header('Location: index.php'); 
} 

if (session_status() == PHP_SESSION_ACTIVE) { 
if(isset($_SESSION['user_session']) && !empty($_SESSION['user_session'])) 
$session = $_SESSION['user_session']; //line 10 
}