Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
24 / 24 / 15
Регистрация: 05.06.2018
Сообщений: 83

Выход с перенаправлением на предыдущую страницу

06.06.2018, 19:32. Показов 1815. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте. Никак не получается решить один вопрос, и надеюсь на вашу помощь.
Итак, наверху каждой страницы сайта находится ссылка, которая перенаправляет на файл logout.php, должный произвести выход пользователя.
Собственно сам файл logout.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
require_once('functions.php');
session_start();
 
if (isset($_SESSION['user']))
{
    destroySession();
    header("Refresh: 0");
    die;
}
else 
{
    header("Location: http://$pathurl");
    die;
}
Ссылка, перенаправляющая на этот файл, проста донельзя: <a hreg='mysite.com/logout'>Выход</a>.
Отдельно отмечу, что хочу попробовать решить проблему, оставив ссылку в первозданном виде, без передачи GET-данных. Пытаюсь таким образом не затронуть мое чувство прекрасного.
Мой вопрос состоит в том, как сделать так, чтобы этот выход перенаправлял пользователя на ту же страницу, откуда был произведен выход? Допустим, из всех N новостей пользователь находится на конкретной, открытой в данный момент. Она может иметь id равный 0, или 2, или 22.
Так как вернуть его после выхода на эту конкретную новость?
Гугл говорит, что для этого есть прекрасный сплав одной функции и переменной: header('Location '.$_SERVER['HTTP_REFFERER']);
Но этот же гугл говорит, что не стоит использовать конкретную переменную $_SERVER['HTTP_REFFERER']. (Я, правда, так и не понял, почему).
Собственно, прошу совета. Если какой-то из способов должен будет использовать javascript, ajax или jquery, то ничего страшного. В принципе, не найдя ответа, как сделать желаемое при помощи php, я уже начинаю склоняться к тому, чтобы провернуть такое на js. Этого, конечно, не хотелось бы, но...
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.06.2018, 19:32
Ответы с готовыми решениями:

Как же скачать страницу c перенаправлением??
Есть страницы – page.html с нее идет ссылка на page2.html. Подскажите как (или с помощью чего) можно скачать (или узнать код) страницы –...

Проблемы с перенаправлением на другую страницу
привет! ести проблемка, я делаю страницу голосование /опрос, на первой странице пользователь вводит свой уникальный код (получает по...

Форма обратной связи с перенаправлением на другую страницу
Доброго времени суток, уважаемые форумчане! Сегодня уже обращался за помощью на этот прекрасный форум, насчет непонятного для меня куска...

7
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
06.06.2018, 20:10
Цитата Сообщение от Mr_Nerub Посмотреть сообщение
Так как вернуть его после выхода на эту конкретную новость?
аяксом послать запрос выхода и сделать обновление страницы
1
24 / 24 / 15
Регистрация: 05.06.2018
Сообщений: 83
06.06.2018, 20:44  [ТС]
Цитата Сообщение от ytf Посмотреть сообщение
аяксом послать запрос выхода и сделать обновление страницы
Думал над этим.
Я правильно понимаю - ссылка вместо "/logout" или "/logout.php" будет выглядеть как <a href='logout();'>Выход</a>", где функция logout() будет написана в header'е сайта, дабы быть доступной на любой из страниц сайта? И в ней уже реализовать аякс?
Получается, если у пользователя включен js, то можно обновлять страницу на стороне пользователя. Но если выключен, то в любом случае придется либо перенаправлять, например, на главную, либо таки использовать $_SERVER['HTTP_REFFERER'].

Добавлено через 6 минут
Цитата Сообщение от Mr_Nerub Посмотреть сообщение
будет выглядеть как <a href='logout();'>Выход</a>", где функция logout()
Нет, не так. Если пользователь выключит js, то он тогда вообще не сможет выйти.
Получается что-то вроде <a href='mysite.com/logout' onclick='logout();'>Выход</a>. Тогда и аякс можно будет использовать с обновлением страницы, и в случае выключения js, выход все равно будет произведен на /logout (== /logout.php), и уже оттуда перенаправление на главную страницу. Да и ссылка будет выглядеть так, как мне нужно, ибо onclick не отображается у клиента в браузере.
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
09.06.2018, 13:29
ссылка не нужна, можно просто span или div с уникальным id
0
24 / 24 / 15
Регистрация: 05.06.2018
Сообщений: 83
09.06.2018, 13:58  [ТС]
ytf, не совсем. Я хотел сделать, чтобы работало и то, и другое, ведь у пользователя может быть сознательно выключено js.
Задача, в принципе, уже решена. С помощью ajax пользователь остается на той же странице при выходе, а в случае работы php, то его просто выкидывает на главную.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
09.06.2018, 17:25
Цитата Сообщение от Mr_Nerub Посмотреть сообщение
ведь у пользователя может быть сознательно выключено js
и много таких? сейчас без js ничего не работает (90%)
0
24 / 24 / 15
Регистрация: 05.06.2018
Сообщений: 83
09.06.2018, 17:30  [ТС]
zlojnaxa, не считал, но у меня и сроки не горят. Если пользователю достаточно js, то окей. Если станут попадаться те, кто не пользуется javascript, то вот им logout.php, на которое было потрачено времени всего ничего.
0
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
09.06.2018, 18:06
Цитата Сообщение от Mr_Nerub Посмотреть сообщение
Отдельно отмечу, что хочу попробовать решить проблему, оставив ссылку в первозданном виде, без передачи GET-данных. Пытаюсь таким образом не затронуть мое чувство прекрасного.
Чтобы не затронуть ваше чувство прекрасного, можете использовать не GET-параметр, а полное окончание адреса, например: /logout/current/page?current-parameters. Только на страницах ошибок оставьте просто /logout или /logout/ (и на главной, естественно, тоже).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.06.2018, 18:06
Помогаю со студенческими работами здесь

Переход на предыдущую страницу
Здравствуйте. Подскажите, плиз, как например при нажатии на кнопку &quot;Назад&quot; или &quot;Отмена&quot; происходил переход на страницу, которая...

Узнать предыдущую страницу
Здравствуйте. как можно узнать в javascript ссылку на страницу с которой пришел пользователь? referer не подходит-нужно получить ссылку...

Ссылка на предыдущую страницу
Добрый вечер подскажите, как сделать ссылку на предыдущую страницу к нужному DIV, т.е. переход на предыдущую страницу + автоматически...

Перенаправление на предыдущую страницу
Добрый день, Подскажите как сделать перенаправление на предыдущую страницу. Есть сайт визитка, на разных его страницах установлена...

Ссылка на предыдущую страницу
Как сделать так, чтобы при нажатии на ссылку переходил на предыдущую страницу (без указа в ссылке это странице) то есть не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru