PHP で予約スクリプトを作成していますが、それらの値を取得する必要があります。明確にするために、選択は複数値選択ではなく、1 回の選択で多くの値を選択します。フォーム内の単純な選択フィールドです。問題は、それらの数と名前がわからないことです。送信ボタンをクリックしたときに、それらの数と名前が何であるかを知らなくても、名前と値を取得する方法はありますか? while ループを使用してそれらを印刷します。これを達成するためにセッションを使用するよう提案されましたが、それをどのように実装するかは正確にはわかりません。
2 に答える
html 部分がページの php 部分に転送するすべてのデータは、変数 ($_GET、$_POST) に送信されます。フォーム自体に使用しているメソッドによって定義されるものはどれですか。変数自体は、フィールド名を配列要素のキーとし、値 (選択フィールドの選択要素の値、または入力フィールドの入力値など) を配列要素の値とする配列として構築されます。 .
フォームフィールドにあるすべての要素を解析したい場合は、 foreach を使用できます(すべての要素を解析したくない場合は、もう少し複雑になります...それから私はそれをお勧めします処理するすべてのフィールドが、名前に特定の「タグ」で始まることを確認してください。これは、そのフィールドだけが持つものです。例として、c_Field1、c_Field2、Field3、Field4、....c_ がタグです.. ..次に、キー(フィールド名と同じ)で文字列関数を使用するか、配列関数を使用してこれらのフィールドのみを取得できます)。
「c_」で始まるすべてのフィールドを取得する場合の foreach の例:
foreach ($_POST as $fieldname => $value)
{
if (str_replace('c_','',$fieldname)!=$fieldname)
{
//field to be processed so use $value
}
}
それらを送信すると、それらはPOST
変数に含まれます(まあ、そうかもGET
しれませんが、おそらくそうではないでしょう)。それは配列なので、すべての派手な配列関数を使用して、中身を見つけることができます
例: http://php.net/manual/en/function.array-keys.php
または単なる普通の古いものforeach
だと思います。