PHPセッションIDの変更
お世話になります。
phpでのセッションIDの変更の処理(セッションの中身も初期化する)がうまくいかず困っております。
以下のようなコードでセッションの管理をしているのですが。。
現象としては、最初に発行したセッションIDを保持したクッキーが削除されていない。
下記のコードの中の2度目にsession_start()を実行している
部分の後のセッションIDを見ると
新しいIDになっているがブラウザのクッキーのセッションIDは
古いIDのまま。
という現状です。
どなたか、原因が判る方、ご教示頂ければ幸いです。
宜しくお願いします。
------------------------------
session_start();
//セッションクッキーを破棄・
if (isset($_COOKIE[session_name()])) {
setcookie(session_name(), '',time()-42000, '/');
}
//セッションを完全に破棄・
if('' != ($myid = session_id())){
$_SESSION = array(); //セッション変数を初期化・
session_destroy();
}
session_id(md5(uniqid(rand(), true))); //新しいセッションID
session_start();
$_SESSION['userid'] = 'hoge';
-------------------------------------------------
お礼
やはりドキュメント化されているわけではないのですね。。 >現状をディフェクトスタンダードとして見なして良>いと思われるなら、セッションIDを一万回ほど表示>してみれば、どんなものか推測できるでしょう そうですね、その方法をとらせていただきます! ご回答ありがとうございました!!