玄人の方から正しい修正が入りましたので要コメント参照です
(※ 本人はいたってマジめなシェアのつもりでしたが…)
#session を使用する中で気をつけるべき点#
前述の stackoverflow に書かれていた気をつけるべきポイント(要点)
- sessin_start() は<?php の直後になくてはならない。空白やタブもあってはならない。
- header リダイレクト後のスクリプト終了は exit(); で行うべし。session_write_close(); などもあるけど自分は exit(); で動いている。
- php.ini の register_globals が off になっていること。phpinfo() を呼んでも設定を確認できる。
- session を明示的に消したり空白にしていないこと。
- $_SESSION グローバル変数をどこかで上書きしていないこと
- リダイレクト先が同じドメインであること。ドメインが異なるとセッションは引き継がれない。aaa.com から aaa.jp へのリダイレクトはセッションが引き継がれない。