Я пишу код для вставки данных в mysql на той же странице, откуда я извлекаю данные методом post. он работает нормально, но когда я обновляю страницу, он снова вставит. мой вопрос в том, как прекратить перевыполнение запроса вставки при обновлении страницывведите запрос на той же странице, с которой передаются данные.
ответ
Это связано с тем, что данные POST отправляются снова при обновлении. Ваш браузер должен дать вам предупреждение, что он это делает. Если вы не получите это предупреждение, вы можете использовать GET вместо POST, что не является хорошей идеей для действий, которые изменяют или вставляют данные.
Проверьте форму имеет этот атрибут:
<form method="post">
Если вы хотите, чтобы избежать его полностью, просто перенаправлять браузер после поста обратно.
<?php
if ($_POST) {
// insert into database
header("location: thisPage.php");
// don't bother with die() here
}
Поскольку редирект не используется в целях безопасности, и вы просто перенаправляет обратно на ту же страницу, что это на самом деле не нужно die()
потом.
Добавить переменную в вашу форму, а затем во время сохранения сбросить ее значение.
if(isset($_POST['save']))
{ //do your saving
$save="";
}
Для решения этой проблемы вы, вероятно, захотите использовать Post-Redirect-Get pattern. Хорошо, что вы используете POST для отправки данных на ваш сервер. После того, как вы внесете необходимые изменения, перенаправьте своего пользователя на страницу, которую вы хотите увидеть, с простым заголовком перенаправления. Это НЕ будет прерывать кнопку «Назад», и щелчок по ней вернет пользователя обратно в форму, не отправляя данные снова.
- 1. Переменные не передаются при отправке формы на той же странице
- 2. запрос и результат на той же странице
- 3. Symfony2 - Показать данные на той же странице
- 4. laravel данные дисплея на той же странице
- 5. Показать данные на той же странице или на отдельной странице?
- 6. показать данные на таблице с ajax на той же странице
- 7. Переназначение на той же странице
- 8. Якорь на той же странице
- 9. POST на той же странице
- 10. Несколько соединений socket.io на той же странице
- 11. Аутентификация с Twitter на той же странице
- 12. На той же странице Гиперссылка с PHP
- 13. PHP, отправляющий данные в таблицу на той же странице
- 14. Загрузить файл php на той же странице
- 15. отображение результатов mysql на той же странице
- 16. Извлечение файла cookie на той же странице
- 17. Отображение результатов на той же странице
- 18. CSRF-атака - запрос GET и POST на той же странице
- 19. Получение данных на той же странице jsp
- 20. Две коллекции на той же странице
- 21. Sava поисковый запрос и пребывание на той же странице
- 22. Multiple Ajax вызова на той же странице
- 23. php получить результаты на той же странице
- 24. Зеркальный Wordpress Случайный запрос на той же странице
- 25. jquery load на той же странице
- 26. Множественные циклы на той же странице показа
- 27. Показать запросы MySQL на той же странице
- 28. Данные JQuery post на той же странице PHP
- 29. сделать всплывающее окно, когда сообщение данные на той же странице
- 30. обновить данные после $ _POST на той же странице