Как сделать универсальный вывод нестандартного заголовка ошибки в php?

Ссылка скопирована
PHP
1 ответ

Нашел в сети несколько вариантов как оформить нестандартную ошибку в PHP, на примере 419:
header('Status: 419 Authentication Timeout'');
header('HTTP/1.0 419 Authentication Timeout'');
header('HTTP/1.1 419 Authentication Timeout'');
header('HTTP/1.0 419 Authentication Timeout', TRUE, 419);

Какой из них выбрать и в чем отличия? Если не считать http_response_code(419). Он выводит '419 Unknown Status Code', что не подходит.

Дополнительно:

header("{$_SERVER['SERVER_PROTOCOL']} 419 Authentication Timeout");

header("{$_SERVER['SERVER_PROTOCOL']} 419 Authentication Timeout");

  • Спасибо! Чтобы отметить как ответ, нужна какая-то ссылка на спецификацию, например в одном из вариантов фигурирует "Status:". В каком случае он используется и скорее всего его не будет в
    $_SERVER['SERVER_PROTOCOL']. Актуальна ли вот эта рекомендация https://stackoverflow.com/a/23190950 ?
  • fomiash, RTFM.

    Существует два специальных заголовка. Один из них начинается с "HTTP/" (регистр не важен) и используется для отправки кода состояния HTTP.

  • fomiash,

    нужна какая-то ссылка на спецификацию,

    ну так можно же и самому поискать. Информация открытая.
    https://yandex.ru/search/?text=спецификация+http+п...

Ответы:

А что значит нестандартная ошибка? Вы хотите свой текст отдать в заголовке ?

Чтобы вернуть 419 код - http_response_code(419);

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Мария Код Ответ

Для того чтобы сделать универсальный вывод нестандартного заголовка ошибки в PHP, можно использовать функцию header(). Эта функция используется для отправки заголовков HTTP из PHP скрипта.

Прежде всего, необходимо определить нестандартный заголовок ошибки. Например, если мы хотим вывести ошибку 404 (страница не найдена), мы можем использовать следующий заголовок:

```php
header("HTTP/1.0 404 Not Found");
```

Далее, можно добавить сообщение об ошибке, которое будет отображаться пользователю. Например:

```php
echo "Страница не найдена. Пожалуйста, проверьте правильность введенного адреса.";
```

Таким образом, при обращении к несуществующей странице пользователь увидит сообщение о том, что страница не найдена.

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

```php
function show_error($error_code, $error_message) {
header("HTTP/1.0 $error_code $error_message");
echo $error_message;
}
```

При вызове этой функции с нужными параметрами, можно выводить любые нестандартные заголовки ошибок. Например:

```php
show_error(500, "Внутренняя ошибка сервера. Пожалуйста, попробуйте позже.");
```

Таким образом, используя функцию header() и создавая универсальные функции для вывода ошибок, можно легко настроить вывод нестандартного заголовка ошибки в PHP.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно