Работает ли isset с GET? - PullRequest
       29

Работает ли isset с GET?

1 голос
/ 29 января 2012

Я знаю, что этот вопрос кажется глупым, и с помощью дополнительных исследований я мог бы найти ответ, но у меня есть крайний срок, чтобы помочь.

Используя codeigniter, я пытаюсь определить, является ли 'ID' в URL '' uID '(идентификатор пользователя) или' sID '(идентификатор системы).

код, который я использую:

    if(isset($this->input->get('uID'))) {
        $getID = $this-input->get('uID');
    } else {
        $getID = $this->input->get('sID');
    }

, когда я использую это, я получаю ошибку сервера, говорящую, что веб-сайт временно недоступен или находится в работе.Есть идеи?

Заранее спасибо за помощь.Обычно я трачу больше времени на поиск ответа сам, но у меня просто нет времени сегодня вечером.

Ответы [ 2 ]

4 голосов
/ 29 января 2012

Предупреждение, которое вы получаете, вероятно, является ошибкой 500. Это означает, что ваш сервер не настроен на отображение ошибок для вас, или вы не включили его в файле index.php.

Ошибка, которую вы получаете, но не видите: «Неустранимая ошибка: невозможно использовать возвращаемое значение функции в контексте записи», потому что вы не можете использовать isset для функции.

Если бы вы могли, он бы не сделал то, что вы ожидаете, поскольку CI $this->input->get('key') всегда возвращает значение - он возвращает false, если ключ не существует.

Поэтому, чтобы выполнить то, что вы пытаетесь сделать, вы должны написать:

$getID = $this->input->get('uID') ? $this->input->get('uID') : $this->input->get('sID');

Исходя из комментария ниже, я подумал, что также предоставлю его таким образом, чтобы он имел смысл для вас:

if($this->input->get('uID')) {
  $getID = $this->input->get('uID');
}
else {
  $getID = $this->input->get('sID'):
}

Два решения функционально одинаковы.

2 голосов
/ 29 января 2012

isset работает только на переменных .
$this->input->get() - это вызов функции . Это дает вам ошибку.

Я бы предположил, что если uID не установлено в запросе, $this->input->get вернет null или false или что-то подобное. То есть вам не нужно isset, возвращаемое значение уже должно быть falsey .

Я бы порекомендовал вам потратить немного времени на чтение Полное руководство по настройке PHP И пусто .

...