解决 php提交表单到当前页面,刷新会重复提交
今天在写php程序的时候,发现一个问题,就是post提交到本页的表单数据,刷新后会反复提交。因此向群友请教。最终,得到了解决。如下:
然后给出一段代码 示例
<?php
session_start();
//读取服务器端的session_id,如果没有的话赋值为-1
$session_id = empty($_SESSION['session_id']) ? -1 : $_SESSION['session_id'];
//读取客户端的post_id,如果没有的话赋值为-2
$post_id = empty($_POST['post_id']) ? -2 : $_POST['post_id'];
//判断两个id是否相同,相同则说明已经处理过一次,不同则进行处理
if($session_id == $post_id){
echo "<h1>已经处理过了,不管了</h1>";
}else{
//如果页面还没有提交过表单,则显示表单,否则处理post过来的数据
if($post_id == -2){
?>
<html>
<body>
<form action="index.php" method="post">
<input type="text" hidden="hidden" name="post_id" id="" value="<?php echo rand(1, 999999); ?>" />
<input type="text" name="test" id="test" value="" />
<input type="submit" value=""/>
</form>
</body>
</html>
<?php
}else{
echo "<h1>正在处理</h1>";
//处理过后吧post_id存入session,方便下次比较
$_SESSION['session_id'] = $post_id;
}
}
?>
最后,如果你有更好的解决方法,欢迎留言!学习学习~
评论 (0)