


Anti-shake and anti-duplicate submission: essential skills in PHP development
Anti-shake and anti-duplicate submission: essential skills in PHP development
With the development of the Internet, Web applications have become indispensable in people's lives part. In PHP development, anti-shaking and anti-repetitive submission are one of the very important skills. This article will introduce the concepts and principles of anti-shake and anti-duplicate submission, and provide specific code examples.
1. The concept and principle of anti-shake
Anti-shake is a common technical means used to reduce the number of executions of frequently triggered events. Simply put, the function of anti-shake is to only execute the last triggered event within a certain period of time, while ignoring previous trigger events.
The principle of anti-shake is to use a timer to delay the function of executing the event. When the event is triggered, a timer will be set. Within the time range of the timer, if the event is triggered again, the time will be re-timed; if the event is not triggered again after the timer expires, the last triggered event will be executed. .
The following is a simple PHP code example that implements the anti-shake function:
function debounce($callback, $delay) { $timer = null; return function () use ($callback, $delay, &$timer) { if ($timer) { clearTimeout($timer); } $args = func_get_args(); $timer = setTimeout(function () use ($callback, $args) { call_user_func_array($callback, $args); }, $delay); }; }
Usage example:
function search($keyword) { // 模拟搜索操作 echo "搜索关键词:$keyword "; } $debounceSearch = debounce('search', 1000); // 设置延迟为 1 秒 $debounceSearch('PHP'); // 触发搜索关键词:PHP $debounceSearch('JavaScript'); // 不触发 $debounceSearch('Python'); // 不触发
In the above example, a debounce function is generated by calling the debounceSearch function, the delay time is set to 1 second. Each time the debounceSearch function is called, if there is a new call within 1 second, the time will be reset; if there is no new call within 1 second, the last call will be executed.
2. The Concept and Principle of Anti-Duplicate Submission
Anti-duplicate submission refers to preventing users from submitting the same request multiple times during operations such as form submission. Repeated submissions may cause abnormalities in back-end data and even cause unnecessary pressure on the system.
The principle of preventing repeated submission is to generate a unique identifier for each request before submitting it. After receiving the request, the backend will check whether the identifier has been used. If it has been used, it will be considered a duplicate submission and refuse to process; if it has not been used, it will continue to process the request and mark the identifier as used.
The following is a simple PHP code example that implements the function of preventing duplicate submission:
function preventDuplicateSubmit() { $token = md5(uniqid(rand(), true)); $_SESSION['token'] = $token; return $token; } function checkDuplicateSubmit() { $token = isset($_SESSION['token']) ? $_SESSION['token'] : ''; unset($_SESSION['token']); return !empty($token) && $token === $_POST['token']; } // 处理表单提交请求 function handleFormSubmit() { if (checkDuplicateSubmit()) { echo "请勿重复提交表单"; return; } // 处理正常请求 echo "表单提交成功"; } // 生成表单 function generateForm() { $token = preventDuplicateSubmit(); echo <<<HTML <form method="post" action="submit.php"> <input type="hidden" name="token" value="$token"> <!-- 表单其他字段 --> <button type="submit">提交</button> </form> HTML; } // 页面中显示表单并处理提交 generateForm(); handleFormSubmit();
In the above example, a unique identifier is generated through the preventDuplicateSubmit function and saved in session. When the form is submitted, the identifier will be added to the request as a hidden field (token), and it will be checked whether the requested token is consistent with the one saved in the session.
Through the above anti-shaking and anti-resubmission techniques, the user experience and security of web applications can be improved. In actual development, according to specific needs and business scenarios, appropriate adjustments and expansions can be made for different scenarios to meet actual needs.
Although specific code examples are provided above, it is recommended to read the documentation carefully and test before use to ensure the stability and security of the code.
The above is the detailed content of Anti-shake and anti-duplicate submission: essential skills in PHP development. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



When using Notepad, we need to change the extension of Notepad due to different things we need to deal with. So how do we change the extension? In fact, we only need to use the rename function to modify the extension. How to change the extension of Win10 Notepad: 1. In the folder, first click on the top and check it. 2. In this way, the file extension will be displayed, then right-click your notepad and select 3. Select. Change the following. 4. If changed to .jpeg format. Then a prompt will pop up, click on it. 5. The change is completed, and that’s it.

Title: How to convert HTML to MP4 format: Detailed code example In the daily web page production process, we often encounter the need to convert HTML pages or specific HTML elements into MP4 videos. For example, save animation effects, slideshows or other dynamic elements as video files. This article will introduce how to use HTML5 and JavaScript to convert HTML to MP4 format, and provide specific code examples. HTML5 video tag and CanvasAPI HTML5 introduction

Title: Specific code examples for SQL triggers to call external programs Text: When using SQL triggers, sometimes it is necessary to call external programs to process some specific operations. This article will introduce how to call external programs in SQL triggers and give specific code examples. 1. Create a trigger First, we need to create a trigger to listen for an event in the database. Here we take the "order table (order_table)" as an example. When a new order is inserted, the trigger will be activated, and then an external program will be called to perform an operation.

How to grab Dump files In a computer system, a Dump file is a file that records the operating status and data of the system. In software development and system troubleshooting, grabbing Dump files can help program developers and system administrators analyze and diagnose various problems, such as program crashes, memory leaks, and system abnormalities. This article will introduce some common methods and tools to grab Dump files. 1. How to grab Dump files under Windows system using Task Manager: In Windows operating system,

Previously, win11 was officially released, and many users have already started to enjoy win12. They want to know when win12 will be released. In fact, according to the rules, it will be released around 2024. When was win12 released: A: Win12 is expected to be released around the fall of 2024. 1. According to Microsoft’s latest breaking information, win12 is expected to be released in the fall of 2024. 2. And this time win12 will have multiple new design concepts, and there will be more improvements in neatness and visual appearance. 3. At the latest developer meeting, Microsoft developers revealed that they will create a floating taskbar to give the taskbar a floating feeling.

What is the NVIDIA Control Panel? With the rapid development of computer technology, the importance of graphics cards has become more and more important. As one of the world's leading graphics card manufacturers, NVIDIA's control panel has attracted even more attention. So, what exactly does the NVIDIA control panel do? This article will give you a detailed introduction to the functions and uses of the NVIDIA control panel. First, let's understand the concept and definition of NVIDIA control panel. The NVIDIA Control Panel is a software used to manage and configure graphics card-related settings.

There are many friends who use win7. When watching videos or materials on the computer, they will need to adjust the proportion. So how to adjust it? Let’s take a look at the detailed setting method. How to set the desktop display ratio of win7: 1. Click on the lower left corner of the computer to open the "Control Panel". 2. Then find "Appearance" in the control panel. 3. After entering the appearance, click "Show". 4. Then you can adjust the size and display of the desktop according to the desired display effect. 5. You can also click "Adjust Resolution" on the left. 6. Adjust the proportion of the computer desktop by changing the screen resolution.

Full-width and half-width are common concepts in Chinese input methods, and they represent different character widths. In the computer field, the concepts of full-width and half-width are mainly used to describe the size of space occupied by Chinese characters and English letters on the screen or in print. First of all, full-width and half-width originally originated in the era of typewriters. On typewriters, Chinese characters are usually displayed in full-width form, while English characters are displayed in half-width form. This is because Chinese characters are relatively wide, and using full-width can make the entire article look more beautiful and the layout more compact. The English characters are
