Подскажите как реализовать

Статус
В этой теме нельзя размещать новые ответы.
Всё, разобрался =)
Задача решена.

Добавлено через 59 минут
Всё, разобрался =)
Задача решена.
Нет.Не разобрался))
Изначально делал не по header, а через echo.
Щас сделал через header и начал ругаться на эту строчку, что не так?Пробывал разные вариации:
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
header('Location: Для просмотра ссылки Войди или Зарегистрируйся
 
Всё, разобрался =)
Задача решена.
Добавлено через 59 минут
Нет.Не разобрался))
Изначально делал не по header, а через echo.
Щас сделал через header и начал ругаться на эту строчку, что не так?Пробывал разные вариации:
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
header('Location: Для просмотра ссылки Войди или Зарегистрируйся

Он же тебе подсказывает где ошибка:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/z111814/htdocs/thema/header.php:23) in /home/www/z111814/htdocs/catalog.php on line 152

Что там в файле catalog.php в 152 строке? Идет подключение header.php? Если так, то условие нужно поставить выше. В общем если нужна помощь, выложи кусок кода куда ты вставляешь проверку на id, только так можно разобраться
 
Ну вот проверка на ответ сервера "di-mars.ru/catalog.php?id_catalog=1234"
be1. ru/services/stat/
Status: HTTP/1.1 404 Not Found
Имеем код:
if(isset($_GET['id_catalog']))
{
$id_catalog = $_GET['id_catalog'];
}
else $id_catalog = 0;

if ($id_catalog>91)
{
header("Status: 404 Not Found");
exit();
}
Вставленный в самое начало файла catalog.php
С этим разобрались, подключение он убивает, но вывод 404 то как производится тогда, инклюдом чтоли?Без header подключение оставалось активным, т.е. ответ от сервера шел, вот.
 
С этим разобрались, подключение он убивает, но вывод 404 то как производится тогда, инклюдом чтоли?Без header подключение оставалось активным, т.е. ответ от сервера шел, вот.
PHP:
  <?php
$id_catalog = (isset($_GET['id_catalog'])) ? ($_GET['id_catalog']) : 0;
if ($id_catalog > 91)
{
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
header("Location: 404.php"); // страница ошибки, на которую будет редиректить
exit();
}
?>
должно работать
 
Тоже самое =\
Ответа нету, и страницы нету.И так header("Location: 404.php"); и так header("Location: /404.php");. В корне лежит файл.
 
Тогда самый простой вариант, чтоб не рыть вглубь, вместо header(Location), сделать html редирект, т.е.
PHP:
<?php
$id_catalog = (isset($_GET['id_catalog'])) ? ($_GET['id_catalog']) : 0;
if ($id_catalog > 91)
{
header("HTTP/1.0 404 Not Found");
header("Status: 404 Not Found");
echo '<META HTTP-EQUIV=REFRESH CONTENT="0; URL=./404.php">';
exit();
}
?>
 
Нее, ну редирект то понятно, это не интересно.Надо по человечески делать =)
А вообще нужно проверять не ID каталога, а на любую не корректную ссылку.Как на entec .ru - любую ссылку берёшь, изменяешь на не существующую и будет тебе 404 без ответа от сервера.
 
Нее, ну редирект то понятно, это не интересно.Надо по человечески делать =)
А вообще нужно проверять не ID каталога, а на любую не корректную ссылку.Как на entec .ru - любую ссылку берёшь, изменяешь на не существующую и будет тебе 404 без ответа от сервера.
Тогда нужно не такой фигней заморачиваться, а писать полноценный валидатор урлов с проверкой на их существование...
Короче задачу надо подробнее описывать...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху