Когда форма регистрации отправляется с использованием метода POST, и когда вы обновляете ту же страницу, она запрашивает повторную отправку или повторную отправку информации. Как мы можем это предотвратить?
Используйте post-redirect-get . Вкратце:
Вы можете использовать ajax. Вы сохраняете один и тот же PHP-код, который вы помещаете в другой файл, и отправляете данные через ajax.
Вы можете использовать одноразовый случайный токен в форме. В первый раз, когда этот токен отправляется (с другими данными), предпринимается действие. Будущие представления одного и того же токена не влияют (или просто показывают ту же страницу подтверждения), и отклонения с пустыми или недействительными токенами отклоняются.
Это также защищает от подделки подпроса .
Попробуй это:
<?php if (!empty($_POST)){ ?> <script type="text/javascript"> window.location = window.location.href; </script> <?php } ?>
Я поместил его в файл prevent_resend.php, а затем включил его после завершения обработки postdata.
// ... save data from $_POST to DB include('prevent_resend.php'); // ... do some other stuff
в// ... save data from $_POST to DB include('prevent_resend.php'); // ... do some other stuff