2017-03-04 29 views
0

我工作的一个招标脚本,现在,我做的非常好,到目前为止,所有的工作,但我不能让这个脱身,我真的不知道怎么样。 我得到这个错误PHP公告:未定义的索引:在的loggedIn上/home/monaqs83/public_html/util/Auth.php线11

PHP公告:未定义的索引:在的loggedIn /home/monaqs83/public_html/util/Auth.php上线11

和这个Auth.php请你能帮我解决这个问题

<?php 
/** 
* 
*/ 
class Auth 
{ 

    public static function handleLogin() 
    { 
     @session_start(); 
     $logged = $_SESSION['loggedIn']; 
     if ($logged == false) { 
      session_destroy(); 
      header('location: ../login'); 
      exit; 
     } 
    } 
    public static function handleRole() 
    { 
     $roleArray = array(
      'directorates', 
      'publisher', 
      'user', 
      'type', 
      'subcategory', 
      'category' 
     ); 
     $url = $_SERVER['REQUEST_URI']; $url = explode('/', $url); 
     if($_SESSION['role'] == 1) 
     if(in_array($url[0], $roleArray)) 
      header('Location: '.URL.'dashboard'); 
    } 
} 
+2

存在你需要首先检查是否$ _SESSION [“的loggedIn”]的存在与否 – mehulmpt

+1

是什么错误告诉你吗?它是晶体中很清楚的说:'$ _SESSION'不包含名称'loggedIn'您尝试在该行获得的元素... – arkascha

+1

的[PHP可能重复:“请注意:未定义的变量”,“通知:未定义指数”和‘通知:未定义偏移’(http://stackoverflow.com/questions/4261133/php-notice-undefined-variable-notice-undefined-index-and-notice-undef) –

回答

0

而不是直接访问它像$logged = $_SESSION['loggedIn'];,使用此:

$logged = false; 
if(isset($_SESSION['loggedIn'])) { 
$logged = $_SESSION['loggedIn']; 
} 
1

变化$logged = $_SESSION['loggedIn'];$logged = !empty($_SESSION['loggedIn']) && $_SESSION['loggedIn'];

+0

你没有检查它是否存在。 – tilz0R

+0

@ tilz0R这是如何'空()'作品。 –

2

loggedIn键不存在于您的$_SESSION变量。

检查其是否与isset关键字

$logged = isset($_SESSION['loggedIn']) ? $_SESSION['loggedIn'] : false;