-
php教程之php form表单的提交(2)
本站最新发布 C#从入门到精通
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
name="text" id="text"><br> <input name="cont" value="提交" type="submit"> </form> </body> </html> <script> var count = 0; function submitOnce(form){ if(count == 0){ count++; return true; }else{ alert('请勿重复提交表单!'); return false; } } </script>
试听地址 https://www.xin3721.com/eschool/CSharpxin3721/
name="text" id="text"><br> <input name="cont" value="提交" type="submit"> </form> </body> </html> <script> var count = 0; function submitOnce(form){ if(count == 0){ count++; return true; }else{ alert('请勿重复提交表单!'); return false; } } </script>
第二、使用Cookie处理
使用Cookie记录表单提交的状态,根据其状态可以检查是否已经提交表单,请见下面的代码:
<html> <body> <form action="" method="post" name="register" enctype="multipart/form-data"> username: <input type="text" name="text" id="text"><br> <input name="submit" value="提交" type="submit"> </form> </body> </html> <?php if(isset($_post['submit'])){ setcookie('tmpcookie','',time()+30); header('Location:'.$_SERVER[PHP_SELF]); exit; } if(isset($_COOKIE['tmpcookie'])){ setcookie('tmpcookie','',0); echo '请勿重复提交表单'; }
如果客户端禁止了Cookie,该方法将不起任何作用,这点请注意。
第三、使用Session处理
利用PHP的Session功能,也能避免重复提交表单。Session保存在服务器端,在PHP运行过程中可以改变Session变量,下次访问这个变量时,得到的是新赋的值,所以,可以用一个Session变量记录表单提交的值,如果不匹配,则认为是用户在重复提交,请见如下代码:
<?php session_start(); $code = mt_rand(0,1000000); $_SESSION['code'] = $code; ?> <html> <body> <form action="deal.php" method="post" name="register" enctype="multipart/form-data"> username: <input type="text" name="text" id="text"><br> <input type="hidden" name="code" value="<?=$code?>"> <input name="submit" value="提交" type="submit"> </form> </body> </html>
在接收页面的PHP代码如下:
<?php session_start(); if(isset($_POST['code'])){ if($_POST['code'] == $_SESSION['code']){ }else{ echo '请不要重复提交表单'; } } ?>
第四、使用header函数转向
除了上面的方法之外,还有一个更简单的方法,那就是当用户提交表单,服务器端处理后立即转向其他的页面,代码如下所示。
<html> <body> <form action="deal.php" method="post" name="register" enctype="multipart/form-data"> username: <input type="text" name="text" id="text"><br> <input name="submit" value="提交" type="submit"> </form> </body> </html>
deal.php
<?php if(isset($_POST['submit'])){ //业务处理... header('location:success.php'); } ?>
success.php
<?php echo '提交成功';
最新更新
linux常用指令和一些选项的汇总
centos7下安装mysql6初始化安装密码
ubuntu之命令相关问题
文件系统格式化和挂载
关于Linux下内存和Swap
phpize安装php扩展(本文章以php7扩展mbstr
对FileStream的几种属性和方法认识
[原创][开源] SunnyUI.Net 字体图标
C# BinaryWriter BinaryReader demo
后台读取Html文件节点信息写入到新的ht
php安装扩展时报错:make: *** [mbstring.lo]
php多版本:已存在php5场景下,编译安装
编译安装apache2.2对应的mod_proxy_fcgi.so模块
linux修改环境变量分析
[apue] epoll 的一些不为人所注意的特性
树莓派使用 OLED 屏显示图片及文字
容器技术之Dockerfile(三)
【原创】Linux中断子系统(二)-通用框架
C# 在Word中添加Latex 数学公式和符号
inncheck命令 – 检查语法
access数据库远程连接
java web操作Access数据库
数据库学习总结(1)
二级Access数据库大纲知识要点
链接表的意义
《社工服务管理系统》Access开发心得
让ADO.NET Entity Framework 支持ACCESS数据库
C#连接Access
数据库实验系列之3存储过程和触发器实验
Excel 数据导入至Sqlserver 数据库中 ltrim()