[PHP-users 20761]Re: URLパラメータでのセッションについて
深沢友紀
fukatomo @ mailya.net
2004年 3月 12日 (金) 18:13:34 JST
北澤様
返信ありがとうございます。
> それか、PHPが独自にもってるセッションIDを使うのも一つです。
> $session_id = session_id ();
> これだと 埋め込まなくても簡単に管理できますが・・・
実際に埋め込んでいるのは以下のようなソースになります。
<?php
// コールバック関数
function test($buffer){
ereg_replace("%%url%%","http://hogehoge.jp/",$buffer);
}
// 出力開始
ob_start("test");
?>
<html><head>
............
<a href="%%url%%">Link1</a>
<a href="http://hogehoge.jp/">Link2</a>
<?php
ob_flush();
?>
このソースを実行する前にすでにセッションを開始してあるとします。
その場合、Link2の部分には
<a href="http://hogehoge.jp/?PHPSESSID=xxxxxxx">
とセッションIDがURLパラメータとして埋め込まれているのですが、Link1の部
分には
<a href="http://hogehoge.jp/">Link1</a>
とリンク先は変換され埋め込まれているのですがセッションIDは埋め込まれず、
結果的にセッションが切れてしまいます。
この現象はPHPの仕様なのでしょうか?
--
深沢友紀 <fukatomo @ mailya.net>
PHP-users メーリングリストの案内