Heim php教程 php手册 如何避免表单的重复提交

如何避免表单的重复提交

Jun 21, 2016 am 09:07 AM
form quot

重复|重复提交

你是否遇到过“重复提交”的问题?要解决这个问题其实并不难。这里有一个简单的方法避免同一表单的重复提交。
首先,我们可以定义一个session变量用来保存一个表单的提交序列号。这里我定义为“$userLastAction”。然后在表单里加入一个hidden变量,把值设为$userLastAction+1:
>
最后,在处理提交之前判断表单是否已被提交过:
if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // 序列号加1
// 处理表单数据
}

原文:
Avoid multiple form submissions
Submitted By: Douglas E. Cook
Date: 07/26/00 19:46
Does your database suffer from "duplicate post" syndrome? The cure isn't too difficult. Here is a simple way to prevent users from submitting the same form multiple times.

First, declare a session variable to store a serial number for each form. I call mine "$userLastAction." Then, in every form where duplicate submission is a problem, include a hidden field, and set the value to $userLastAction+1:

>

Finally, verify that the form has not been previously submitted before acting on the submission:

if($lastAction>$userLastAction and inputIsValid(...)){
$userLastAction++; // Increment serial number
// Act on form here
}

译自:phpbuilder
这只是一个小技巧,用来避免一个表单的重复提交。这样多少可以防止一些灌水的现象,另外有时候由于网络状况等原因用户不知道提交是否成功,也会再次提交同一份表单。
这个技巧的主要原理是不允许用户回退后再次提交,也就是说回退后修改再提交也是不允许的,而且也不能避免Ctrl-C/Ctrl-V的灌水办法。究竟有没有用,还是看各位站长的喜好了。



Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1660
14
PHP-Tutorial
1261
29
C#-Tutorial
1234
24
php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Binaryx wird wieder umbenannt, und die vier, die es der Gemeinschaft gibt, steigt im Begriff zu steigen? Binaryx wird wieder umbenannt, und die vier, die es der Gemeinschaft gibt, steigt im Begriff zu steigen? Mar 04, 2025 pm 12:00 PM

Binaryx 'Token -Name Änderung: Von BNX auf vier und dann zu Form hat die tiefe Bedeutung hinter strategischen Anpassungen Binaryx kürzlich das Token -Symbol von vier bis $ $ Form geändert, das die Branche weit verbreitet hat. Dies ist nicht das erste Mal, dass Binaryx seinen Namen geändert hat, und sein Token -Symbol hat einen Übergang von BNX auf vier erlebt. In diesem Artikel werden die strategischen Absichten dieser Reihe von Namensänderungen eingehend untersucht. 1. Token Name Change-Prozess und strategische Überlegungen Binaryx starteten zunächst das $ BNX-Token auf der Basis der BNB-Kette im Jahr 2021, um das Gaming-Ökosystem von Play-to-Earn (P2E) zu unterstützen. Anfang 2024, um das Wirtschaftsmodell zu optimieren

Kann es in HTML5 mehrere Formulare geben? Kann es in HTML5 mehrere Formulare geben? Aug 01, 2022 pm 05:28 PM

In HTML5 kann es mehrere Formulare geben. Die Regeln erlauben die Verwendung mehrerer Formular-Tags auf derselben HTML-Seite. Um jedoch zu verhindern, dass das Backend sie beim Senden nicht erkennt, müssen Sie dem Formular unterschiedliche IDs oder Klassen hinzufügen. Die Syntax lautet „<from action= "url" id=" id value 1">Formularelement</from><from action="url" id="id value 2">Formularelement</from>.....".

Was ist das Tag, das das Formular in HTML5 definiert? Was ist das Tag, das das Formular in HTML5 definiert? Jul 26, 2022 pm 04:26 PM

Der Tag, der ein Formular in HTML5 definiert, ist „<form>“. Mit dem Formular-Tag wird ein HTML-Formular (Formularfeld) für Benutzereingaben erstellt, um Benutzerinformationen zu sammeln und zu übertragen. Der gesamte Inhalt des Formulars wird mit der Syntax „<form action="Submit Address" method=" übermittelt. Submit-Methode „name="form name">form control</form>". Ein Formular kann ein oder mehrere Formularelemente enthalten, z. B. „input“, „select“ und „textarea“.

Organisieren Sie formularbezogene Elemente umfassend! Organisieren Sie formularbezogene Elemente umfassend! Aug 05, 2022 am 11:45 AM

Dieser Artikel gibt Ihnen eine detaillierte Zusammenfassung der Wissenspunkte zu Formularelementen in HTML. Ich hoffe, er wird Ihnen hilfreich sein!

php记录搜索引擎蜘蛛爬行记录代码 php记录搜索引擎蜘蛛爬行记录代码 Jun 13, 2016 am 10:08 AM

php记录搜索引擎蜘蛛爬行记录代码。php教程记录搜索引擎蜘蛛爬行记录代码 center form action=setup.php method=post table align=center tr td服务器:/tdtdinput value=localhost name=server //td /tr tr td用

图片消失怎么解决 图片消失怎么解决 Apr 07, 2024 pm 03:02 PM

图片消失如何解决先是图片文件上传$file=$_FILES['userfile'];  if(is_uploaded_file($file['tmp_name'])){$query=mysql_query("INSERT INTO gdb_banner(image_src ) VALUES ('images/{$file['name'

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没有关问题 Jun 13, 2016 am 10:15 AM

不用数据库来实现用户的简单的下载,代码如下,但是却不能下载,请高手找下原因,文件路劲什么的没问题。

See all articles