How to prevent form from being submitted repeatedly
Introducing a cookie mechanism to solve the problem(Recommended learning: PHP Programming From entry to proficiency)
The user submits the form to the backend and marks it in the cookie. Repeated submissions within the specified time will be invalid. But this method will fail if the user disables cookies.
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处理数据 // 30秒内重复提交无效 setcookie('formFlag', time(), time() + 30);
Session
When displaying the form page, a random number is generated and stored in the Session and the hidden field of the form. When submitting for the first time, compare and successfully delete the value in the Session.
Using PHP's Session function can also avoid repeated submission of forms. Session is saved on the server side. The Session variable can be changed while PHP is running. The next time you access this variable, you will get the newly assigned value. Therefore, you can use a Session variable to record the value submitted by the form. If it does not match, it is considered It is the user who is submitting repeatedly.
<?php if (!isset($_SESSION['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) { exit('error'); } // 处理数据 unset($_SESSION['formFlag']);
The above is the detailed content of How to prevent form from being submitted repeatedly in php. For more information, please follow other related articles on the PHP Chinese website!