9月 10
アマノです。
セッションを特殊な方法で保存したい場合に呼び出す
session_set_save_handler() 関数ですが、
この関数を使用している場合にリダイレクトを使用すると
正常にセッションを処理してくれない場合があるようです・・・
通常はリダイレクトした場合、リダイレクト元のページで
open
read
write
close
で処理され次にリダイレクト先のページで同じように処理されますが
どういうわけか
元ページのopen,read
先ページのopen,read
元ページのwrite,close
先ページのwrite,close
という順で処理される事があるようです。
こうなると前ページでのセッション変更が読み込めず
セッションの中身をうまく渡すことができなくなります。
この問題が起きるようであればリダイレクトしている直前に
session_write_close();
を入れると、その時点でwrite,closeを呼び出してくれますので
同じような問題が起きている場合は参考にしてみてください。
最近のコメント