我创建了一个使用POST方法的表单登录系统。这个POST发送信息到index.php,它包含在index php中。在login.php中,如果用户名和密码正确,几个jQuery代码会改变index.php中的一些内容(添加菜单项)。我的问题是,当我想刷新页面时,Firefox总是发送确认消息()要显示此页面,Firefox必须发送信息,以便重复以前执行的任何操作(例如搜索或订单确认)) 。我有红色的,我知道这个问题是关于我使用POST方法发送数据。有些人建议使用GET方法,虽然消息不会出现,但数据也不会发送。你能建议一个解决方案吗(如果它存在的话)?预先感谢您的帮助。如何避免Firefox确认信息?
我的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>";
一个简单的解决方案就是使用转换页面和重定向。假设页面“login”是你表单的目标。 'login'处理表单数据,设置用户会话(cookie等)并重定向到你的页面,我们称之为'user'。这样做完成后,当刷新时,刷新'user'而不是'login',而不是绑定到表单数据。所以浏览器不要求你再次提交 – Kaddath
https://en.wikipedia.org/wiki/Post/Redirect/Get – CBroe