質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Q&A

0回答

381閲覧

ログイン画面から、任意のuseridとpasswordを使用して、ログインしたい

TandT

総合スコア12

mysqli

MySQLiはPHP5より導入されているデータベース用のドライバです。MySQL 4.1.3以降の新しい機能の利点をまとめています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

0グッド

1クリップ

投稿2019/09/15 14:10

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shun-K

2019/09/23 05:16

エラーメッセージを見る限り、DBに接続できていないので ログイン成功時も正しく動いてないと思います。 まずは、1つ目のWarning(Access denied for user~) が出ないようにDBの接続設定を見直してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問