PHP, если оператор с isset не работает - PullRequest
2 голосов
/ 26 февраля 2011

Я предположил, что это был простой код, но он не работает должным образом:

$id = $_GET['id'];
if (!isset($id)){
    header("HTTP/1.1 404 not found");
    include("404.php");
}
else {
    include('includes/functions.php'); 
}

Итак, я взял параметры get из URL, но я не получаю ошибку 404?

Есть идеи?

Ответы [ 3 ]

11 голосов
/ 26 февраля 2011

Вы должны сделать тест на $_GET['id'] напрямую:

if(!isset($_GET['id']) { ... }

Даже если $_GET['id'] не установлено, так как вы пытались присвоить его $id, $id начинает существовать, поэтому тест возвращает true и, таким образом, у вас нет ошибки 404.

1 голос
/ 26 февраля 2011

Вы проверяете, установлен ли $ id. И это:

$id = $_GET['id'];

Таким образом, вы должны проверить, установлена ​​ли переменная get:

isset($_GET['id'])
0 голосов
/ 26 февраля 2011

вы создали переменную $ id в первой строке.Вы должны проверить $_GET['id'].Также вы можете проверить эту переменную на пустое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...