PHP

PHPのリダイレクト処理について

PHPのリダイレクト処理について一つ疑問があったので書き記しておきます。

リダイレクト処理(header関数)は条件分岐できるのか?

headerが発行される前に出力がなければ条件分岐のソースは前半でなくても問題はない。

<?php

if(エラー確認処理をしてもしエラーがあればリダイレクト) {

header("Location: registration.php")
exit();

} 

exit はどこに書けばよいのか?

厳密にいえばheaderで飛んだあとexitは実行されることはない。
exitはあくまでもheaderがうまく実行できなかった場合の保険。
なにがあってもそれ以下には進ませたくない箇所にexitを指定してあげるとよい。

※訂正をいただきました。


間違い。
header(Location)しただけでは処理は終わらない。
そこで処理を終わらせたい場合はexitを書かなければならない。

https://qiita.com/sin_per/items/c55cd10ea611d56605e0
https://qiita.com/karur4n/items/c398b83e70e4479984b4