关于用session实现避免表单反复提交的方法

具体如何实现?清高手指点。
---------------------------------------------------------------

可以这样:

1   
2session_start();   
3if(isset($_POST["cmd"])) {   
4if(! session_is_registered("submit")) {   
5session_register("submit");   
6$submit = 1;   
7echo "提交成功!

<br/>

1";   
2}else {   
3echo "你已经提交过了!

<br/>

1";   
2}   
3}   
1<form action="" method="POST">
2<input name="txt" type="text"/>
3<input name="cmd" type="submit"/>
4</form>

---------------------------------------------------------------

SAMPLE:

if (isset($_SESSION['submit'])) {
die("对不起,你已经提交过了!");
} else {
...
$_SESSION['submit'] = 1;
}

这里写了一个很简单的例子……只是提供一个思路。
---------------------------------------------------------------

你问题没提清楚嘛

我上面也说了,只是个思路问题~
帖子都有个tid来标志吧?
那就可以用这个来作为变量名呀,比如你发的帖子(tid为123),就$_SESSION['tid123']赋值~

---------------------------------------------------------------

又些部分?id值不同嘛~
如果是修改就不用理会了……

不过我也觉得这个方法不好。发个帖就多个SESSION,大大降低服务器性能!

为什么不用过度页面?即提交到另一程序,再用META转回来
---------------------------------------------------------------

用$_SESSION[]就不能用session_register()/session_unregister()/session_is_registered() functions

Published At
Categories with Web编程
comments powered by Disqus