Автор Тема: Модуль запрета обновления страницы (F5)  (Прочитано 1081 раз)

0 Пользователей и 1 Гость просматривают эту тему.

APTEMOHАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Всем добра!  :hu:

Заметил часто пишут/спрашивают, как победить обновление страницы (F5) после какого либо действия (обмен серебра, покупка, продажа и т.д.)
Поэтому делюсь Модуль запрета обновления страницы (F5)

Работает так. Есть форма нажали отправить - отправилось. При нажатии на обновить или F5 на клавиатуре получим сообщение об ошибке (типо Ошибка! Вы использовали F5) и код НЕ выполнится. Можно еще добавить редирект на страницу.

Пару скринов


[свернуть]

Ну и сам код:


<?php
if (isset($_POST['go'])) {

    if(isset($_SESSION["add_form"]) AND $_SESSION["add_form"] == $_POST["add_form"]){
   
        unset($_SESSION["add_form"]);

        // Здесь ваш код обработки форм

        echo "Успешно!Вы нажали отпрвить: ".$_POST['text'];

    }else echo "Ошибка! Вы использовали F5";
}
?>


<form method="POST" action="">
    <?php $_SESSION["add_form"] = rand(1,1000); ?>
    <input type="hidden" name="add_form" value="<?=$_SESSION["add_form"]; ?>" />
    <input type="text" name="text" maxlength="50" placeholder="" required>
    [br /][br /]
    <input type="submit" name="go" value="Отправить">
</form>

Все!

P.S. Жмите + в репу и/или Спасибку!
 
Пользователи, которые поблагодарили этот пост: Cente-Seo, Alex2017, crystaltrumpet

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Более 2000 сообщений Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 32
  • Сообщений: 2028
  • Страна: ru
  • Поблагодарили: 242 раз(а)
  • Репутация +40/-1
  • Пол: Мужской
  • Дата рождения:
    1992-04-18
    Социальные сети:
    ВКонтакте
Модуль запрета обновления страницы (F5)
« Ответ #1 : 23 Июля 2018, 13:35:45 »
^55$ код кодом,а практические применение?!

 

APTEMOHАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Модуль запрета обновления страницы (F5)
« Ответ #2 : 23 Июля 2018, 16:21:10 »
код кодом,а практические применение?!

// Здесь ваш код обработки форм

Любая форма (обменник, покупка, сбор, продажа и т.д.)
 

Kuper

  • *
  • Оффлайн
  • Награды Более 7 лет на форуме Более 250 сообщений Топ 10 по сообщениям Репутация более 5
  • Дата регистрации: Дек. 2016
  • Возраст: 34
  • Сообщений: 435
  • Страна: ru
  • Поблагодарили: 35 раз(а)
  • Репутация +8/-2
  • Пол: Мужской
  • Дата рождения:
    1989-11-19
    Социальные сети:
    ВКонтакте
Модуль запрета обновления страницы (F5)
« Ответ #3 : 24 Июля 2018, 18:03:16 »
Подобные "проблемы" решаются другим образом. а F5 - не единственный способ обновить страницу)

APTEMOHАвтор темы

  • *
  • *
  • Оффлайн
  • Награды Более 8 лет на форуме Болеее 500 сообщений Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 529
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    Социальные сети:
    ВКонтакте
Модуль запрета обновления страницы (F5)
« Ответ #4 : 26 Июля 2018, 11:38:07 »
Подобные "проблемы" решаются другим образом.

Согласен! Лучше отправить заголовки.

P.S.Этот костыль попросили сделать(именно так).