После перенаправления на страницу php с параметрами запроса и их обработки, как вернуться на ту же страницу без параметров? - PullRequest
0 голосов
/ 05 марта 2020

У меня есть одна PHP страница, которая проверяет $_REQUEST['delete'], чтобы увидеть, существует ли она.

Если это так, то я удаляю номер элемента, на который он ссылается, из списка и перенаправляю на другую вкладку. Переключатель вкладок делается путем скрытия и выставления различных div.

Однако URL-адрес, отображаемый в поле URL-адреса браузера, все еще содержит URL-адрес ?delete=nn. Это может привести к повторному удалению, если я случайно отправлю снова, не меняя отображаемый URL.

Как удалить параметры при сдвиге вкладок? Или эквивалентно, я могу переключиться на новую вкладку через мой URL, например, URL ?tab=2.

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

После обработки удаления страница восстанавливается и отображается вкладка по умолчанию.

Конечно, URL не изменяется, так как я использовал его для создания страницы. Вот псевдокод:

<?php
    ... head stuff
    ... definition of tabs with onClicks for switching to named tab
    ... create content of div for 1st tab
    ... start creating content of div for 2nd tab
    ... examine $_REQUEST for 'delete'
    ... if it exists then
    ...    alter contents of data to eliminate item nn from list
    ... then
    ... continue content of div for 2nd tab using altered data
    ... then create content of div for 3rd tab
    ... add content for javascript that manages tab switching, login, etc.
    ... echo the entire contents of the page for presentation.
    ... the javascript switches to the default tab on load.

Я хотел бы, чтобы URL-адрес в поле URL-адреса браузера НЕ имел параметров при загрузке страницы.

1 Ответ

0 голосов
/ 09 марта 2020

Мне кажется, я плохо сформулировал вопрос. Я посмотрел на предложение «Funk Do c», и он работает, поместив новую запись в стек History, но, изучив ее, я понял, что на самом деле мне нужна кнопка refre sh браузер для обновления sh экрана без использования каких-либо переменных Post или Get, которые могли присутствовать при первоначальном рисовании экрана. Я понял это, когда изменился, чтобы убедиться, что я публиковал переменные формы, и после нажатия refre sh он спросил о повторной отправке формы. «PushState», похоже, все еще сохраняет переменные Post. Я пытался установить для них разные значения, но это, похоже, ни на что не влияло.

Проблема заключалась в том, что я удалял значение в списке по номеру строки, которое удаляло его из файла. Если я использую кнопку refre sh, то номер строки в запросе снова удаляется в измененном файле. Я хочу, чтобы пользователю пришлось нажимать на ссылку, чтобы вызвать удаление, а не удаление, если они обновляют sh страницу.

Предложения или комментарии все еще приглашены, но я рассмотрю вопрос об отзыве, поскольку было заявлено плохо.

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...