Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP停止多个表单提交的最佳方法是什么?_Php - Fatal编程技术网

使用PHP停止多个表单提交的最佳方法是什么?

使用PHP停止多个表单提交的最佳方法是什么?,php,Php,我想知道使用PHP停止多个表单提交的最佳方法是什么,请举个例子。 <?php //do stuff with the form input //do not display anything header('Location: ready.php'); ?> 最快的方法是将用户重定向到另一个页面,这样,如果他在重定向后重新编码,就不会再次发送任何输入 您可以使用$\u会话存储用户状态,即他是否已发送表单。在客户端,您只需在单击表单按钮后禁用表单按钮即可。然而,这提供了一个非常

我想知道使用PHP停止多个表单提交的最佳方法是什么,请举个例子。


<?php

//do stuff with the form input
//do not display anything
header('Location: ready.php');

?>
最快的方法是将用户重定向到另一个页面,这样,如果他在重定向后重新编码,就不会再次发送任何输入


您可以使用$\u会话存储用户状态,即他是否已发送表单。

在客户端,您只需在单击表单按钮后禁用表单按钮即可。然而,这提供了一个非常基本的安全级别


下一步是通过PHP阻止它。在这种情况下,最好在表单中有一个隐藏字段,该字段由唯一且可识别的标记组成。要执行检查,您必须保留过去使用过的代币列表,并检查是否已提交。

我一直想知道是否要重新启用该按钮。如果用户按下“停止”,我们是否应该使用
setTimeout()
(或类似)重新启用它。是否存在当用户中止表单提交时触发的
onabort
?不管怎样,+1:)它的全部目的是阻止多次提交。如果您提供了取消提交的方法,那么从UI的角度来看,重新启用
submit
似乎是必须的。您可以在单击中止时触发事件,而不是
setTimeout()
。但是,当用户中止提交时,会触发什么事件?