電子書籍の厳選無料作品が豊富!

header("Location:./hoge.php");
などとして画面遷移を行った場合、これより下の行に書かれた処理は行われているのでしょうか?
たとえば
if (認証処理) {
ログファイルに書込
header("Location:./hoge.php");
}
とすればログを書いた後に遷移するのはわかりますが、
if (認証処理) {
header("Location:./hoge.php");
ログファイルに書込
}
何らかの処理2

とした場合、ログに書き込みや処理2などは実行されているのでしょうか?

A 回答 (2件)

Locationでブラウザとの接続が破棄された後の設定は以下、リンクの「接続処理」の設定に依るようです。


http://jp2.php.net/manual/ja/features.connection …

ただ、PHPのデフォルト設定ではブラウザとの接続が破棄されると処理は停止されるようなのですが、私の経験ではLocationで飛んだ後も処理が継続して行われる場合があったように記憶しています。
header("Location:./hoge.php");
で飛んだ後には、この設定に依らず、極力処理を書かないようにした方が無難だと思われます。
    • good
    • 0

それこそやればわかるような気がするのですが・・・。



実際、ブラウザ側に302 FoundとLocationが返されますが
その後もHTML本文が送られているようです。
したがって処理はされると考えてよいでしょう
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!