フォーム処理
PHP はユーザーに多くの強力で便利な機能を提供します。フォーム処理に関しては、PHP はクライアント フォームから送信されたデータを対応する変数に自動的に割り当てることができるため、フォーム処理プロセス全体が大幅に簡素化されます。
たとえば、ユーザーは次のフォームを作成します:
< INPUT TYPE=TEXT NAME=”name” VALUE=”PETER” > PHP を使用して上記のコードを処理すると、PHP は $ という名前のファイルを自動的に作成します。変数に名前を付け、変数値「PETER」を変数に割り当てます。
ユーザーは、変数値の表示など、PHP によって作成された変数に対してさまざまな操作を直接実行できます:
echo "Hi $name!"; または変数値の検証:
if ($name == "PETER" ) { echo “Please check out your email.”; }
次に、PHP を使用して基本的なフォームを作成および処理する方法を見てみましょう。この例では、フォーム入力者に、フォーム入力者の名前、電子メール アドレスの入力、アンケートへの回答など、いくつかの短い質問に答えるように求めます。
ここでは、デザインしたいページをフォーム表示とフォーム処理の2つの機能モジュールに分割します。このように、ユーザーは 2 つの異なるページをデザインする必要はなく、同じ PHP ページ内の論理制御を通じて対応する機能モジュールを表示または処理するだけで済みます。
A. フォーム表示
最初の機能モジュールを通じてフォーム表示を実装します。具体的なコードは次のとおりです:
php
function display_form()
{
グローバル $PHP_SELF
? >
< FORM TARGET="< ?php echo $PHP_SELF; ? >"METHOD=GET >
名前: <
好きな果物: < INPUT TYPE=“フルーツ” VALUE=“リンゴ” >リンゴ
< INPUT TYPE=“フルーツ” VALUE=“オレンジ” >オレンジ
< TYPE=RADIO NAME=“フルーツ” VALUE=“バナナ” >バナナ
フルーツを食べる好きな時間:
< INPUT TYPE=CHECKBOX NAME=“回[]” VALUE=“分” >朝
< ; INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“n” >正午
< INPUT TYPE=CHECKBOX NAME=“times[]” VALUE=“d” >夕食
<チェックボックス NAME=“回[]” VALUE=“l” >深夜
< INPUT TYPE=“ステージ” VALUE= “結果”
< INPUT TYPE=SUBMIT VALUE= “ありがとう!” >
< /FORM >
}
? 上記のコードのほとんどは、フォームを作成するために必要な HTML コードです。ここでは、関連する PHP の知識について簡単に紹介するだけです。
まず、コードの先頭にある変数 $PHP_SELF を見てみましょう。変数 $PHP_SELF は PHP の非常に便利なポインタであり、その変数値は現在のページの URL アドレスです。このように、後続のformタグでTARGETの値を$PHP_SELFに設定することで、フォームページでフォームを処理する目的を達成することができます。ここでは、ページの実際のアドレスの代わりに $PHP_SELF 変数を使用します。これは、$PHP_SELF 変数を使用すると、毎回新しいページ アドレスを再入力する必要がなく、作成したページ コードを簡単に変更および移動できるためです。変化。 。
さらに、$PHP_SELF 変数を使用する場合は、次のメソッドを使用します:
global $PHP_SELF;
これは、コード内の $PHP_SELF 変数がグローバル変数であることを示します。 PHP を使用する場合、ユーザーは PHP の関数変数はすべてローカル変数であることに注意する必要があります。これは、関数変数のスコープが、その変数を含む関数自体に制限されることを意味します。関数の外に同じ名前の変数が存在しても、変数の値は異なります。したがって、関数変数 $PHP_SELF を、グローバルに一意な値を持つグローバル変数としてコード内で明示的に宣言しない場合、関数内の変数 $PHP_SELF の値が、期待した値ではなく空であることがわかります。現在のページの URL アドレス。
ユーザーは、フォームチェックオプションの名前をtimes[]配列に設定し、ラジオオプションの名前をフルーツの通常変数に設定していることに気づいたかもしれません。これは、ラジオ オプションではユーザーが正しいオプションを 1 つだけ選択できるため、フルーツ変数の値は文字列のみであるのに対し、チェック オプションではユーザーが複数の選択を行うことができるためです。ユーザーが行うすべての選択を PHP に保存させたい場合は、配列を使用してすべての可能な値を保存する必要があります。 PHP の構文規則に従って、変数名の後ろに角括弧を追加して、その変数が通常の通常の変数ではなく配列変数であることを PHP に知らせます。
最後に、stage という暗黙的な変数を設定します。この変数を使用することで、フォームを表示するか、フォームの結果を処理するかを制御できます。