//ここから追加 <?php header("X-XSS-Protection: 0");?> <?php $logged_in = false; // もしログインボタンがおされたならという書述 if (isset($_POST["login"])) { //ここまで $username = $_POST["username"]; $password = $_POST["password"]; //サーバーに接続する try { $dbh = new PDO('mysql:dbname=form;host=localhost', 'root', ''); } //例外(つまりつながらなかった時にどういう処理をするかを記述する catch (PDOException $e) { exit('データベースに接続できませんでした'.$e->getMessage()); } $sql = "SELECT * FROM user_info WHERE name='$username' AND password='$password'"; $stmt = $dbh->prepare($sql); $stmt->execute(); $data = $stmt->fetch(PDO::FETCH_ASSOC); if (!empty($data)) { $logged_in = true; echo "ログイン成功"; } else { $logged_in = false; echo "ログイン失敗"; } } ?> //ここまで <!doctype html> <html> <head> <meta charset="UTF-8"> <title>login form</title> </head> <body> //入力された情報を現在のスクリプトパス$_SERVER['SCRIPT_NAME']で処理してる// //入力された情報をPOSTメソッドでサーバーに送り$_POSTという変数に格納させる// <form id="loginForm" name="loginForm" action="<?php print($_SERVER['SCRIPT_NAME']); ?>" method="POST"> //ここまで //入力送信フォーム作成コード <form id="loginForm" name="loginForm" action="#" method="POST"> <legend>ログインフォーム</legend> //input type="text" にすることによって1行テキストボックス作成 <label for="username">ユーザ名</label> <input type="text" id="username" name="username" value="" /> <br /> //input type="password" にすることによってパスワード入力ボックス作成 <label for="password">パスワード</label> <input type="password" id="password" name="password" value="" /> <br /> //input type="submit" によって送信ボタンを作成 <input type="submit" id="login" name="login" value="ログイン" /> </form> //ログインが成功したならというコード <?php if ($logged_in): ?> <?php echo "こんにちは".$_POST["username"]."さん"?> //["username"]に格納された変数が空の配列を返している(つまり何もない状態ならecho 以下を表示させるというコード) <?php elseif (!empty($_POST["username"])):?> <?php echo htmlspecialchars($_POST["username"],ENT_COMPAT,UTF-8)."さんが見つかりませんでした。入力情報を確認してください"?> <?php endif;?>
var dumpで可視化してしまうとエラーが起きるためvar dumpは消した