PHPとSQLite3を用いたログイン認証機能の実装について
大変お世話になっております。PHP、SQLite初心者です
今回、SQLiteとPHP、CGIしか動作しないサーバーでフレームワーク無しのWebサイトを構築をすることになりました
ログイン処理を様々なページを参考にしながら、以下のソースを作成致しました
しかし、ログインがうまくできません
DBに登録されている値も、されていない値もログイン失敗になってしまいます
エラーで落ちているわけではなさそうです
どうすればログイン成功にできますでしょうか
また、このままの実装でセキュリティ的に問題ありませんでしょうか
何卒、御教授をお願いいたします。
<?php //セッションスタート session_start(); //user_nameとpass_wordをXXX.htmlから受け取っている場合 if (isset($_POST['user_name']) && isset($_POST['pass_word'])){ //変数に格納 $user_name = $_POST['user_name']; $pass_word = $_POST['pass_word']; //PDOでSQLite3に接続 $pdo = new PDO('sqlite:ZZZ.sqlite3','',''); $pdo -> setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC); //SQL文発行と実行(user_nameとpass_wordがZZZ.sqlite3のテーブル名に登録されているか) $sql='select name,pass from テーブル名 where name = :user_name AND pass= :pass_word'; $data = array('user_name'=>$user_name,'pass_word'=>$pass_word); $stmt = $pdo->prepare($sql); $stmt->execute($data); //ログイン処理(DBに一件登録されている場合はYYY.htmlへ) if ($row = $stmt->fetch() == 1){ $_SESSION['user_name'] = $_POST['user_name']; header("Location: YYY.html"); }else { //ログイン失敗処理省略 } } ?>
参考にしたサイト様
セッション
http://ummt.jp/tech/article/index.php?type=php&sid=140621_02
データベース(このページは難しくて、よくわかりませんでした)
https://oshiete.goo.ne.jp/qa/6465628.html

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/28 15:10