問合せフォ-ム

問合せフォ-ム後処理(前半)

問合せフォ-ムに入力してもらった内容が正しいと確認してもらえましたので、 問合せフォ-ム後処理ファイル quest_data_mail.php を作成していきます。
ファイル内容は
問合せフォ-ム後処理 PHP ファイル
を見てください。

問合せフォ-ム後処理(前半)デ-タベ-ス登録部作成

まずはデータベース登録部を作成します。
この部分は、
データベース操作
 PEAR::MDB2
MySQL データベース用ドライバ
 PEAR::MDB2_Driver_mysql
の機能を使って、問合せフォ-ム後処理(前半)ファイルを作成します。
これを作成するには、まず、
63Pear Village のトップの左サイドナビ
「Pear MDB2 デ-タベ-ス操作」 の中の
Pear MDB2 デ-タベ-ス操作概要
以降を読む必要があります。
まだ、読んでいない方は一読されることをお薦めします。

問合せフォ-ム後処理ファイル(前半)作成

それでは、問合せフォ-ム後処理ファイル quest_data_mail.php を作成していきます。
元となるファイル(前半) mdb2_input.php は、
63Pear Village のトップの左サイドナビ
「Pear MDB2 デ-タベ-ス操作」 の中の
Pear MDB2 デ-タベ-ス操作 PHPファイル
を見てください。
作成するファイルは
問合せフォ-ム後処理 PHP ファイル
を見てください。
元ファイルとの差分は赤字で表示しています。

元ファイル(前半)と新規作成ファイルとの差分

元となるファイル(前半) mdb2_input.php と新規作成ファイル quest_data_mail.php との差分は次の通りです。

  1. 画像認証判定部を追加

    まずは、session をスタ-トさせます。
    このファイルに直接アクセスされた時、または、認証が成立していない時、 画像認証ファイル quest_st.php に飛ばし、再認証を要求します。

      if(empty($_SESSION['phrase'])){
        //直接アクセスした時
        header
        ("Location:quest_st.php");
        exit;
        }
      if(isset($_POST['check'])){
        $_SESSION['check'] = 
          $_POST['check'];
        }
      if($_SESSION['phrase']
       != $_SESSION['check']){
        //画像認証不成立の時
        header
        ("Location: quest_st.php");
        exit;
        }

    $_SESSION['phrase'] には正解が入っていて、 $_POST['check'] には回答が入っているのでしたね。
    それから、header 命令の終わりに、exit; を忘れずに書きましょう。
    これがないと、下流にある処理を実行してしまい、 直接アクセスされた時メ-ルが発信されてしまいます。

  2. 住所デ-タは空?

    住所デ-タは空かもしれません。 なければ、空白を設定します。

      if(empty($_SESSION["addre"])){
      $_SESSION["addre"] = " ";
      }
  3. デ-タべ-ステ-ブル名変更

    元ファイルでは、デ-タべ-ステ-ブル名は info でした。
    今回は、テ-ブル名は info_q とします。

      // SQL文作成
      $sql = "INSERT INTO info_q
       (uname, email, postnum, addre, come)
        VALUES(?, ?, ?, ?, ?)";
  4. プレ-スフォルダデ-タ配列作成

    データベースに書込むデ-タを作成します。
    元ファイルでは、書込みデ-タは、$_POST["*-*"] に存在しました。
    しかし、今回は、
    $_SESSION["*-*"] に存在します。
    よって

      $data = array(  
        $_SESSION["uname"],
        $_SESSION["email"],
        $_SESSION["postnum"],
        $_SESSION["addre"],
        $_SESSION["come"]);

    とします。

  5. デ-タベ-ス登録完了宣言

    後はデ-タベ-スに登録できたら完了宣言をして前半は終わりです。

      echo
        "問合せ台帳に<br>"
        .$_SESSION['uname'].
        "&nbsp;さん<br>
         のお問合せの内容を挿入しました<br>";

以上で、問合せフォ-ム後処理(前半)デ-タベ-ス登録部作成は完了です。
引続き、問合せフォ-ム後処理(後半)を作成します。


問合せフォ-ム後処理(後半) に続く
問合せフォ-ム入力内容確認 に戻る

63 Pear Villageに戻る