PHP如何解决表单重复提交

Posted zhichun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP如何解决表单重复提交相关的知识,希望对你有一定的参考价值。

利用session
 
表单隐藏域中存放session(表单被请求时生成的标记)。采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不存在,说明已提交过,忽略本次提交。
 
加载提交的页面时候,生成一个随机数,
$code = mt_rand(0,1000000);
存储在表单的隐藏输入框中:
< input type="hidden" name="code" value="“>
在接收页面的php代码如下:
 
 
<?php
session_start();
if(isset($_POST[‘code‘]))
if($_POST[‘code‘] == $_SESSION[‘code‘])
// 重复提交表单了
else
$_SESSION[‘code‘] =$_POST[‘code‘]; //存储code
++++++++++++++++++++
if( isset($_POST[‘newUser‘]))
if($_POST[‘newUser‘] == $_SESSION[‘newUser‘])
// 重复提交表单了
else
$_SESSION[‘newUser‘] =$_POST[‘newUser‘]; //存储cod
 
REFEREENCE:
 

以上是关于PHP如何解决表单重复提交的主要内容,如果未能解决你的问题,请参考以下文章

php避免form表单重复提交

如何使用 PHP 会话来防止重复提交表单?

php通过记录IP来防止表单重复提交方法分析

PHP避免刷新页面重复提交

php通过token验证表单重复提交

如何防止在 PHP 中重复提交表单(跨多个窗口进行保护)?