DevCraft - Разработка приложений

Приветствую!

Это новый и обновлённый сайт maxim-harder.de! Если вы были зарегистрированы на старом сайте, то восстановите свой пароль на сайте!

Создай свой аккаунт!

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

hent4b

Проверенный

hent4b

Проверенный
Реакции
0% 0% 0%
Версия DLE
10.х
Последнее редактирование модератором:

Maxim

Интересующийся
Команда форума

Maxim

Интересующийся
Команда форума
Реакции
100% 0% 0%
Изменить сам запрос к бд.
Запрос:
$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'");
и затем в коде запрашиваем переменную news_read
 
Последнее редактирование:

hent4b

Проверенный

hent4b

Проверенный
Реакции
0% 0% 0%
Изменить сам запрос к бд.
Запрос:
$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'");
и затем в коде запрашиваем переменную news_read
а не знаете как сделать реддирект на 404 страницу,если ввести id не существующий новости
 

Maxim

Интересующийся
Команда форума

Maxim

Интересующийся
Команда форума
Реакции
100% 0% 0%
а не знаете как сделать реддирект на 404 страницу,если ввести id не существующий новости
довольно просто, если допустим нет такой новости, то можно спокойно сделать так
Если новость отсутствует:
if(count($row) == 0) {
    header( "HTTP/1.1 404 not exists" );
    header ( 'Location: /index.php' );
}
тут главное выловить ID новости. Если запрос выдал 0 строк, то скрипт выдаст эту ошибку и перенаправит на главную

если допустим нет значения в определённом поле, то тут нужно сделать так
Нет данных в значении:
if(!empty($xf['screens']))
        $screens = $xf['screens'];
    else {
    header( "HTTP/1.1 404 not exists" );
    header ( 'Location: /index.php' );
}
не забываем менять под себя

ты, может и да, а другим наверное будет интересно.
 

hent4b

Проверенный

hent4b

Проверенный
Реакции
0% 0% 0%
довольно просто, если допустим нет такой новости, то можно спокойно сделать так
Если новость отсутствует:
if(count($row) == 0) {
    header( "HTTP/1.1 404 not exists" );
    header ( 'Location: /index.php' );
}
тут главное выловить ID новости. Если запрос выдал 0 строк, то скрипт выдаст эту ошибку и перенаправит на главную

если допустим нет значения в определённом поле, то тут нужно сделать так
Нет данных в значении:
if(!empty($xf['screens']))
        $screens = $xf['screens'];
    else {
    header( "HTTP/1.1 404 not exists" );
    header ( 'Location: /index.php' );
}
не забываем менять под себя


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

Maxim

Интересующийся
Команда форума

Maxim

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

Maxim

Интересующийся
Команда форума

Maxim

Интересующийся
Команда форума
Реакции
100% 0% 0%
а почему это плохо?
потому что шаблонизатор должен отдавать определённое значение, в случае с отдачей заголовка, сервер возвращает заголовок страницы, а не значение. поэтому проверка должна проходить до шаблонизатора.
 

hent4b

Проверенный

hent4b

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

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

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

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

Maxim

Интересующийся
Команда форума

Maxim

Интересующийся
Команда форума
Реакции
100% 0% 0%
@hent4b, извини, из-за работы времени вообще нет ни на что.

позже сделаю нормальный модуль
 

Верх