页面很简单:
<form action="" method="post">
<input type="submit"/>
</form>
action为空,就是他自己。1、第一次打开这个页面时,是get请求;
2、当我点击了submit,就post请求他自己;
3、这个文件返回了结果,当然,显示的还是他自己;
4、此刻,我再点刷新,提示是否重复提交表单?难道他不认为这次的刷新还是应该以get请求吗?如何让它在post以后,点击刷新,然他仍然以get方式请求他自己?【注】:action必须提交到他自己,而不能是另一个文件。
<form action="" method="post">
<input type="submit"/>
</form>
action为空,就是他自己。1、第一次打开这个页面时,是get请求;
2、当我点击了submit,就post请求他自己;
3、这个文件返回了结果,当然,显示的还是他自己;
4、此刻,我再点刷新,提示是否重复提交表单?难道他不认为这次的刷新还是应该以get请求吗?如何让它在post以后,点击刷新,然他仍然以get方式请求他自己?【注】:action必须提交到他自己,而不能是另一个文件。
解决方案 »
- 求教php函数如何回收内存
- PHP上传文件失败,怎么回事?我是照抄的也失败了。。
- 如何可以隐藏输出的内容
- 象PHPMYADMIN 一样怎么做呢?
- php连接access的mdb数据库出现问题,不知道是不是系统的问题
- 用soapclient 这个返回的数组是什么意思
- 请教一个登录验证问题
- 关于计数器防刷新问题!!!
- 在Linux下的Apache启动时提示"Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName" ?
- 请问getdate()函数的用法,谢谢!
- 简单的 删除修改条目 的功能
- 分享PHP 5.3.2 + SQLServer2005 + IIS 6.0环境搭建
connection = keep-alive
我要如何用php代码只为这个页面断掉这个长连接?但是不能修改服务器的全局设置。这是个猜想,首先我暂时不懂如何断掉长连接,其次,我担心就算断掉了长连接,之前的session是否还有效?我仍然希望记住这个访客连接。
post能改成get么?
写个函数控制FORM的提交:
<form action="" method="post"
onsubmit="form_submit(<?php echo isset($_COOKIE['cookie'])?$_COOKIE['cookie']?'' ;?>)">
// 这个COOKIE在第一次POST过后生成.
....
<script>
function form_submit(cookie)
{
return cookie==''?true:false;
// 不存在COOKIE提交,否则不提交..
}
</script>
看看这个思路行不行..
我设置了<?php header('connection: close')?>,并监测到的确没有保持长连接了,但是刷新后仍然提示重复提交表单。我恍然大悟到,改页面的request= "POST ****.php HTTP/1.1",这个是不会变的,看来修改长连接的方式行不通。
为能想到唯一可能的方式就是header跳转到他自己了。header('location: 他自己的文件名'); //成功!!!!!!!!!!!!!!!!!!!!
Oh Yeah!!!!!
if($_SERVER['REQUEST_METHOD']=='POST'){
header("location: /test/post2get.php");
}
?>
<form action="" method="post">
<input type="submit"/>
</form>补充一点,为了配合SEO,最好给每次跳转找一个合适的理由,但最好不要是302跳转
到底用什么返回代码,需要研究研究。200就挺好,那么有其他更合适的吗?
可以做到你想到的结果
如果验证成功,就header到某页面(可以是同一个php文件但是显示成功信息),
如果不成功,继续显示原form和错误信息这个是很多现有php软件的做法