[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 メーリングリストの案内