忍者ブログ

からすまる日誌 mySQL

授業ノートのまとめ

応用(22) intra mail 認証

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

応用(22) intra mail 認証

auth.phpのつづき 
 
またエラーがでたが今度は自分で解決した
$stmt=$pdo->prepare($sql);
の一行がまるっと抜けていた。
どうしてPHPだけこうも凡ミスをするんだろう?
 
--->auth.php
 
<?php
session_start();
if(empty($_POST["id"]) || empty($_POST["password"])){
 header("Location: login.php");
 exit();
}
require_once("config.php");
$sql="SELECT * FROM members WHERE id=:id";
$stmt=$pdo->prepare($sql);
$stmt->bindValue(":id",$_POST["id"],PDO::PARAM_INT);
$stmt->execute();
//取り出しただけなのでfetchする
$row=$stmt->fetch(PDO::FETCH_ASSOC);
//ハッシュ済みと送られてきたpassの比較
if(password_verify($_POST["password"],$row["password"])){
 //認証成功
 $_SESSION["login"]=true;
 $_SESSION["m_name"]=$row["m_name"];
 header("Location: mypage.php");
 exit();
}else{
 //認証失敗
 $_SESSION=[];//全消し
 header("Location: login.php");
 exit();
}
?>
 
--->mypage.php
 
<?php
session_start();
if(empty($_SESSION["login"])){
 header("Location: login.php");
 exit();
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
 <meta charset="utf-8">
 <title>マイページ</title>
 <link rel="stylesheet" href="css/style.css">
</head>
<body>
 <div id="container">
  <h1><?php echo htmlspecialchars($_SESSION["m_name"],ENT_QUOTES); ?>の受信トレイ</h1>
  
 </div>
 <script src="js/script.js"></script>
</body>
</html>
 

ではログインページで
idに1
passにdoradoraと入力
 

エラーが突き止められないときは:
すべてheaderを止めること
exit("case1");とか打ち込むこと
 

mypageで自分あてのメールをみたり、新たにメールを送ったりしたい
 
db mailsに1件ダミーを入れる
挿入で行う
 
 
 
ではmypageで以下のものを表示させるSELECT文は?:
 
件名
送信者
時間
新しいのが上 
 
PR

コメント

ただいまコメントを受けつけておりません。

プロフィール

HN:
karasumaru
性別:
非公開

P R