2011-06-21 7 views
0

3つのチェックボックスがあり、タクシー、電車、バスなどの交通機関を確認できます。どうすればよいでしょうか?あなたはTransport = bus、train(あなたがチェックしたもの)の配列を渡すのが好きですか?それともフォームの中にあるので、一度に1つの変数を別々に送る必要がありますか?合格方法、html/php

答えて

1

私はあなたがクライアントからサーバーにデータを送信することを話していると仮定します。フォームを送信した場合

<input type="checkbox" name="transport[]" value="Taxi"> Taxi <br /> 
<input type="checkbox" name="transport[]" value="Train"> Train <br /> 
<input type="checkbox" name="transport[]" value="Bus"> Bus <br /> 

すると、データは(あなたが使用した方法に応じて、または$_GET$_POST['transport']に配列として利用できるようになります。その場合は、チェックボックスに同じ名前を付けることができます。入力フィールド名の[]は、PHPがデータを配列として解析するようにします。

詳細情報はVariables From External Sourcesです。


いくつかの詳細な説明:(すなわち[])括弧なし

(選択されていると仮定タクシーや電車)、結果のクエリ文字列は次のようになります。

transport=Taxi&transport=Train 

PHP他の言語とは対照的に、同じキーの最後の値のみを考慮します。 PHPが配列と同じキーで値を扱うようにするには、[]をその名前に追加する必要があります。

+0

ありがとう、このメソッドは何と呼ばれていますか?配列形式ですか? – Karem

+0

@ Karem:名前はありません。 PHPが配列を認識させる方法です。 –

0

すべての入力フィールドは、フォーム提出のメソッドタイプに基づいて、$ _POST配列または$ _GET配列の一部として渡されます。チェックボックスは、name = onまたはname =としてチェックボックスが選択されているかどうかに渡されます。送信されたフォームデータをどのように処理しているかによって、値を扱うさまざまな方法があります。私はこれが助けることを願っています

0

あなたはこのようなものを使用する場合:

<input type="checkbox" name="transport[]" value="bus" /> 
<input type="checkbox" name="transport[]" value="train" /> 
<input type="checkbox" name="transport[]" value="taxi" /> 

を値は$ _POST [「交通」]でアクセス可能な配列として渡されます。ユーザーが最初と最後のチェックボックスをチェックすると、$ _POST ['transport']には2つの文字列、0 => "bus", 1 => "taxi"が含まれます。

http://jetlogs.org/2007/07/19/passing-input-arrays-in-php/も参照してください。

関連する問題