2011-10-24 21 views
0

このページを表示するには、以前に実行された操作(検索や注文の確認など)を繰り返す情報を送信する必要があります。Firefoxのメッセージを避ける必要があります

このFirefoxエラーが発生します。私は<?php unset[$_POST] ?>を使用してページの最後にすべての変数を設定していませんが、私はいくつかのレコードを更新するか、これを使用してページを再度更新します。私は上記のエラーを上回った。

+2

エラーではありません、それはあなたが到達したページを送信しようとすると、ブラウザに表示されていることを警告だけですPOSTを使ってフォームが提出された後に、セキュリティ対策の一種であるため、あなたはそれを避けることはできないと思います。 – mishu

+1

これはエラーではありません。 FirefoxはPOSTリクエストをしたことを示唆しているので、ページを更新すると(F5)、データを再度送信します。 –

答えて

4

リクエストを処理した後、同じページにリダイレクトして、このような警告を回避する必要があります。

上記の警告メッセージが表示されたら、再度フォームを再送信すると、PHP処理が繰り返されます。これは、INSERTクエリが処理されている場合、データベースにレコードが重複することがないようにする必要があります。

header('location:http://www.example.com/currentpage'); 
die(); 

EDIT

あなたはそれを以下のような何か必要があります: -

if(isset($_POST['submit'])) 
{ 
    //filter the data and validate user input 
    //do some stuff 
    /* Redirect users back to same url instead of refreshing page with javascript*/ 
    header('location:http://www.example.com/currentpage'); 
    die(); 
} 
+0

これはどこに実装すればよいですか。私は最初に私は単純なボタンを保存ボタンを使用してフォームを提出していることを意味するが、実際にこの警告を取得する2番目の時間は、私は、Javaスクリプトを使用してページを更新しようとするときです..私はこの問題でいくつかのヒントを教えてください。 –

+0

@ RahulSingh:回答が更新されました。どうすればよいかをアイデアにしてください。 –

関連する問題