PHPでログイン画面を作成しています。
MySQLの接続は成功しているのですが、header("Location: ./mypage.php");で「データベースの接続に成功しました。」は表示されるのですが、その後、どうしてもリダイレクトしてくれません。
原因がわからず質問させていただきました。
試したこととして、フルパスで書いてみましたが、やはりリダイレクトしてくれませんでした。
お力添え、よろしくお願いいたします。
<?php session_start(); $pdo = mysqli_connect('※※※※※※※※※※', '※※※※※※※', '※※※※', '※※※※※※※※※'); if (mysqli_connect_errno()) { die("データベースに接続できません:" . mysqli_connect_error() . "\n"); } else { echo "データベースの接続に成功しました。\n"; } if (isset($_SESSION["login"])) { session_regenerate_id(TRUE); // ※リダイレクトしない header("Location: ./mypage.php"); exit(); } if (count($_POST) === 0) { $message = ""; echo "ポストされていない\n"; } else { if(empty($_POST["uname"]) || empty($_POST["pass"])) { $message = "ユーザー名とパスワードを入力してください"; } else { $query = "SELECT id, name, pass FROM users;"; if ($result = mysqli_query($pdo, $query)) { foreach ($result as $row) { var_dump($row); } session_regenerate_id(TRUE); $_SESSION["login"] = $_POST['uname']; // ※リダイレクトしない header("Location: ./mypage.php"); exit; } } } $message = htmlspecialchars($message); ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>ログインページ</title> <link href="login.css" rel="stylesheet" type="text/css"> </head> <body> <h1>ログインページ</h1> <div class="message"><?php echo $message;?></div> <div class="loginform"> <form action="login.php" method="post"> <ul> <li>ユーザー名:<input name="uname" type="text"></li> <li>パスワード:<input name="pass" type="password"></li> <li><input name="送信" type="submit"></li> </ul> </form> </div> </body> </html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/22 10:16
2021/12/22 10:34
2021/12/22 10:48
2021/12/22 11:27