入力チェック共通クラス

こんにちわ、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

ということで今回はここまで!