アカウント登録時の入力チェック

未入力チェック・メールアドレス形式、存在チェック

ユーザ-アカウント登録時に最低限チェックすべき入力値。
実際にはこの他に文字数制限や正規表現などもチェックするべし。

<?php

//POSTされた値を変数に保存

$user_name = $_POST['user_name'];

$user_email = $_POST['user_email'];

$user_pass = $_POST['user_pass'];

//エラー配列を初期化

$err = array();

//ユーザネーム未入力チェック

if($user_name == ''){

    $err['user_name'] = 'ユーザ-ネームを入力してください';

}

if($user_email == ''){

    $err['user_email'] = 'メールアドレスを入力してください';

}else{

   //メールアドレス形式チェック

    if(!filter_var($user_email, FILTER_VALIDATE_EMAIL)){

        $err['user_email'] = '正しい形式でメールアドレスを入力してください';

}else{

    //メールアドレスの存在チェック

    $sql = 'SELECT * FROM user WHERE user_email = :user_email limit 1';

    $stmt = $pdo->prepare($sql);

    $stmt-> bindValue(':user_email', $user_email);

    $stmt-> execute();

    $user = $stmt-> fetch();

    if($user){

            $err['user_email'] = 'このメールアドレスは既に登録されています';

        }

       }

      }


?>


エラーがなければ登録する


if(empty($err)){

    //DBに新規登録

    $sql = 'INSERT INTO user (user_name, user_email, user_pass) VALUES (:user_name, :user_email, :user_pass)';

    $stmt = $pdo->prepare($pdo);

    $stmt-> bindValue(':user_name', $user_name);

    $stmt-> bindValue(':user_email', $user_email);

    $stmt-> bindValue(':user_pass', $user_pass);

    $stmt-> execute();


    //DBから切断

    unset($pdo);

}

投稿者: arsengineer

php,mysql等でウェブアプリ作ったりしてます。 奥さんと娘1人、息子1人の4人家族。30後半の男です。

スポンサードリンク