【发布时间】:2010-03-10 05:07:27
【问题描述】:
我有一个登录系统,在登录时,如果我刷新浏览器,Chrome 会显示一个名为“确认重新提交表单”的弹出窗口。我认为其他浏览器也会发生同样的事情。
如何在没有此确认弹出窗口的情况下允许刷新浏览器?当然,我也想在刷新浏览器的同时保持登录状态。
【问题讨论】:
我有一个登录系统,在登录时,如果我刷新浏览器,Chrome 会显示一个名为“确认重新提交表单”的弹出窗口。我认为其他浏览器也会发生同样的事情。
如何在没有此确认弹出窗口的情况下允许刷新浏览器?当然,我也想在刷新浏览器的同时保持登录状态。
【问题讨论】:
处理完 POST 页面后,将用户重定向到同一页面。
开启http://test.com/test.php
header('Location: http://test.com/test.php');
这将摆脱该框,因为刷新页面不会重新提交数据。
【讨论】:
if($_SERVER['REQUEST_METHOD'] == "POST"){ header('blah blah blah'); }
exit; 以防止进一步的代码执行
好的,所以在你的登录页面顶部,你可以有这个:
<?php
if (isset($_POST['username'])) {
// Do you login stuff here....
if ($passed == true) {
header('Location: index.php');
} else {
echo "Invalid username/password!";
}
【讨论】: