前提・実現したいこと
phpでログイン・ログアウト機能を
ここに質問の内容を詳しく書いてください。
現在phpでログイン・ログアウト機能をつけようとしています。その際このページを参考に作っています。しかし、同じようにしてもログインできるようにはなりません。
ユーザー名とパスワードを入力し、ログインボタンを押すと同じページのままで入力した値が消えるという状況です。
該当のソースコード
<?php session_start(); $dsn = 'mysql:dbname=xxx;host=127.0.0.1;charset=utf8'; $user = 'xxx'; $password= 'xxx'; try{ $dbh = new PDO( $dsn, $user, $password ); }catch( PDOException $error ){ echo "接続失敗:".$error->getMessage(); die(); } $sql ="select username, password from user"; $stmt = $dbh->query( $sql ); foreach($stmt as $row): $username=$row['username']; $password=$row['password']; endforeach;?> <?php $error_message = ""; if(isset($_POST["login"])) { if($_POST["username"] == $username && $_POST["password"] == $password){ $_SESSION["username"] = $username; $login_success_url = "http://localhost/phptest/top.php"; header("Location: {$login_success_url}"); exit; } $error_message = "※ID、もしくはパスワードが間違っています。<br> もう一度入力して下さい。"; }?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test</title> <link rel="stylesheet" href="stylesheet.css"> </head> <body> <header> <div class="container"> <a href="http://localhost/test/top.php"> <img src="./image/logo.png"> </a> <div class="header-right"> <?php if(isset($_SESSION["username"])):?> <a href="http://localhost/test/logout.php">ログアウト</a> <a href="http://localhost/test/post.php">新規投稿</a> <?php else:?> <a href="http://localhost/test/login.php">ログイン</a> <a href="http://localhost/test/post.php">新規投稿</a> <a href="http://localhost/test/signup.php">新規登録</a> <?php endif; ?> </div> </div> </header> <form action="login.php" method=post> <h4>ユーザー名</h4> <input name="username"> <h4>パスワード</h4> <input name="password"> <input type="submit" value="ログイン"> </form>
phpのバージョン 7.3.8
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/08/31 07:04 編集
2019/09/01 01:18
退会済みユーザー
2019/09/02 07:56