ユーザーの存在チェック |
|
function getUser($email, $password, $dbh) {
$sql = "select * from users where email = :email and pasword = :password limit 1";
$stmt = $dbh->prepare($sql);
$stmt->execute(array(":email"=>$email, ":password"=>getSha1Password($password)));
$user =$stmt->fetch();
return $user ? $user : false;
}
|
|
- パスワード保存時に「getSha1Password」で暗号化しているため、execute時も暗号化する。
- メールアドレス / パスワードが存在しないか、組み合わせが違う場合は「false」を返す。
|
|
return後の処理 |
|
$me = getUser($email, $password, $dbh);
if (!$me) {
$err['password'] = 'パスワードかメールアドレスが正しくありません';
}
|
|
[ getUser 〜 if ] を1行にまとめて書く↓ |
|
if (!$me = getUser($email, $password, $dbh)) {
$err['password'] = 'パスワードかメールアドレスが正しくありません';
}
|
|
|
getUser()関数の返り値について |
getUser( ) 関数の返り値に三項演算子を使っているが、データが存在しない場合の $stmt->fetch() の結果は false になるため、「return $user;」とするだけでも問題ない。 |
|