说来惭愧,做PHP的工作近两年了,从来没有想过这个问题。看了写资料,还是有些乱,我总结了一些情况,也不知全不全,更不知对不对。
表单和处理程序可以在一个文件中,也可以在两个文件中
会产生表单重复提交的情况:
1)如果表单和处理在一个文件中,在我点击了submit上传的自己的文件来处理后,我点击了浏览器的刷新按钮。
2)如果表单和处理在一个文件中,我快速点击了submit 好几次。
3)如果表单和处理不在一个文件中,在我点击了submit上传后,会跳到相应处理的页面,在新页面中,我点击浏览器的刷新按钮。这是我能想到的会产生重复提交的情况,不知还有没有其它的了,欢迎补充。谢谢
表单和处理程序可以在一个文件中,也可以在两个文件中
会产生表单重复提交的情况:
1)如果表单和处理在一个文件中,在我点击了submit上传的自己的文件来处理后,我点击了浏览器的刷新按钮。
2)如果表单和处理在一个文件中,我快速点击了submit 好几次。
3)如果表单和处理不在一个文件中,在我点击了submit上传后,会跳到相应处理的页面,在新页面中,我点击浏览器的刷新按钮。这是我能想到的会产生重复提交的情况,不知还有没有其它的了,欢迎补充。谢谢
解决方案 »
- 求助!关于加密解密的问题
- 缩略图总是失真,拿他没辙
- 达人们.php里编程如何实现执行多条Sql?我在phpadmin里行.那php里也该行啊?
- jquery
- system($cmd);echo $cmd;一个失败,另一个粘贴到终端却成功
- 高分求点作图的思路或代码!!!
- 从mysql3升级到mysql4.1.10后的问题
- 高分求一SQL:请问怎么用select选取记录?顶者有分
- 关于mysql数据库语法的问题
- 递归函数里有foreach数组的时候,数组是怎么被遍历的??
- 写了一个PHP验证码生成例子,可是不生成SESSION。请各位指教
- 循环使用file_get_contents读取文件出错,只读取一条就没问题。
<?php
session_start();
if(empty($_SESSION['ip']))//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库
{
$_SESSION['ip']=$_SERVER['REMOTE_ADDR'];//第一次写入,为后面刷新或后退的判断做个铺垫
...........//写入数据库操作
}
else//已经有第一次写入后的操作,也就不再写入数据库
{
echo '请不要再次刷新和后退';//写一些已经写入的提示或其它东西
}
?>
第二个问题你可以点提交的时候用js 让按钮disable 这样就可以避免多次点提交了