入力チェック共通クラス
こんにちわ、24日にクリスマスケーキを2日分×2人分を
嫁さんと買ってきたのですが、結局24日に全部食べてしまったジャクサーです(;´▽`)
さて、前回まででAjaxによるデータのサーバー送信は出来ましたので、
今回は、そのサーバー側の処理を作りこんでみましょう。
サーバー側での使用言語はPHPとなります。
はじめに
PHP側の処理では、主に入力チェックを行います。
Ajax実験としてはちょっとややこしくなるのですが、
PHPでの入力チェック等は今後も頻繁に出てきそうなので、
まずは入力チェックを行う、PHPの共通クラスを作成しましょう。
入力チェッククラスPHPのソース
汎用的な入力チェッククラスを作成すると、色々なメソッドが必要になりますが、
まずは今回の入力フォームのチェックで使用する部分だけ
メソッドを実装してみましょう。
<? public class check { var $error; //------------------// // コンストラクタ // //------------------// public function check(){ $this->error = NULL; } //------------------// // 未入力チェック // //------------------// public function blank( $value ) { 〜〜 なんか処理 〜〜 } //--------------------------// // メールアドレスチェック // //--------------------------// public function mail( $mail) { 〜〜 なんか処理 〜〜 } //----------------------// // 電話番号チェック // //----------------------// public function tel( $tel ) { 〜〜 なんか処理 〜〜 } //--------------------------// // セキュリティチェック // //--------------------------// public function secure( $value ) { 〜〜 なんか処理 〜〜 } //------------------// // 数字チェック // //------------------// public function is_numeric( $value ) { 〜〜 なんか処理 〜〜 } //--------------------------// // エラーメッセージ取得 // //--------------------------// public public function getMessage() { return 〜〜 なんかエラーメッセージ? 〜〜; } //------------------// // エラー状況判定 // //------------------// public function judgment() { 〜〜 なんか処理 〜〜 } //----------------------// // エラー判定の初期化 // //----------------------// public function clearError() { 〜〜 なんか処理 〜〜 } } ?>
なかなか、省略ばっかになりましたねw
PHPソースについてはここのメインではないので割愛しますね。
PHPで電話番号チェックってどうやるの?という方がいらっしゃいましたら、
コメントに残しておいてもらえれば個別に解説しますね。
まぁ、要はこんなイメージで入力チェックの共通クラスがある、と想定して、
これをcontact.phpから呼び出して入力チェックを行い、その結果をJavaScript側に通知します。
共通クラスの利用方法
共通クラスを利用するときは、
require_once ("class/errorCheck.class.php");
とかで読み込んでもらって、
$_check = new check();
のように、クラス生成してください。
その後で、POSTデータのチェックをするときは
var $_company = $_check->secure( $_POST["company"] );
とかやると「会社名」として入力された値にHTMLタグ等の不正文字があるとエスケープしてくれますし、
if( !$_check->blank( $_company ) )
{
$_errMsg .= "会社名は入力してくださいね〜〜〜〜!\n";
}
とやることで未入力チェックができます。
実際には「company」等のフィールド名については定数定義しておいたほうが綺麗ですね。
まぁPHPの部分も最終的にはちゃんと構築しておかないと入力フォームとして稼動させられないので、
もうちょっと検証して突き詰めていくんですけど、
今はなるべく早くAjaxに戻るために細かいところは気にしないで進んでいきます。
さて、ではcontact.phpでの処理に進んでいこう
と、思いましたが、紙面も残り少なくなってきましたので次回にしましょうw
ということで今回はここまで!