2013-12-11 55 views
0

當我在imgshot的管理方面,我想從管理員註銷並點擊鏈接,退出我得到下一個錯誤的行Imgshot登出管理面板錯誤

Notice: Undefined index: user_id in /home/****/public_html/inc/functions.php on line 371 

錯誤371是下一個

where `id`='$_SESSION[user_id]' OR `id` = '$_COOKIE[user_id]'") or die(mysql_error()); 

整個鏈接是下一個http://justpaste.it/dt75我該如何解決這個錯誤?

回答

0

改變這樣的代碼:

if (isset($_SESSION['user_id']) || isset($_COOKIE['user_id'])) { 
      mysql_query("update `users` 
      set `ckey`= '', `ctime`= '' 
      where `id`='$_SESSION[user_id]' OR `id` = '$_COOKIE[user_id]'") or die(mysql_error()); 
     } 

這一個:

$user_id1 = intval(isset($_SESSION['user_id']) ? $_SESSION['user_id'] : 0, 10); 
$user_id2 = intval(isset($_COOKIE['user_id']) ? $_COOKIE['user_id'] : 0, 10); 
if ($user_id1 || $user_id2) 
    mysql_query("update `users` 
     set `ckey`= '', `ctime`= '' 
     where `id` in (".$user_id1.",".$user_id2.")") or die(mysql_error()); 

注:這是不是很安全,以USER_ID存儲在cookie中,因爲用戶可以與其他價值

0
更換

錯誤是因爲您檢查是否設置了會話或cookie值,但是嘗試訪問兩者。

1,這只是一個通知而不是錯誤,所以你可以忽略它,如果你願意。

不過來修復您可以嘗試以下方法:

if (isset($_SESSION['user_id']) || isset($_COOKIE['user_id'])) { 
     $user_id= isset($_SESSION['user_id'])?$_SESSION['user_id']:$_COOKIE['user_id']; 
     mysql_query("update `users` 
     set `ckey`= '', `ctime`= '' 
     where `id`='$user_id'") or die(mysql_error()); 
    }