|
|
|
|
|
для: Trianon
(17.12.2007 в 00:15)
| | ну да 404, просто как-то... :) | |
|
|
|
|
|
|
|
для: PAUELL
(16.12.2007 в 23:26)
| | а что мешает просто честно отправить отклик
header("HTTP/1.0 404 Not found");
echo "<html><head><title>Not found</title></head><body>Not found</body></html>";
|
И почему в теме фигурирует статус 403?
Может сперва стоит статусы выучить? | |
|
|
|
|
|
|
|
для: Гость
(16.12.2007 в 19:57)
| | Господа! Видимо мне никто не поможет?
Вообщем я похоже сам нашел более раиональное решение, а главно - работает:
<?
// Получаем параметр из строки запросов
$error = $_GET['n'];
if (!preg_match ("/500|404|403|401|400|302|301/i", $_GET['n']))
{
include "themes/default/error/404.php";
}
else
{
include "themes/default/error/$error.php";
}
?>
|
Низнаю профессионально это или нет, почти всем моим требованиям удовлетворяет.
Спасибо afdm за наводку.
Вот только хочу тперь одно спросить: как мне вывести результат не в процессе условия где include стоят, а в какю-нибуть переменную после условия?
И как все-таки зделать такой праметр - error.php?=404
Нуи попутно вопрос, а можно ли результат допутим в переменную вывести выше самого решения? | |
|
|
|
|
|
|
|
для: Faraon
(16.12.2007 в 19:58)
| | Да контент находиться в MySQL, но не удаляего его от туда надо показать что страница отсутствует.
и еще такой вопрос по ошибкам!
с HTACCESS все панятно, пошлю куда надо, но охота чтобы сраницы была с таким параметром:
error.php?=403
непонимаю как сделать отсутствующий параметр
впрочем я хотя бы так сделал error.php?n=403 (тоже хорошо)
<?
$error = $_GET['n'];
if ($error == $_GET['n'])
{
include "themes/default/error/$error.php";
}
else
{
include "themes/default/error/404.php";
}
?>
|
я хотел сделать так чтобы дизайн ошибки подулючался из другого места
в этом коде только есть пара проблем:
1) условие не хочет выполняться, а именно открывается существующая, но ели она не существует то он не открывает ошибки 404, а пишет ошибку
Warning: main(themes/default/error/.php): failed to open stream: No such file or directory in j:\home\cms.ru\www\error.php on line 8
Warning: main(): Failed opening 'themes/default/error/.php' for inclusion (include_path='.;/usr/local/php/PEAR') in j:\home\cms.ru\www\error.php on line 8
|
2)очень хочется извлеченный дизайн конкретной ошибки не подключать в процессе выполнения условия, а вывести в переменную $content
если непонятно перспросите!!! очень надо! | |
|
|
|
|
|
|
|
для: PAUELL
(16.12.2007 в 16:47)
| | >вот олько старницы просто не было
А контент страницы у вас находятся в БД?
Толком не особо понятно что вам надо | |
|
|
|
|
|
|
|
для: PAUELL
(16.12.2007 в 19:48)
| | по русски - Если (НеЧисло()) | |
|
|
|
|
|
|
|
для: bronenos
(16.12.2007 в 17:23)
| | а подробнее можно? | |
|
|
|
|
|
|
|
для: afdm
(16.12.2007 в 12:41)
| | | |
|
|
|
|
|
|
|
для: afdm
(16.12.2007 в 12:41)
| | спасибо! только вот полюбому получается надо свои ошибки делать, а не хостинга :\
а что с этим? - как зделать в MySQL чтобы определенная страница как бы отключалась на время ну всмысле она была, но только ее в админке можно было временно отключить.
Пытался сделать так - почти получилось, вот олько старницы просто не было , а мне надо чтобы ошибка отображалась. | |
|
|
|
|
|
|
|
для: PAUELL
(16.12.2007 в 02:23)
| | или же можно как-то вот так проверять параметр GET:
<?php
// Если параметр содержит что-то кроме цифр, то
if(!preg_match("|^[\d]*$|",$_GET['page'])) // Осуществляем переадресацию на страницу ошибки
?>
|
По рег. выражениям ничем особо помочь не смогу, ибо сам плохо умею с ними работать... :)))
Но в вашем случае, думаю рег. выражения не особо помогут, т.к. жестких критериев по имени или по заголовку нет, нужно разрешать как буквы, так и цифры, все знаки препинания, вообщем всё, кроме тэгов и т.п.... | |
|
|
|
|