夢小説PHP その3:スーパーグローバルとname属性の謎

先日ほけほけここで「作ってみたい」と呟いたら、夢小説作成JavaScriptのソースをご紹介いただきました。ありがとうございます。
それを参考にもそもそ作っていたのですが、思わぬところで詰まっています。


form入力するなら必須になってくる$_POST、そしてCookieにアクセスする$_COOKIE
これらのname属性指定に変数は使えないのでしょうか?


こういうことがしたいと思っています。

  1. for文で、任意の英数名+数字のname属性(仮にaaa1、aaa2、aaa3とする)を持つテキストボックスを表示
  2. 各テキストボックスに入力された文字列を、それぞれのname属性でCookieに登録


……うーん、説明がうまくない。
for文でテキストボックス表示部分だけソース出します。

<form method="POST" action=<?=EDITPHPNAME ?>>
<?php
	for($i = 0; $i < $max_name; $i++){
?>
	<p><?=$rabel_name[$i] ?><input type="text" name="<?=POSTNAME.$i ?>" size="30" maxlength="50"
			value="<?=$hyoji_name[$i] ?>" /></p>
<?php
}
?>

EDITPHPNAME 、POSTNAMEは上の方で定数定義してます。
$hyoji_name[$i]はやはり上の方でCookieを読むかCookieがまだなければデフォ名を読むかしてます。


これを実行した時のHTMLソースが以下の通り。

<html>
<head>
<title>名前入力</title>
</head>
<body>
<h1>名前入力</h1>
<form method="POST" action=dr_edit.php>
	<p>主人公の名前:
		<input type="text" name="aaa0" size="30" maxlength="50"
			value="はてダ" /></p>
	<p>親友の名前:
		<input type="text" name="aaa1" size="30" maxlength="50"
			value="はてブ" /></p>
	<p>恋敵の名前:
		<input type="text" name="aaa2" size="30" maxlength="50"
			value="増田" /></p>
		<input type="submit" value="送信" />
</form>
</body>
</html>

こういう書き方しちゃうと、当然ながら各テキストボックスにアクセスするためには「aaa0」「aaa1」「aaa2」を$_POSTの[]内に指定しなければならないはず。
でも、ここで

$_POST["aaa0"]

ではなく

define("POSTNAME", "aaa");
$_POST[POSTNAME.0]

だとエラーになってしまいます。


詳細は分からずながら、

$_COOKIE["aaa"][0]

という書き方はOKらしい(あちこちぐぐってるときに見かけた)ので、どうにか近い形にしたいところであります。


……とか言ってるうちに思いついたので、さっきのスクリプトに追加して実行。
追加したスクリプトは以下に。

for($i = 0; $i < $max_name; $i++){
	echo "$_POST['dr_name'][$i] <br />\n";
}

さっきのhtml部分、フォームのすぐ下に追加しました。
しかしこれはエラーになってしまいました。だめらしい。
Cookieの中ってどうなってるんだろう?