1

簡単な質問をしてください。いくつかのフォームを生成する ajax を含む PHP ページがあります。これらのフォームは ajax で送信できます。PHPアクションスクリプトに送信されるデータは、$POST['city0']または$POST['city5']または$POST['city20']およびなどのいずれかです..

では、この POST データにアクセスするにはどうすればよいでしょうか? それは次のようなものですか:

$city = POST['city[..]'] ;

可能?正しい構文は何ですか?

事前にサンクス!

4

5 に答える 5

4

配列内のアイテムのインデックスに関心がない場合は、次の単純な配列構文を使用できます。

<form name="example" action="" method="POST">
  <input type="text" name="city[]">
  <input type="text" name="city[]">
  <input type="text" name="city[]">
</form>

または、それらに番号付きのインデックスを与えることができます:

<form name="example" action="" method="POST">
  <input type="text" name="city[15]">
  <input type="text" name="city[7]">
  <input type="text" name="city[203]">
</form>

または文字列インデックス:

<form name="example" action="" method="POST">
  <input type="text" name="city[ny]">
  <input type="text" name="city[ca]">
  <input type="text" name="city[or]">
</form>

どのフォームを選択しても、次の方法でアクセスできます。

$myVar = $_POST['city'][$index];

そして、いつもprint_r()のように、データの構造がわからない場合や覚えていない場合に表示されるので、あなたの友人です。

print_r($_POST);

次のようなものが表示されます。

Array
(
    [city] => Array
        (
            [ny] => one
            [ca] => two
            [or] => three
        )
)
于 2013-05-30T15:27:38.427 に答える
3

入力名属性をname="city[]"に設定$_POST['city']すると、配列になります。

于 2013-05-30T15:02:33.443 に答える
1

city0このようにすると、 からまでのすべての可能性を試す必要がありますcityN

パラメータに次のような名前を付けることをお勧めしますcity[X]。X は数字です。

次に、次のように foreach を使用してすべての値を単純に循環させることができます。

foreach($_POST['city'] as $key => $city) "city[" . $key . "] = " . $city;
于 2013-05-30T15:03:48.103 に答える
0

それらを取得するために使用でき $_POST["city".(string)0];ます。

またはそれらをループします

for( $i=0; $i != 5; $i++ ){
    echo $_POST["city".$i];
}

フォームの考えを変更できる場合は、@Danijel の回答が最適で、データを配列として返します。

于 2013-05-30T15:09:32.280 に答える