メールアドレスの登録チェック
まずメールアドレスの形式チェック
メールアドレスが空でないか
メールアドレスとパスワードか正しいか
パスワードが空でないか
これらをチェックするようにする
メールアドレスが空の場合
パスワードが空の場合
これらは、signu.phpからコードをコピペ
メールアドレスが空なのか判定するには
signu.phpにあった
ユーザー関数の
emailExists()を使う
ただ、これは、存在しているか調べるので
否定形式て
if(!emailExists($email,$dbh)){
$err[‘email’]=”このメールアドレスは登録されていません”;
}
とすればok
メールアドレスの形式が不正か調べるには
if(!filter_var($email, FILTER_VALIDATE_EMAIL)){
$err[‘email’]=”メールアドレスの形式が正しくありません”;
}
とする
メールアドレスとパスワードがただしくない場合の処理は
まず、そういったユーザーがいるか調べる
$me = getUser($email,$password, $dbh);
で結果を変数へ格納
ちなみにgetUser()は
ユーザー関数
function getUser(){
}
て実装していく
また、エラーのチェックの場所が違うため
$err = array();
の下へ切り取って貼り付ける
そして、ユーザー関数
getUser()は
function getUser($email,$password,$dbh){
$sql=”select * from users where email = :email and :password = $password limit 1″;
$stmt = $dbh->prepare($sql);
$stmt->execute(array(“:email”=>$email,”:password”=>getSha1Password($password)));
$user = $stmt->fetch();
で取得した結果を $userへ格納
あとは、データの有無を
return $user ? $user :false;
として、データがあるなら
ユーザーを返し、ないならfalseを返す
これで、あとはifて判定する
if(!$me){
$err[‘password’]=”パスワードとメールアドレスが正しくありません”;
}
と表示する
$meは、getUser()て取得した内容が格納されている
また、もっと短くコードを書くには
if(!$me = getUser($email,$password,$dbh)){
$err[‘password’]=”メールアドレスとパスワードが正しくありません”;
}
というように
ifの条件式をまとめることもできる