Страницы как на кинопоиске

  • Автор темы Автор темы hent4b
  • Дата начала Дата начала

Maxim

Well-known member
Команда форума
Регистрация
17 Фев 2015
Сообщения
300
Реакции
46
Не в сети
Изменить сам запрос к бд.
[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
 
Последнее редактирование:
АТ
АТ
hent4b

hent4b

Member
Регистрация
19 Апр 2019
Сообщения
13
Реакции
0
Не в сети
Изменить сам запрос к бд.
[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 не существующий новости
 

Maxim

Well-known member
Команда форума
Регистрация
17 Фев 2015
Сообщения
300
Реакции
46
Не в сети
а не знаете как сделать реддирект на 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]
не забываем менять под себя

проблему решил
ты, может и да, а другим наверное будет интересно.
 
АТ
АТ
hent4b

hent4b

Member
Регистрация
19 Апр 2019
Сообщения
13
Реакции
0
Не в сети
довольно просто, если допустим нет такой новости, то можно спокойно сделать так
[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]
не забываем менять под себя


ты, может и да, а другим наверное будет интересно.
у меня способ легче :D
$tpl->set( '{title}', stripslashes( $row['title'] ) ? $row['title'] : header('Location: /404.html',true, 301) ); // Название
(хоть он и дерьмовый)
 

Maxim

Well-known member
Команда форума
Регистрация
17 Фев 2015
Сообщения
300
Реакции
46
Не в сети
у меня способ легче :D
$tpl->set( '{title}', stripslashes( $row['title'] ) ? $row['title'] : header('Location: /404.html',true, 301) ); // Название
(хоть он и дерьмовый)
не очень хороший способ запихивать перенаправление в шаблонизатор. нужно до него инициировать проверку
 

Maxim

Well-known member
Команда форума
Регистрация
17 Фев 2015
Сообщения
300
Реакции
46
Не в сети
а почему это плохо?
потому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.
 
АТ
АТ
hent4b

hent4b

Member
Регистрация
19 Апр 2019
Сообщения
13
Реакции
0
Не в сети
потому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.
потому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.
не понимаю шо я делаю не так,сделал так
Код:
if(count($row) == 0) {

    header( "HTTP/1.1 404 not exists" );

    header ( 'Location: /playerid='$_GET['id_news']'/' );

}
но выдает ошибку
Код:
ERR_TOO_MANY_REDIRECTS
 

Maxim

Well-known member
Команда форума
Регистрация
17 Фев 2015
Сообщения
300
Реакции
46
Не в сети
hent4b @hent4b, извини, из-за работы времени вообще нет ни на что.

позже сделаю нормальный модуль
 
,
Все файлы и изображения загружаем на форум!
Сверху