register_globalや$$という変数について・・・
PHPの勉強を始めて2週間足らずの初学者です。
質問させていただきます。
環境はwindowsXP+xampp+PHP5.2です。
現在、やや古めのPHP書籍のサンプルを試しています。
register_globals=Onの状態では、問題なく動作しました。
しかし、Offにすると反応しない部分があります。
test.phpにてsupport.phpをincludeしているのですが、
以下の箇所をそれぞれregister_globals=Off用に書き換える知恵が
ありません。ほんの一部のみの抜粋にて恐縮ですがご査収願います。
---「test.phpの一部」-----------------------------------------
echo '<INPUT TYPE="radio" NAME="',$name,'"VALUE="',$kaitoubango,'">',"$val\n<br />";}
---「support.phpの一部」--------------------------------------
$kaitoubango++;
$name = $kaitoubango;
$val = $$name;
--------------------------------------------------------------
繰り返しになりますが、register_globals=Onの状態では、問題なく動作しましたが、Offでこの状態でフォームアクションしても$val = $$name;に値がありません。
「support.php」の$$nameを$_POST['name']に変更すれば、可能かと思いましたが、ダメでした。
なお、部分的な質問になりますが、
(1)「test.php」のNAME="',$name,'"VALUE="',$kaitoubango,'"ですが、
何故、NAME="$name" VALUE="$kaitoubango"でないのでしょうか?
「',」は何を意味しているのでしょうか?
(2)「support.php」の$$nameという変数ですが、$が2つ連続した変数は今のところ、初めて見ました。これはどういう意味なのでしょうか?
お詳しい方がおられましたら、何卒アドバイスのを頂戴できればと思います。よろしくお願いいたします。
お礼
すみません。 ご回答ありがとう御座いました。 どうもありがとうございました。