2016-03-06 3 views
0

У меня есть веб-сайт, основанный на базе php, и я хочу реализовать функцию, где есть раздел на панели навигации, на котором отображается история предыдущих посещенных страниц (с их URL-адресами) на веб-сайте. Я планирую использовать массив $_SESSION для хранения этого списка.Можете ли вы использовать javascript для изменения переменной сеанса php?

Это должно быть достаточно простым, но я также хочу иметь кнопку удаления рядом с каждой записью истории, чтобы пользователь мог удалять страницы из панели истории. Проблема заключается в том, что для обновления массива $_SESSION и удаления записи необходимо перезагрузить страницу, и если пользователь находится на странице, такой как страница результатов поиска, это вызовет ошибки, потому что сгенерированная страница зависит от представленную форму. На других страницах были бы другие примеры этой проблемы.

Я бы предпочел не хранить поиск и т. Д. В переменной сеанса, чтобы обойти это, поэтому было интересно, есть ли какой-то способ использования javascript для удаления записи на панели истории, а затем как-то обновить php переменной сеанса из javascript, когда пользователь перемещается в сторону или обновляет страницу ... но я не уверен, как js может изменить переменную сеанса php. Может ли это работать или есть другое решение?

ответ

2

Вы можете следовать следующим шагам:

  1. сделать вызов Ajax к PHP файл и уничтожить SESSION переменные, относящиеся к странице пользователя посетил историю.

  2. ajax Успех, скрыть/удалить HTML элементы или контейнер, отображающие URL-адреса страниц страниц на веб-странице, используя JavaScript.

Поскольку ваша страница поиска зависит от POST значений, это обеспечит страницы истории этого пользователя очищается без необходимости обновления страницы. Когда пользователь переходит к какой-либо другой ссылке, страница будет перезагружена, а пользователь не получит более старые ссылки.

Надеюсь, это поможет!

+0

Ах да Ajax, отлично, спасибо за помощь! – dlofrodloh

1

Вы можете использовать AJAX, например, если вы нажмете кнопку выхода из системы, ajax отправит информацию на сервер, но php выполнит всю работу по уничтожению этого сеанса. Множество примеров ajax для stackoverflow.

Смежные вопросы