За последние 24 часа нас посетили 73175 программистов и 10221 робот. Сейчас ищет 2971 программист ...

Как сделать чтобы кнопка обновления браузера выдовала ту же страницу?

Тема в разделе "PHP для новичков", создана пользователем paris454, 6 июл 2023.

  1. paris454

    paris454 Гость

    С нами с:
    6 июл 2023
    Сообщения:
    1
    Симпатии:
    0
    Есть авторизованный пользователь, форма, скрипт для выдачи одноразовой ссылки продукта.

    Проблема - пользователь нажимает на кнопку обновления , делается новый запрос , и он скачивает 2,3, и т.д. раз.

    Джава скрипты не эффективны!
    Нагуглил систему POST / Redirect / GET !
    Есть даже описание;

    Проблема решается разбиением запроса пользователя на несколько этапов. Первый этап (POST) отправка пользователем данных и после выполнения метода POST происходит следующее — клиент получает не 2хх статус, а 3хх (Redirect). Второй этап (Redirect) — перенаправление на нужную страницу (например «операция успешно выполнена») и теперь когда пользователь обновит страницу, то запрос (GET) уже будет не к странице с заполненной формой, а к перенаправленной странице (где обычно сообщение об статусе операции).

    Важно подчеркнуть момент с перенаправлением на другую страницу и как происходит очищение данных пользователя, чтобы он не смог их отправить повторно. Рассмотрим отличия операций Forward и Redirect.

    Но у меня ничего не получилось.
    Если у кого по этой схеме получилось, отпишитесь по шагам, буду благодарен.

    [​IMG]
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.497
    Симпатии:
    1.726
    Ну так, при обработке post, кладёшь свою одноразовую ссылку в сессию, и перенаправляешь на страницу, которая покажет её пользователю