PHPでログイン機能を実装したく、ログインページから入力された値をデータベースで検索してトップページへ飛ばすファイルを作成しています。
フォームからのデータ取得と、データベースからのデータ取得は出力を確認しています。
入力データをデータベースで検索してある場合は「1」ない場合は「0」として
条件分岐をしたいのですが、データベースに登録されているデータを入力しても
正しく検索ができていないのか「0」が返ってきてしまいます。
原因や可能性が分かればご教示お願いできますでしょうか。
よろしくお願いいたします。
<?php
$email = $_POST['email'];
$password = $_POST['password'];
$dsn = 'mysql:dbname=mysql;host=localhost';
$user = 'root';
$password = '';
try{
$dbh = new PDO($dsn, $user, $password);
$sql = 'select count(*) from users where email=? and password=?';
$stmt = $dbh -> prepare($sql);
$stmt -> execute(array($email,$password));
$result = $stmt -> fetch();
$stmt = null;
$dbh = null;
if ($result[0] != 0) {
header("location: http://localhost/toppage.php");
exit;
} else {
header("location: http://localhost/login.php");
}
}catch (PDOException $e){
echo('Error:'.$e->getMessage());
exit;
}
?>