说来惭愧,做PHP的工作近两年了,从来没有想过这个问题。看了写资料,还是有些乱,我总结了一些情况,也不知全不全,更不知对不对。
表单和处理程序可以在一个文件中,也可以在两个文件中
会产生表单重复提交的情况:
1)如果表单和处理在一个文件中,在我点击了submit上传的自己的文件来处理后,我点击了浏览器的刷新按钮。
2)如果表单和处理在一个文件中,我快速点击了submit 好几次。
3)如果表单和处理不在一个文件中,在我点击了submit上传后,会跳到相应处理的页面,在新页面中,我点击浏览器的刷新按钮。这是我能想到的会产生重复提交的情况,不知还有没有其它的了,欢迎补充。谢谢
表单和处理程序可以在一个文件中,也可以在两个文件中
会产生表单重复提交的情况:
1)如果表单和处理在一个文件中,在我点击了submit上传的自己的文件来处理后,我点击了浏览器的刷新按钮。
2)如果表单和处理在一个文件中,我快速点击了submit 好几次。
3)如果表单和处理不在一个文件中,在我点击了submit上传后,会跳到相应处理的页面,在新页面中,我点击浏览器的刷新按钮。这是我能想到的会产生重复提交的情况,不知还有没有其它的了,欢迎补充。谢谢
解决方案 »
- Uncaught exception 'com_exception' with message '操作无法使用 '
- PHP中怎样限制文本框输入内容的数量
- input 接收 ajax 返回数据时提示对象不支持此属性或方法
- 求高手: 这个问题解决一下,出钱都行啊!
- fckeditor在PHP中使用时如何插入附件
- 高手请进!
- 使用mcrypt这个库能够生成公钥私钥吗?我怎么没有找到相应的方法
- 为什么连接ORACLE出先这样的错误?
- 这么简单的东西都出错,想不通。高手帮忙啊
- php查询条件为一维数组
- 写了一个PHP验证码生成例子,可是不生成SESSION。请各位指教
- 循环使用file_get_contents读取文件出错,只读取一条就没问题。
<?php
session_start();
if(empty($_SESSION['ip']))//第一次写入操作,判断是否记录了IP地址,以此知道是否要写入数据库
{
$_SESSION['ip']=$_SERVER['REMOTE_ADDR'];//第一次写入,为后面刷新或后退的判断做个铺垫
...........//写入数据库操作
}
else//已经有第一次写入后的操作,也就不再写入数据库
{
echo '请不要再次刷新和后退';//写一些已经写入的提示或其它东西
}
?>
第二个问题你可以点提交的时候用js 让按钮disable 这样就可以避免多次点提交了