更改投票值后,表单会对更改进行POST,然后刷新页面。这在加载时在页面顶部调用:
if (isset($_POST['q'.$question_id]))
{
$user->updateQuestionVotes($question_id, $_POST['q'.$question_id]);
}
为什么每次我第一次刷新后都会更新?我需要以某种方式取消它吗?
答案 0 :(得分:5)
因为这是每个浏览器的自然行为。您需要将用户重定向到同一页面,以便POST值不再出现在标题中。
你试过这个吗?
header("Location: /back/to/same/page");
这会将用户重定向到他们需要重新登陆的任何页面,删除他们发送的任何POST参数。每次刷新页面时,它都使用与之前相同的标题,这意味着POST内容仍然存在。