[PHP-users 10225] Re: session格納法について

S.Okazaki php-users@php.gr.jp
Wed, 18 Sep 2002 18:45:04 +0900


こんばんは、岡崎です

> しょうなり様

> 省略されている部分が多いため、なんとも言えないです。
> ここからここまでコピー&ペーストすれば再現するというスクリプトを
> 書いて投稿してみてはどうでしょうか?

今簡単なスクリプトを書いてみたのですが、再現しませんでした(^^;

------test.php------

<?php

$mode=$_GET[mode];
session_start();

switch($mode) {
    case "":
        print<<<EOF
<form action=$_SERVER[PHP_SELF]?mode=1 method=post>
  <input type=text size=3 name=data1><br>
  <input type=text size=3 name=data2><br>
  <input type=submit value=go>
</form>

EOF;
    break;
    case "1":
        $arr1=array($_POST["data1"],$_POST["data2"]);
        session_register("arr1");
        print<<<EOF
<form action=$_SERVER[PHP_SELF]?mode=2 method=post>
  <input type=text size=3 name=data3><br>
  <input type=text size=3 name=data4><br>
  <input type=submit value=go>
</form>

EOF;
    break;
    case "2":
        $arr2=array($_POST["data3"],$_POST["data4"]);
        session_register("arr2");
        print "<a href=$_SERVER[PHP_SELF]?mode=4>Next</a>\n";
    break;
    case "4":
        $arr1=$_SESSION["arr1"];
        $arr2=$_SESSION["arr2"];
        print_r($_SESSION["arr1"]);
        print "<br>\n";
        print_r($_SESSION["arr2"]);
        print "<p>\n";
        print_r($arr1);
        print "<br>\n";
        print_r($arr2);
    break;
    
}

-----ここまで---------------

色々いじってみましたが「再現するよう」に出来ませんでした(^^;
上手く「期待通り」の表示がされました…

NAO様の言われるとおり、リファレンスを使用しても、同様の「期待通の」結果
を得ることが出来ました。
どやら、今書いているスクリプトの他の所が原因のようです。

取りあえず仕様ではないと言うことが分かりました。
どうもありがとうございました。


/_/_/_/_/_/_/_/_/_/_/_/_/_/
Japan Human Base 
Sotaro Okazaki
Email : okazaki@jp-hb.com
/_/_/_/_/_/_/_/_/_/_/_/_/_/