Imgshot注销管理面板错误


Imgshot logout admin panel error

当我在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我该如何修复错误?

更改此代码:

   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());

注意:在cookie中存储user_id不是很安全,因为用户可以将其替换为其他值

错误是因为您检查是否设置了会话或cookie值,但随后尝试同时访问这两个值。

首先,这只是一个通知,而不是一个错误,所以如果你愿意,你可以忽略它。

然而,要修复,您可以尝试以下操作:

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());
    }