2017-03-04 24 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;