忍者ブログ

からすまる日誌

20200221pm02 intra mail 認証

×

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

20200221pm02 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

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30