忍者ブログ

からすまる日誌

20200221pm01 データをphpからまとめて登録

×

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

20200221pm01 データをphpからまとめて登録

実技(データモデリング演習)8
 
またエラーが出ましたが
Parse error: syntax error, unexpected '>' in C:\xampp\htdocs\php\makino\intra_mail\make_members.php on line 17 
 
require_once("config.php");
$sql="INSERT INTO members(m_name,password) VALUES(:m_name,:password)";//プレースホルダ
$stmt=$pdo->prepare($sql);
foreach($members as $key=>$val){
 $v = password_hash($val,PASSWORD_DEFAULT);
 echo "<p>{$v}</p>";
}
 
INSERT文の"の閉じ忘れ(2度目)
例によってエラーが出ている行は違うところ。(echo "<p>{$v}</p>";)
次にエラーが出たら必ずINSERT文の"の最後を確認せよ。
 
--->make_members.php
 
<?php
$members = [
 "どらえもん"=>"doradora",
 "のび太"    =>"nobinobi",
 "静香"      =>"sizusizu",
 "ジャイアン"=>"jaijai",
 "スネ夫"    =>"sunesune"
];
//print_r ($members);
require_once("config.php");
$sql="INSERT INTO members(m_name,password) VALUES(:m_name,:password)";//プレースホルダ
$stmt=$pdo->prepare($sql);
foreach($members as $key=>$val){
 $v = password_hash($val,PASSWORD_DEFAULT);//passwordをハッシュ
 //echo "<p>{$v}</p>";
 $stmt->bindValue(":m_name",$key,PDO::PARAM_STR);//キーの方をバインド
 $stmt->bindValue(":password",$v,PDO::PARAM_STR);//hashしたpassをバインド
 $stmt->execute();
 
}
?>
1回だけ実行する
→はいった
 
 
ではこのプログラムはもう使わない
 

ログインページ login.php
 
<!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>認証</h1>
  <form method="post" action="auth.php">
   <table>
    <tr>
     <th><label for="id">ID</label></th>
     <td><input type="text" name="id" id="id"></td>
    </tr>
    <tr>
     <th><label for="password">パスワード</label></th>
     <td><input type="password" name="password" id="password"></td>
   </table>
   <p><button type="submit">認証</button></p>
  </form>
 </div>
 <script src="js/script.js"></script>
</body>
</html>
 

認証ページ auth.php
をつくる。
 
同じIDをまずとりだし、
プレーンなパスワードとハッシュされたのをパスワードベリファイで比較。
 
$sql="SELECT * FROM members WHERE id=:id";
 
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