session_start(); $u = htmlspecialchars($_POST['ids']); $p = htmlspecialchars($_POST['pas']); ?> <html> <head> <meta charset='UTF-8'> <title></title> </head> <body> <?php $db = new PDO("mysql:host=localhost;dbname=mydb", "root", ""); $ps = $db->query("SELECT pass FROM user2 WHERE id='$u'"); if($u ==null || $p ==null){ print "IDとパスワードとも入力してください<br> <a href='a.php'>ログインページへ</a></p>"; } else if ($ps->rowCount() > 0) { $r = $ps->fetch(); if ($r['pass'] != md5($p) ) { print "IDまたはパスワードが違いますa<br> <a href='a.php'>ログインページへ</a></p>"; } else if ($r['pass'] ==md5($p)){ $sql =$db->prepare('select * from user2 where id = ?'); $sql->execute([$u]); foreach($sql as $row); print "<p>" . ['name'] . "さん、こんにちは</p>"; $n=$_COOKIE["kaisu"] +1; setcookie("kaisu",$n,time() + 60 *60*24*365); print $n."回目の訪問ありがとうございます。"; } else if(!isset($_COOKIE["kaisu"])){ setcookie("kaisu",1,time() + 60 *60*24*365); print "<p>初めての訪問ありがとうございます!</p>"; $gu = ""; } echo "<br><a href='e.php'>登録情報変更</a></p>"; echo "<a href='g.php'>購入履歴表示</a></p>"; echo "<a href='h.php'>ログオフ</a></p>"; } else{ print "IDまたはパスワードが違います!<br> <a href="a.php'>ログインページへ</a></p>";} ?> </body> </html>
送られてきた内容をもとにログインできるかどうか判定するもので、id&passが正常の場合データベースにアクセスでき、成功した場合、['name']さんこんにちはと表示したいのですが、うまくいきません。
$sql =$db->prepare('select * from user2 where id = ?'); $sql->execute([$u]); foreach($sql as $low); print "<p>" . ['name'] . "さん、こんにちは</p>";
この部分をどう書き換えて判定できるのか知りたいです。
0 コメント