php如何防止form重复提交
引入cookie机制来解决(推荐学习:PHP编程从入门到精通)
用户提交表单到后端,在 Cookie 中做标记,指定时间内重复提交无效。但是用户禁用 Cookie 这个方法就失效了。
<?php if (isset($_COOKIE['formFlag'])) { exit('error'); } // 处理数据 // 30秒内重复提交无效 setcookie('formFlag', time(), time() + 30);
Session
立即学习“PHP免费学习笔记(深入)”;
展示表单页面的时候,生成随机数,同时存储在 Session 中以及表单隐藏域中。第一次提交的时候,对比成功删除 Session 中的值。
利用PHP的Session功能,也能避免重复提交表单。Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交。
<?php if (!isset($_SESSION['formFlag']) || $_POST['formFlag'] != $_SESSION['formFlag']) { exit('error'); } // 处理数据 unset($_SESSION['formFlag']);
以上就是php如何防止form重复提交的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号