可以这样:
<?php
session_start();
if(isset($_POST["cmd"])) {
if(! session_is_registered("submit")) {
session_register("submit");
$submit = 1;
echo "提交成功!<br>";
}else {
echo "你已经提交过了!<br>";
}
}
?>
<form action="" method=POST>
<input type=text name=txt>
<input type=submit name=cmd>
</form>
<?php
session_start();
if(isset($_POST["cmd"])) {
if(! session_is_registered("submit")) {
session_register("submit");
$submit = 1;
echo "提交成功!<br>";
}else {
echo "你已经提交过了!<br>";
}
}
?>
<form action="" method=POST>
<input type=text name=txt>
<input type=submit name=cmd>
</form>
die("对不起,你已经提交过了!");
} else {
...
$_SESSION['submit'] = 1;
}这里写了一个很简单的例子……只是提供一个思路。
帖子都有个tid来标志吧?
那就可以用这个来作为变量名呀,比如你发的帖子(tid为123),就$_SESSION['tid123']赋值~
帖子的id标记不妥。如果用户又写了一部分内容提交的呢?
如果是修改就不用理会了……不过我也觉得这个方法不好。发个帖就多个SESSION,大大降低服务器性能!为什么不用过度页面?即提交到另一程序,再用META转回来
if(! isset($_SESSION["old"])
$_SESSION["old"] = serialize($_POST);
else
if($_SESSION["old"] == serialize($_POST))
die("你已提交");还见过有用检索重复记录的方法的
其实主要的是不接受用户刷新的时候重复提交的数据。其他的就没什么了。
how?