4

チェックボックス入力配列 (配列に保存) を持つフォームを作成しました。ただし、POST して結果を取得すると、最後の選択しか提供されません。

<input type="checkbox" value="Friendly" name="quest[9]"> Friendly<br>
<input type="checkbox" value="Attentive" name="quest[9]"> Attentive<br>
<input type="checkbox" value="Enthusiastic" name="quest[9]"> Enthusiastic<br>
<input type="checkbox" value="Understanding" name="quest[9]"> Understanding<br>
<input type="checkbox" value="Well Mannered" name="quest[9]"> Well Mannered<br>
<input type="checkbox" value="Efficient" name="quest[9]"> Efficient<br>
<input type="checkbox" value="Genuine" name="quest[9]"> Genuine<br>

たとえば、「フレンドリー」、「効率的」、「本物」を選択したとします。

PHPドキュメントにPOSTして実行すると

print_r($_POST['quest']);

受け取るだけ

Array ( [9] => Genuine )

戻ってきたので、「本物」だけが戻ってきたアイテムです。これを修正する方法はありますか?私は何を間違えましたか?

これはアンケートの 9 番目の質問なので、残念ながら名前を変更することはできません。結果をコンマで区切られた単一の配列に結合する方法はありますか? 私は常にexplodephp側にいることができました。

4

3 に答える 3

3

名前に quest[9] の代わりに quest[] を使用します。PHP の部分でも、これを使用して複数の選択肢を追加します。

<?php
$quest = implode(',',$_post['quest']);
print_r($quest);
?>

ハッピーコーディング!!

于 2012-10-16T12:17:58.113 に答える
3

すべてのチェックボックスに同じ名前を付けて、一意にします

<input type="checkbox" value="Friendly" name="quest[3]"> Friendly<br>
<input type="checkbox" value="Attentive" name="quest[4]"> Attentive<br>
<input type="checkbox" value="Enthusiastic" name="quest[5]"> Enthusiastic<br>
<input type="checkbox" value="Understanding" name="quest[6]"> Understanding<br>
<input type="checkbox" value="Well Mannered" name="quest[7]"> Well Mannered<br>
<input type="checkbox" value="Efficient" name="quest[8]"> Efficient<br>
<input type="checkbox" value="Genuine" name="quest[9]"> Genuine<br>

または空の角括弧を使用して、php が入力を配列として扱うようにします。

<input type="checkbox" value="Friendly" name="quest[]"> Friendly<br>
<input type="checkbox" value="Attentive" name="quest[]"> Attentive<br>
<input type="checkbox" value="Enthusiastic" name="quest[]"> Enthusiastic<br>
<input type="checkbox" value="Understanding" name="quest[]"> Understanding<br>
<input type="checkbox" value="Well Mannered" name="quest[]"> Well Mannered<br>
<input type="checkbox" value="Efficient" name="quest[]"> Efficient<br>
<input type="checkbox" value="Genuine" name="quest[]"> Genuine<br>
于 2012-08-20T03:10:28.553 に答える
2

以前のコメントに対するあなたのコメントについて、新しい回答を投稿しています。

チェックボックス配列の組織として quest[9] を保持する必要があるため..

<input>それぞれが などを持つ name="quest[9][1]"、より複雑な配列にすることもできname="quest[9][2]"ます。

そして、内容を見つける

print_r($_POST['quest']);

また

于 2012-08-20T03:24:06.323 に答える