データベースからログイン情報をselect文で取り出したいです
select文で取り出したログイン情報をSESSIONに保存し、次のページで使用する予定です
現在、次のページに遷移ないため何が原因かを調べています。
formの内容が送られてきているのか怪しかったので、IF文にelseを記述しformの内容が送られてきているかチェックしました。結果、3つのelseの中の$error['login']='failed';によって出力されるエラー文が表示されます。
原因はどこにありますか?よろしくおねがいします。
php
1if($_POST){ 2 if($_POST['name'] !=='' && $_POST['password'] !==''){ 3 $login=$db->prepare('SELECT name,password FROM members WHERE name=:name AND password=:password'); 4 5 $login->bindParam(':name',$_POST['name'],PDO::PARAM_STR); 6 $login->bindParam(':password',$_POST['password'],PDO::PARAM_STR); 7 8 $login->execute(); 9 10 $member=$login->fetch(); 11 12 if($member){ 13 $_SESSION['id']=$member; 14 header('Location:check.php'); 15 exit(); 16 }else{ 17 $error['login']='failed'; 18 } 19 }else{ 20 echo "dame"; 21 } 22}else{ 23 echo "mada"; 24}
<form action="" method="POST"> <P>お名前:</P> <input type="text" name="name" value="<?php print(htmlspecialchars($_POST['name'],ENT_QUOTES)); ?>"> <p>パスワード:</p> <input type="password" name="password" value="<?php print(htmlspecialchars($_POST['password'])); ?>"> <?php if($error['login']==='failed'):?> <p class="error">ログインに失敗しました</p> <?php endif;?> <br> <label> <input type="checkbox" name="save" value="on"> 次回からログインを簡略化する </label> <input type="submit" value="ログイン"> </form>
回答2件
あなたの回答
tips
プレビュー