個人活動カレンダープログラム-PHPプログラムにフォームデータがありません
これまでのところ、パーソナルアクティビティカレンダープログラムでは、アクティビティエントリのWebフォームがまだ送信されていない($ _POST ['submit']が空である)可能性を示すコードを記述しました。この場合、プログラムは、Webブラウザーでフォームを初めて表示する関数呼び出しの直前に変数をnullに初期化します。次に、フォームが送信された可能性をコーディングします($ _POST ['submit']は空ではありません)。この場合、次のステップには2つのオプションがあります。
  1. フォームが送信され、ユーザーが必要なデータをすべて提供していない場合、プログラムはエラーメッセージとともにフォームをWebブラウザーに再度表示します。

  2. フォームが送信され、必要なデータが欠落していない場合、プログラムはデータを処理してデータベースに送信します。
最初のオプションに取り組みましょう。欠落データがあるかどうかをどのようにテストしますかまず、どのデータが必要で、どのデータがオプションであるかを決定する必要があります。この単純なカレンダープログラムの場合、必要なデータはアクティビティのタイトルと開始日時のみです。 Webフォームの他の入力フィールドはオプションです。これらは、Webフォームの5つの必須データ入力フィールドと、6つのオプションです。
必須

act_title
act_month_1
act_day_1
act_year_1
act_hour_1
オプショナル

act_desc
act_month_2
act_day_2
act_year_2
act_hour_2
act_status

最初のステップは、PHPのifステートメントを使用して、必須およびオプションの各入力フィールドの欠落データをテストすることです。また、$ error_messageという変数を作成し、最初に値を設定します 番号。欠落データがある場合、変数は次のように設定されます はい。これがコードの最初のセクションです。

$ error_message = "no";

if(empty($ _ POST ['act_title']))
{
$ error_message = "yes";
$ pass_act_title = "";
}
else {$ pass_act_title = $ _POST ['act_title']; }


if(empty($ _ POST ['act_desc']))){$ pass_act_desc = ""; }
else {$ pass_act_desc = $ _POST ['act_desc']; }
. . .
. . .

このコードは何をしますか?プログラムは最初に$ error_message変数を設定します 番号。次に、フォームから渡された11個のデータ入力フィールドのそれぞれをテストします。上記のコードでは、最初の2つの変数act_titleとact_descをテストしています。ただし、他の9つの変数についてもコード全体がテストされます。考えられる結果は3つあります。

  1. プログラムが 必須 入力フィールド(act_title)、対応するパラメーター変数をnullに設定し、$ error_message変数を はい.

  2. プログラムが オプショナル データフィールド(act_desc)、パラメーター変数をnullに設定しますが、 じゃない $ error_messageを設定します はい.

  3. 入力フィールドのデータが欠落していない場合、elseステートメントを実行します。パラメーター変数を対応する$ _POST ['']変数の値に設定し、$ error_message変数は じゃない 影響を受ける。
プログラムが11個すべての$ _POST変数のテストを通過し、$ error_message変数がまだ設定されている場合 番号、これは必要なデータが欠落していないことをプログラムに伝えます。この場合、データはさらに処理され、データベースに渡されます。ただし、$ error_message変数が設定されている場合 はい、これは、少なくとも1つの必須フィールドにデータが欠落していることを意味します。プログラムはActivity_Entry_Form関数を再度呼び出します。パラメーター変数の値を既にnull(欠損データの場合)または対応する$ _POST変数の値に設定しているため、関数呼び出しでそれらを渡す準備ができています。

if($ error_message == "yes")
{
Activity_Entry_Form($ pass_act_title、$ pass_act_desc、
$ pass_act_month_1、$ pass_act_day_1、$ pass_act_year_1、
$ pass_act_hour_1、$ pass_act_month_2、$ pass_act_day_2、
$ pass_act_year_2、$ pass_act_hour_2、$ pass_act_status);
}
else {データをさらに処理する}
注意 - 矢印 は、コードが2行目にラップされ、実際にはすべて1行である必要があることを示します。

次のステップでは、Activity_Entry_Form関数を調整して、新しいエラーメッセージを処理します。

注-このチュートリアルの目的は、個人用の個人活動カレンダープログラムを構築し、PHPおよびMySQLデータベースの基本を教えることです。悪意のある入力データの防止などのセキュリティ機能は含まれていません。そのため、このチュートリアルは初心者には複雑すぎます。 Web用のプログラムを作成している場合は、プログラムコードにそのようなセキュリティを含める必要があります。