[PHP-users 17526]Re: セッション変数が取得できない

三枝 隆司 saegusa @ hcu.co.jp
2003年 8月 27日 (水) 09:13:53 JST


SAEです。
SetoさんRESありがとうございます。

> まず $_SESSION を使用するなら session_register() は不要です。

はい。マニュアルにそのような記述があったのですが、
不用なのか、やってはいけないのか、確認のためつけたり取ったりしてました。
取ってテストしてみます。

>だからここでは 何も表示されないんだと思いますよ。

以下のように、代入個所を移動してやってみました。

  ===========test1.php===========
  <HTML><BODY>
  <FORM NAME="form1" ACTION="test1.php" METHOD="POST">
  セッション変数に登録
  <input type="text" name="_message" size=30>
  <input type="submit" value="送信">
  </form><hr>
  <?php
  session_start();
  session_register('mess');
  $_SESSION['mess'] = $_REQUEST['_message'];
  print '<li>セッション名: ' . session_name()  .'<BR>';
  print '<li>セッションID: ' . session_id()  .'<BR>';
  print '<li>現在のセッション変数:' .  $_SESSION['mess']  .'<BR>';
  ?>
  <HR>
  <A HREF="test2.php">test2.php</A>
  </BODY></HTML>
  ===========ここまで===========

以下のように、1度目にtest1.phpを呼んだ直後は  $_SESSION['mess'] が
参照できています。
  ===========結果===========
 ・セッション名: PHPSESSID
 ・セッションID: 3a7139aa5f85c75a896bf8412e896817
 ・現在のセッション変数:ssssss
  ===========ここまで===========

が、test2.phpを呼ぶと、セッション名、セッションIDは取得できるが、
$_SESSION['mess'] は参照できない。状態になります。

いろんなパターンで試してみたつもりなんですが...
もちろん、ネット上にあるサンプルもいくつか試したのですが、NGでした。



PHP-users メーリングリストの案内