如何避免Firefox确认消息?

时间:2017-07-03 09:05:23

标签: php firefox post

我创建了一个使用POST方法的表单的登录系统。此POST将信息发送到login.php,其中包含在索引php中。在login.php中,如果用户名和密码更正了一些jQuery代码,则在index.php上更改一些内容(添加菜单项)。我的问题是,当我想要刷新页面时,Firefox总是会发送一条确认消息(要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息。 )。我对此有所了解,我知道这个问题是关于我使用POST方法发送数据。有些人建议使用GET方法,虽然消息没有出现,但数据也没有发送。你能建议一个解决方案(如果它存在)?提前感谢您的帮助。

我的PHP代码:

 $query1 = pg_query($conn, "SELECT * from users WHERE password = '$pswd' and name='$username' ");


$arr_1 = pg_fetch_all($query1);


$name_lenght= strlen($arr_1[0][name]);
$pswd_lenght= strlen($arr_1[0][password]);

if ($name_lenght > 0 && $pswd_lenght > 0){


 $_SESSION ['user'] =  $_POST['user'];
 $_SESSION ['password'] = $_POST['password'];


echo "<script>  
$('#manu1').removeClass('hide').addClass('show');
$('#manu2').removeClass('hide').addClass('show');
$('#manu3').removeClass('hide').addClass('show');
</script>";

1 个答案:

答案 0 :(得分:0)

处理表单的脚本应该重定向到您登录后应显示的页面,而不是显示输出本身。这会断开新页面与表单提交的连接,因此它不会询问您是否要重新提交表单数据。

$query1 = pg_query($conn, "SELECT * from users WHERE password = '$pswd' and name='$username' ");
$arr_1 = pg_fetch_all($query1);
if (!empty($arr_1)) {
    $_SESSION ['user'] =  $_POST['user'];
    $_SESSION ['password'] = $_POST['password'];
    header("Location: welcome.php");
    exit();
}