Послать код ошибки сервера

glukerrr

Guest
Послать код ошибки сервера

Добрый день!
Поздравляю клуб с признанием от php.net !

У меня два вопроса.
1. Как сделать редирект на пагу стандартными средствами. Проще всего послать код ошибки сервера и в него вложить инфу о урле. Но я не знаю как это сделать...

И вот еще ламерский вопрос..


Пишу функцию в файле common.php

PHP:
<?php

function redirect($page) {
  
  echo '
  <html>
  <head>
  <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
  <meta http-equiv="Refresh" content="1000; url='.$page.'" target="_top">
  </body>                    
  </html>';
  return;
}

?>
потом в другом файле делаю так:

PHP:
<?php

include('common.php');

$id = empty($HTTP_GET_VARS["id"]) ? 0 : $HTTP_GET_VARS["id"];

if (! $id) redirect('index.php');
  
?>
Блин нифига.. Делает не то что нужно.. Есть такое подозрение, что когда я говорю include вызывается функция redirect с параметром $page == null, т.е. до моего if'a Как бороться?
 

dik

Guest
Re: Послать код ошибки сервера

Автор оригинала: glukerrr
1. Как сделать редирект на пагу стандартными средствами. Проще всего послать код ошибки сервера и в него вложить инфу о урле. Но я не знаю как это сделать...
Если я тебя правильно понял, то тебе требуется показать посетителю определенную страницу с ошибкой сервера ,например при неправильно набраном урле, пример www.server.com/blablabla сервер дожен выдать ошибку 404 и перекинуть юзера на заготовлену тобой страницу .
Если это так,то просто в httpd.conf обавь строки
ErrorDocument 400 /папка/400.html
и так далее для всех ошибок
коды такие
200 - ОК. Пользователю не посылается.
201 - Created. Объект создан.
202 - Accepted. Информация принята.
203 - Non-Authoritative Information. Не заслуживающая доверия информация.
204 - No content. Нет содержания.
205 - Reset Content. Восстановить исходное содержание.
206 - Partial Content. Частичное содержание.

Коды третьего класса (3xx) сообщают о перенаправлениях; чтобы выполнить запрос нужны еще какие-то действия.

300 - Multiple Choices. Несколько вариантов на выбор.
301 - Moved Permanently. Ресурс перемещен на постоянной основе.
302 - Moved Temporarily. Ресурс временно перемещен.
303 - See Other. Смотрите другой ресурс.
304 - Not Modified. Не изменился.
305 - Use Proxy. Используйте прокси-сервер.

Коды четвертого класса (4xx) сообщают об ошибках клиента, т.е. о том, что проблема связана не с сервером, а с Вашими запросами.

400 - Bad Request. Некорректный запрос.
401 - Unauthorized. Нет разрешения.
402 - Payment Required. Требуется оплата.
403 - Forbidden. Доступ запрещен.
404 - Not Found. Ресурс не найден.
405 - Method Not Allowed. Недопустимый метод.
406 - Not Acceptable. Непреемлимый запрос.
407 - Proxy Authentication Required. Необходима регистрация.
408 - Request Timeout. Время обработки запроса истекло.
409 - Conflict. Конфликт.
410 - Gone. Ресурса больше нет.
411 - Length Required. Необходимо указать длину.
412 - Precondition Failed. Не выполнено предварительное условие.
413 - Request Entity Too Large. Запрашиваемый элемент слишком велик.
414 - Request-URI TOO Long. Идентификатор ресурса слишком длинный.
415 - Unsupported Media Type. Неподдерживаемый тип ресурса.

Коды пятого класса (5xx) сообщают об ошибке на сервере (к этим ошибкам Вы не имеете отношения).

500 - Internal Server Error. Внутренняя ошибка сервера.
501 - Not Implemented. Функция не реализована.
502 - Bad Gateway. Дефект шлюза.
503 - Service Unavailable. Служба недоступна.
504 - Gateway Timeout. Время прохождения через шлюз истекло.
505 - HTTP Version Not Supported. Неподдерживаемая версия HTTP
 

glukerrr

Guest
Спасибо за информацию. Но ты неправильно меня понял. Мне нужен был редирект.. Это ошибка 3xx Но не знаю какая.. и какие параметры в нее упаковывать...

Вообще идея такая. если юзер пытается пойти по адресу viewitem.php без парамерров или с неверным параметрами то послать его на index.php Я решил эту проблему вышеописанным способом, но хотел узнать, есть ли стандартные средства в php "возбуждения" ошибок, реальзации редиректов и т.д.

Спасибо!
 
Сверху