2012-01-30 9 views
0

main.phpファイルがあります。php:ページが読み込まれる前に変数名がわからない場合、フォームからPOST値を取得する方法は?

$randnum=rand(100,500); 
echo ' 
<form name="form1" id="form1" action="my.php" method="post"> 
<input type="text" name="A'.$randnum.'" id="A'.$randnum.'" value="catch me!"> 
<input name="Submit" type="submit" value="Send"> 
</form> 
'; 

ブラウザが表示されます。

<form name="form1" id="form1" action="my.php" method="post"> 
<input type="text" name="A382" id="A382" value="catch me!"> 
<input name="Submit" type="submit" value="Send"> 
</form> 

キャッチする方法 "に私をキャッチ!"フォーム($ _POST ['A382']の値)から? (ページがロードされる前に382は定義されていません)。 POSTメソッドで送信されるすべての変数の配列を取得する方法はありますか?もっと良い方法?

ありがとうございます。

のforeachを使用して:あなたは、変数のそれぞれを通るだけでループすることができます

+0

AJAXを使用してサーバーにデータを送信する必要があります。 – ppp

+0

'POSTメソッドで送信されるすべての変数の配列を取得する方法はありますか? ' - これは' $ _POST'に含まれるものです...送信されたすべてのデータの配列です。 – animuson

+0

キーだけが必要な場合は、 'array_keys($ _ POST)'を使用できます。 – yoavmatchulsky

答えて

2
foreach($_POST as $key=>$value) 
{ 
    if(substr($key,0,1) == 'A') 
    { 
     $number = intval(substr($key, 1, 3)); //Number from A*** 
     if($number) 
      $data = $value; //Value of field A*** 
    } 
} 
4

foreach ($_POST as $key => $value) 
    echo $key . ' : ' . $value; 
+1

これは私の答えでしょう! – Drewdin

0

あなたが考えるかもしれない代わりに、変数名の乱数部分を作り、あなたは変数を作ります

<input type="text" name="A['$randnum']" id="A'.$randnum.'" value="catch me!"> 

などの配列次に、変数の名前がわかりますキー/値の$ _POST ['A']配列をループします。

+0

あなたはおそらく正しいでしょうが、(少なくとも)それは範囲[100000,5000000]の大きな数字に対しては機能しません。ちょうど価値を見つけるのに多くの時間がかかります。 – Haradzieniec

関連する問題