質問: $sql; // $e->getMessage() でエラー内容を参照可能(デバック時のみ表示) // echo $e->getMessage(); } } } ?> ログイン ログイン画面 ログインフォーム ユーザーID"> パスワード 新規登録フォーム ////////////////// main.php ////////////////// メイン メイン画面 ようこそさん ログアウト ```
回答: login.phpで、取得したidの値をセッションに保存しておき、main.phpでそれを使ってDBを検索してユーザー情報を取り出してください。 今のコードで、 ``` $_SESSION["NAME"] = $row['name']; ``` としていますが、このようにセッションに実データを保存するのはあまり良くないです。DBから検索し直せるデータなのであれば都度取得してください。 ところでこのコードにある ``` $sql = "SELECT * FROM userData WHERE id = $id"; //入力したIDからユーザー名を取得 $stmt = $pdo->query($sql); ``` 変数展開でSQLを組み立てている部分、データの流れから多分脆弱性にはならないですが好ましくはないですしそもそもその前に一度同じクエリを行っているので意味、よくわからないコードになっています。 ローカルのネットワークなど限定された環境で使う分には適当なコードでもまだ良いですが、インターネットに公開するものであれば内容を理解せず見よう見まねでやるのは危険です。