最近、勉強中にフォームを繰り返し送信するという問題に遭遇しました。その後、Baidu が検索し、header("location:$post"); を使用する解決策を見つけました。
私のフォームはこのページに送信されます。このページは SQL ステートメントを形成するために $_POST 値を取得します。最後に、関数が SQL ステートメントを実行します。
$sql = "...";// SQL 文の作成 1
exeupdate($sql);// 自分で書いた実行関数 2
header("location:$post");// ジャンプ 3
元々は通常の実行順序は 1、2、3 であると考えられていましたが、このページに変換されて戻されました。このページは SESSION 値を通じてデータを取得できるため、即時にデータが更新されることがわかります。
しかし、2 3 の順序を逆にしても、データは引き続き更新できます。どうしてこれなの?
ヘッダー その後も、質問を説明する次のコードを実行します
終了してください
ヘッダーは http プロトコル ヘッダーを送信するだけです
ではありません現在のプログラムの実行を中断します
上で述べたように、ヘッダーは http プロトコル ヘッダーを送信するだけです
再度ジャンプする前に実行を継続します 一般に、ジャンプは exit() と組み合わせて使用されます
私は次のことに興味があります。フォームの繰り返しの送信とリダイレクトとの関係は何ですか...