2013-07-17 6 views
-2

Мне очень нужна помощь с PHP. Я всегда получаю эту ошибку:Неопределенный индекс: sUS_UserID

Notice: Undefined index: sUS_UserID in C:\xampp\htdocs\fazebook\inc\class.user.php on line 21

Моя «ошибка» Код:

$UserLoginQ = $DB->Query("SELECT * FROM `Users` WHERE `UserID` = '{$_COOKIE["sUS_UserID"]}'"); // LINE 21 
if (intval($DB->Num($UserLoginQ)) > 0) { 
    $UserLoginA = $DB->Arr($UserLoginQ); 
    if ($_COOKIE["sUS_UserID"] == $UserLoginA["UserID"]) { 
     if ($_COOKIE["sUS_Security"] == md5($UserLoginA["LastIP"])) { 
      if ($_COOKIE["sUS_Password"] == md5($UserLoginA["Password"])) { 
       $this->ID  = (int) $UserLoginA["UserID"]; 
       $this->Name  = $UserLoginA["Username"]; 
       $this->LoggedIn = true; 
      } 
     } 
    } 
} 
+0

Ошибка означает, что в массиве '$ _COOKIE' нет ключа« sUS_UserID ». Другими словами, ваш файл cookie не существует. – bfavaretto

+1

@deceze У меня смешанные чувства по поводу Q/A, с которым вы связались. Знаете ли вы, что это когда-либо обсуждалось на мета? Разве это не должно быть разделено на отдельные вопросы/ответы или переместиться в вики? – bfavaretto

+0

@bfavaretto Редкий двойной удар! –

ответ

1

Вы должны убедиться, что куки существует и называется 'sUS_UserID. Сообщение об ошибке, которое вы получили, похоже, указывает, что у вас нет файла cookie, определенного с этим именем.

Для большей ясности вы можете рассмотреть возможность изменения способа интерполяции данных $ _COOKIE. Это не требуется, но может улучшить четкость кода и подсветку синтаксиса и может помочь вам избежать труднодоступных котировок.

$UserLoginQ = $DB->Query("SELECT * FROM `Users` WHERE `UserID` = '" . $_COOKIE['sUS_UserID'] . "'"); 

Наконец, рассмотрите возможность изучения уязвимостей SQL-инъекций. Файлы cookie редактируются пользователем, а использование неанитированного пользовательского контента в SQL-запросах может привести к риску ваших данных.

+1

Вы уверены? Кажется, что работает http://codepad.org/eqygVHxY – bfavaretto

+0

@bfavaretto Вы правы. Я обновил ответ. –

Смежные вопросы