[PHP-users 12913] HTTP_POST_VARSについて

Tomohiko Murakami php-users@php.gr.jp
Fri, 31 Jan 2003 16:03:05 +0900


村上と申します。

$HTTP_POST_VARSより値を取得できずに困っています。

form(text)にnameが z000003_001_000 から z000003_001_004 までの5個のフォー
ムがあります。
このフォームには以下の値が入力されています。

z000003_001_000 -> 10
z000003_001_001 -> 20
z000003_001_002 -> 30
z000003_001_003 -> 40
z000003_001_004 -> 50

これに値を代入しsubmitを行い値の取得行っているのですが、どうも上手くいきませ
ん。

取得方法は

$a = 3;
$b = 1;
for($i = 0; $i < 5; $i++) {
    $key = "z" . sprintf("%06d", $a) . "_" . sprintf("%03d", $b) . "_" .
sprintf("%03d", $i);
    $value = $HTTP_POST_VARS[$key]

    print $value;
}

たったこれだけなのですが、取得できないのです。
また、取得できるのはz000003_001_001の値だけです

register_globals = On(phpinfoでも確認済)
print_r($HTTP_POST_VARS)で値が入っていることも確認し、
$HTTP_POST_VARS[$key]
$HTTP_POST_VARS["$key"]
$HTTP_POST_VARS['$key']
の3つ試したがだめでした。

また、個別に以下の様に記述を行うと正常に取得できます。
print $_POST['z000003_001_000'] . "<br>";
print $_POST['z000003_001_001'] . "<br>";
print $_POST['z000003_001_002'] . "<br>";
print $_POST['z000003_001_003'] . "<br>";
print $_POST['z000003_001_004'] . "<br>";

print $z000003_001_000 . "<br>";
print $z000003_001_001 . "<br>";
print $z000003_001_002 . "<br>";
print $z000003_001_003 . "<br>";
print $z000003_001_004 . "<br>";

環境はredhat7.2 apache1.3.27 php4.2.2です

お手数ですが、よろしくお願いいたします。