а не знаете как сделать реддирект на 404 страницу,если ввести id не существующий новостиИзменить сам запрос к бд.
[CODE lang="php" title="Запрос"]$row = $db->query("SELECT * FROM ".PREFIX."_post as post INNER JOIN ".PREFIX."_post_extras extra on post.id = extra.news_id WHERE post.id='$id_news'");[/CODE]
и затем в коде запрашиваем переменную news_read
проблему решила не знаете как сделать реддирект на 404 страницу,если ввести id не существующий новости
довольно просто, если допустим нет такой новости, то можно спокойно сделать така не знаете как сделать реддирект на 404 страницу,если ввести id не существующий новости
ты, может и да, а другим наверное будет интересно.проблему решил
у меня способ легчедовольно просто, если допустим нет такой новости, то можно спокойно сделать так
[CODE lang="php" title="Если новость отсутствует" highlight="1"]if(count($row) == 0) {
header( "HTTP/1.1 404 not exists" );
header ( 'Location: /index.php' );
}[/CODE]
тут главное выловить ID новости. Если запрос выдал 0 строк, то скрипт выдаст эту ошибку и перенаправит на главную
если допустим нет значения в определённом поле, то тут нужно сделать так
[CODE lang="php" title="Нет данных в значении" highlight="1,2,4-6"]if(!empty($xf['screens']))
$screens = $xf['screens'];
else {
header( "HTTP/1.1 404 not exists" );
header ( 'Location: /index.php' );
}
[/CODE]
не забываем менять под себя
ты, может и да, а другим наверное будет интересно.
не очень хороший способ запихивать перенаправление в шаблонизатор. нужно до него инициировать проверкуу меня способ легче
$tpl->set( '{title}', stripslashes( $row['title'] ) ? $row['title'] : header('Location: /404.html',true, 301) ); // Название
(хоть он и дерьмовый)
а почему это плохо?не очень хороший способ запихивать перенаправление в шаблонизатор. нужно до него инициировать проверку
потому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.а почему это плохо?
потому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.
не понимаю шо я делаю не так,сделал такпотому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.
if(count($row) == 0) {
header( "HTTP/1.1 404 not exists" );
header ( 'Location: /playerid='$_GET['id_news']'/' );
}
ERR_TOO_MANY_REDIRECTS
заменить наheader ( 'Location: /playerid='$_GET['id_news']'/' );
header ( 'Location: /playerid=' . $_GET['id_news'] . '/' );
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?