Переменная браузера не работает при включении?

Итак, у меня есть код, который говорит

if (!$num_users || $num_users !== 1 ) {
include_once('../assets/scripts/error.php?error=404');
exit();
}

и это не работает, я получаю ошибку

не удалось открыть поток: нет такого файла или каталога

но если я изменю строку включения на

include_once('../assets/scripts/error.php');

оно работает. Мне нужно иметь ?error=404 в конце, чтобы указать странице вывести сообщение об ошибке этого типа. Любая помощь будет признательна!


person frankmeacey    schedule 01.09.2011    source источник


Ответы (2)


if (!$num_users || $num_users !== 1 ) {
    $error_type = 404;
    include_once('../assets/scripts/error.php');
    exit();
}

А затем в error.php используйте переменную $error_type, если она определена

person Jonathan Fingland    schedule 01.09.2011

Это действительно не то, как все работает. ?error=404 — это параметр, который будет передаваться через HTTP-сервер при разборе PHP-кода. include буквально просто берет содержимое указанного файла и вставляет его в текущий файл прямо здесь. Вы можете установить переменную $error перед включением, и тогда вы сможете получить к ней доступ во включенном файле.

person Gian    schedule 01.09.2011