Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Переадресация в новость, после добавления

Переадресация в новость, после добавления


     11.08.2014    переадресация, новости    Все вопросы » Общие вопросы по PHP    2623

вопрос
Хочется сделать перенаправление в саму новость после её добавления пользователем, т.к после добавления можно нажимать F5 и новость будет дублироваться, мало ли какие пользователи есть. Все что нашел это вот такой хак. Но к сожалению на DLE 10.2 не работает и после добавления перенапрявляет на такую ссылку "site.ru/index.php?newsid=" то есть id отсутствует.
Помогите пожалуйста заставить работать данный хак на Dle 10.2

Ответа пока нет


14 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 11 августа 2014 20:10 -

Находишь:

$row['id'] = $db->insert_id();


Внизу добавляешь

$newId = $row['id'];



а в той конструкции юзаешь


header('Location: '.$config['http_home_url'].'index.php?newsid='. ( ! empty ($newId) ? $newId : $row['id'] );

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Julius123
Юзер

Julius123 - 11 августа 2014 20:18 -

dj-avtosh,
такая ошибка вылетела
Parse error: syntax error, unexpected ';' in /home/androidy/www/engine/modules/addnews.php on line 463 

В этой строке находится
header('Location: '.$config['http_home_url'].'index.php?newsid='. ( ! empty ($newId) ? $newId : $row['id'] );

dj-avtosh
PHP-developer

dj-avtosh - 11 августа 2014 20:22 -

скобочку забыл

header('Location: '.$config['http_home_url'].'index.php?newsid='. ( ! empty ($newId) ? $newId : $row['id'] ) );

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Julius123
Юзер

Julius123 - 11 августа 2014 20:28 -

dj-avtosh,
Спасибо большое, заработало. А можно как-то оставить стандартное сообщение о успешном добавлении новости но через 5 секунд перенапрявлять в саму новость?

dj-avtosh
PHP-developer

dj-avtosh - 11 августа 2014 20:29 -

Можно наверно на js

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.): @blob42
В телегу писать сразу задачу и бюджет.

Julius123
Юзер

Julius123 - 11 августа 2014 20:30 -

Цитата: dj-avtosh
Можно наверно на js

ну если это слишком сложно, тогда наверное не стоит. и так уже хорошо что перенапрявляет

holodoff
Юзер

holodoff - 5 мая 2015 09:08 -

в 10.4 не работает

qwerty666
Юзер

qwerty666 - 18 июля 2019 21:00 -

Подскажет кто-нибудь для 13.2?

ТeraМoune
Юзер

ТeraМoune - 18 июля 2019 21:25 -

Можно попробовать вместо header написать.

if( $config['allow_alt_url'] ) $location = $config['http_home_url']. $newId . '-' . $alt_name . '.html';
else $location = $config['http_home_url'].'index.php?newsid='. $newId;
$onload_scripts[] = <<<HTML
setTimeout(function(){
 window.location = '{$location}';
},5000);
HTML;

Через 5 секунд отправляет в новость.

qwerty666
Юзер

qwerty666 - 18 июля 2019 21:45 -

ТeraМoune, Братан, огромное спасибо! Выручил.

Universal
Юзер

Universal - 7 июня 2020 14:58 -

Пытаюсь это сделать на DLE 14 в editnews.php, но не получается. После открытия страницы редактирования новости через N секунд меня пытается выбросить на ссылку https://site.ru/-.html
Может подскажете? :)

TeraMoune
Эксперт

TeraMoune - 7 июня 2020 15:40 -

Да конечно подскажу, во первых не доступны переменные содержащие id и alt_name, во вторых никакого engine/modules/editnews.php файла в папке модулей нету.

Universal
Юзер

Universal - 7 июня 2020 16:01 -

В моем случае он есть :) Делал по этому методу - https://dle-faq.ru/ordersdesk/12537-polnocennoe-redaktirovanie-novosti-na-otdelnoy-stranice-dlya-dle-101.html#comment-id-63365
Делаю возможность редактирования новостей. Хочу что бы тоже была переадресация на страницу с видео после сохранения.

TeraMoune
Эксперт

TeraMoune - 7 июня 2020 17:18 -

Цитата: Universal
Хочу что бы тоже была переадресация на страницу с видео после сохранения.

Ну я дал ответ, не объявлены или не доступны переменные $newId и $alt_name

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх