以下のようにPHPのheader関数でページで遷移していたのですが、なぜか遷移先でセッションが消えてしまっていました。下記のようにheader関数のあとにexitを置くことで解決しました。$_SESSION["id"]=$id;header("Location:https://hoge.com");exit();仕組みheadr関数で遷移するとSessionが消えるというわけではなさそうです。(PHPのマニュアルでも見つけられませんでした。遷移しても、それ以降に処理があると実行されるようです。自分の場合はコントローラで、ある条件の時にheader関数で遷移、それ以外はデフォルトのviewをincludeするという作りにしており、そのviewでSessionクリアしていたため、header関数の遷移先で、セットしたはずのセッションが空になっていたようです。単純化して書くと下記のようなことをしてしまっていました。$_SESSION["id"]=$id;header("Location:https://hoge.com");...unset($_SESSION["id"]);直感的には、ページ遷移するのだから処理はそこで終わると思ってしまいがちな気はします。hrader関数で遷移する際は必ず、exitつけるぐらい勢いでもいいかもしれませんね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。views2021/1/202023/5/13タイトルとURLをコピーしました。