我創建了一個使用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