Heim > Artikel > Backend-Entwicklung > So verhindern Sie mehrere Formularübermittlungen in PHP: Eine umfassende Anleitung
Preventing Multiple Form Submissions in PHP: A Comprehensive Guide
Multiple form submissions can be a problem in web applications, leading to unintended consequences. This article will provide a detailed solution to prevent multiple submissions in PHP.
Solution Using Tokens
PHP offers a robust solution using unique tokens that can be generated and stored in session. Here's how to implement it:
Code Example:
<?php session_start(); function getToken(){ $token = sha1(mt_rand()); $_SESSION['tokens'][$token] = 1; return $token; } function isTokenValid($token){ if(!empty($_SESSION['tokens'][$token])){ unset($_SESSION['tokens'][$token]); return true; } return false; } $postedToken = filter_input(INPUT_POST, 'token'); if(!empty($postedToken) && isTokenValid($postedToken)){ // Process Form } $token = getToken(); ?> <form method="post"> <input type="hidden" name="token" value="<?php echo $token; ?>"/> <!-- Form Content --> </form>
Redirects and Backward Compatibility
To maintain proper backward and forward navigation, it's recommended to implement a POST/redirect/GET pattern. This involves:
By following these steps, you can effectively prevent multiple form submissions and ensure the integrity of your web application.
Das obige ist der detaillierte Inhalt vonSo verhindern Sie mehrere Formularübermittlungen in PHP: Eine umfassende Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!