問合せフォ-ム
問合せフォ-ム後処理(前半)
問合せフォ-ム後処理(前半)
問合せフォ-ムに入力してもらった内容が正しいと確認してもらえましたので、
問合せフォ-ム後処理ファイル 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 との差分は次の通りです。
- 画像認証判定部を追加
まずは、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; を忘れずに書きましょう。
これがないと、下流にある処理を実行してしまい、 直接アクセスされた時メ-ルが発信されてしまいます。
- 住所デ-タは空?
住所デ-タは空かもしれません。 なければ、空白を設定します。
if(empty($_SESSION["addre"])){ $_SESSION["addre"] = " "; }
- デ-タべ-ステ-ブル名変更
元ファイルでは、デ-タべ-ステ-ブル名は info でした。
今回は、テ-ブル名は info_q とします。// SQL文作成 $sql = "INSERT INTO info_q (uname, email, postnum, addre, come) VALUES(?, ?, ?, ?, ?)";
- プレ-スフォルダデ-タ配列作成
データベースに書込むデ-タを作成します。
元ファイルでは、書込みデ-タは、$_POST["*-*"] に存在しました。
しかし、今回は、
$_SESSION["*-*"] に存在します。
よって$data = array( $_SESSION["uname"], $_SESSION["email"], $_SESSION["postnum"], $_SESSION["addre"], $_SESSION["come"]);
とします。
- デ-タベ-ス登録完了宣言
後はデ-タベ-スに登録できたら完了宣言をして前半は終わりです。
echo "問合せ台帳に<br>" .$_SESSION['uname']. " さん<br> のお問合せの内容を挿入しました<br>";
以上で、問合せフォ-ム後処理(前半)デ-タベ-ス登録部作成は完了です。
引続き、問合せフォ-ム後処理(後半)を作成します。
問合せフォ-ム後処理(後半) に続く
問合せフォ-ム入力内容確認 に戻る