useridとpassword、二つの変数を格納したDBを作成し、任意のuseridとpasswordを直接入力した後、ログインし、成功時にはログインできました。失敗時はエラーメッセージを表示できるようにしたい。
発生している問題・エラーメッセージ
二つの変数を格納したDBはphpmyadminにて作成済み
エラーメッセージ Warning: mysqli_connect(): (HY000/1045): Access denied for user 'test_db'@'localhost' (using password: YES) in/Applications/XAMPP/xamppfiles/htdocs/loginView/login.php on line 19 Warning: mysqli_query() expects parameter 1 to be mysqli, bool given in /Applications/XAMPP/xamppfiles/htdocs/loginView/login.php on line 23 ログイン成功しました。
該当のソースコード
php login.php
ソースコード
$db_host = 'localhost'; $db_name = 'test_db'; $db_user = 'test_user'; $db_pass = 'test_pass'; $err_msg1 = ''; $err_msg2 = ''; $UserID = (isset($_POST['user_id']) === true)? $_POST['user_id']: ''; $Password = (isset($_POST['password']) === true)? $_POST['password']:''; if(isset($_POST['send']) === true) { if($UserID === '') $err_msg1 = '正しいUserIDを入力してください'; if($Password === '') $err_msg2 = '正しいPasswordを入力してください'; if($err_msg1 === '' && $err_msg2 === '' ) { // データベースに接続する $link = mysqli_connect($db_host, $db_name, $db_user, $db_pass); // userテーブルから、userid,passwordが一致するデータを取ってくる $query = "SELECT user_id, password, contents FROM user WHERE user_id='??' AND Password='??' "; $res = mysqli_query($link, $query); //もし正しく取得できたら、「ログイン成功しました」と表示 if($res !== false) { echo 'ログイン成功しました!<br>'; } else { echo 'ログイン失敗しました'; } } } ### 補足情報(FW/ツールのバージョンなど) php7を使用、Server version: 10.3.16-MariaDB Source distribution
あなたの回答
tips
プレビュー