首页
友情链接
壁纸
推荐
联系站长
Search
1
【Emlog】插件-检测页面是否收录并自动提交百度
3,273 阅读
2
腾讯云-3年轻量2核2G仅408-老用户也可以享受低价购买服务器了!
3,008 阅读
3
如何使用php调用api接口,获得返回json字符的指定字段数据
2,891 阅读
4
关于加入腾讯云自媒体分享计划
2,820 阅读
5
【Typecho插件】ChatgptWrite
2,667 阅读
技术教程
个人日记
原创技术
学习日记
php
c
前端html/css/js
java
Mysql
算法日记
数据结构
java web
Spring框架
生活随笔
我的项目
登录
Search
标签搜索
java
算法
mysql
LeetCode
前端
数据结构
数据库
java web
数据结构与算法
php
学习记录
网站
代码
typecho
插件
学习笔记
emlog
c语言
servlet
技术教程
吃猫的鱼
累计撰写
174
篇文章
累计收到
515
条评论
首页
栏目
技术教程
个人日记
原创技术
学习日记
php
c
前端html/css/js
java
Mysql
算法日记
数据结构
java web
Spring框架
生活随笔
我的项目
页面
友情链接
壁纸
推荐
联系站长
搜索到
1
篇与
的结果
2022-07-22
解决 php提交表单到当前页面,刷新会重复提交 的问题
解决 php提交表单到当前页面,刷新会重复提交今天在写php程序的时候,发现一个问题,就是post提交到本页的表单数据,刷新后会反复提交。因此向群友请教。最终,得到了解决。如下:{callout color="#ff0000"}只需要在表单里生成一个token(随机字符串),然后用个input装起来,设置hidden。第一次post处理完数据后把token存入session,接下来每次post判断一下token跟session中的一不一样,一样则说明数据处理过了。{/callout}然后给出一段代码 示例<?php session_start(); //读取服务器端的session_id,如果没有的话赋值为-1 $session_id = empty($_SESSION['session_id']) ? -1 : $_SESSION['session_id']; //读取客户端的post_id,如果没有的话赋值为-2 $post_id = empty($_POST['post_id']) ? -2 : $_POST['post_id']; //判断两个id是否相同,相同则说明已经处理过一次,不同则进行处理 if($session_id == $post_id){ echo "<h1>已经处理过了,不管了</h1>"; }else{ //如果页面还没有提交过表单,则显示表单,否则处理post过来的数据 if($post_id == -2){ ?> <html> <body> <form action="index.php" method="post"> <input type="text" hidden="hidden" name="post_id" id="" value="<?php echo rand(1, 999999); ?>" /> <input type="text" name="test" id="test" value="" /> <input type="submit" value=""/> </form> </body> </html> <?php }else{ echo "<h1>正在处理</h1>"; //处理过后吧post_id存入session,方便下次比较 $_SESSION['session_id'] = $post_id; } } ?>最后,如果你有更好的解决方法,欢迎留言!学习学习~
2022年07月22日
328 阅读
0 评论
1 点赞
友情链接
文章阅读:
网站地图