同じフォームでPHPを使って複数の提出タスクを処理します。


なぜ複数の提出タスクを使用しますか?この質問に答える前に、明らかな質問に答えさせてください。多くのフォームは単一の提出ボタンに適していますが、なぜ時には二つの(またはそれ以上)の提出ボタンが必要ですか?この問題に対する一番いい説明方法は最近開発したプロジェクトの一例を使って説明します。このプロジェクトの中で、私の任務は図書館に詳細なカタログ検索システムを作ることです。本のタイトルはデータベースに保存されていますが、管理者はブラウザ機能に基づくインターフェースを使って本の記録を調べて、この記録に対して四つの操作の一つを選択して実行します。メンバーは本を登録して、メンバーは本を借りて登録して、本がなくなって記録と本の販売記録をなくします。以上のすべてのタスクは独立したフォームで処理されます。このように対応するボタンが必要です。フォームに入ってきたデータは、クリックされたボタン(本を借りる/本を返す/メンバーの記録と相互に関連する)によって異なる方法で処理されます。紛失/販売記録変更詳細カタログ)。一つのフォームは一つの固有のタスクしか処理できませんが、同じPHPスクリプトはクリックされたボタンと適切なコードセグメントを実行することによって上記の四つのタスクを処理できます。したがって、複数のタスクボタンを提出する単一のフォームと、異なるボタンの自動応答を実現するフォーム処理コードセグメントを処理する必要があります。まず簡単な例を挙げます。ボタンを押すフォームを提出します。このように基本概念を明確に理解し、説明する複雑な例のために下敷きをすることができます。ここはフォームです。以下は参照の内容です。<>Single-button form以下は提出タスクのプロcessor.phpスクリプトを呼び出します。以下は引用の内容です。php// ロック for submission// retrieve value from posted data if ($_POST['submit']    echo "You エンターブレッド the number " . $_POST['number'] } ?> フォームがPHPスクリプトに提出された時、使用された提出方法(本文ではPOSTと仮定します)によって、PHPは自動的に特定の$uを作成します。POSTまたは$uGET配列フォーム入力フィールドに入力した数値は、行列内のキーデータに自動的に変換され、従来のデータ記号を使用してこれらのデータにアクセスできます。   特に注目すべきは、上記のシナリオで提出されたジョブのツイストをどのように処理するかです。フォームが提出されると、提出ボタンは自分の実際の「name」から$uに変更されます。POSTの中の一つの要素。下記の行のコードを追加すると分かります。print_r($u)POST)  上記のPHPスクリプトを理解するために、配列の内部構造を確認し、異なるフォームコントロール間の相互接続を明確に見ることができます。