ここから本文です

PHPでログインシステムを作っているのですが、ログインIDとパスワードをログイン時...

アバター

ID非公開さん

2018/1/1419:45:17

PHPでログインシステムを作っているのですが、ログインIDとパスワードをログイン時に必要としました。

データベースを参照してログインの可否を判断するのですが、ログインIDとパスワードがデータベースにあればそれが対でなくてもログインできてしまいました。
これを解消するためにはif文やSQL文をどうすれば良いのでしょうか?

閲覧数:
35
回答数:
2

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

shimix703さん

2018/1/1508:17:01

ログインIDはテーブルのプライマリキーになっていますよね?where conditionでログインIDが一致したレコードを取得して、そのレコードに格納しているパスワードを(入力されたパスワードと)password_verifyでチェックする・・・というのが普通だと思います。

http://php.net/manual/ja/function.password-verify.php

#生のパスワードを格納したりはしません。ハッシュを格納します。

ベストアンサー以外の回答

1〜1件/1件中

pdphb116さん

2018/1/1612:48:19

もしかして、ログインIDとパスポートの突合がそれぞれ独立したSQLになっていないですか?

例として、下記のような「アカウント」テーブルがあった場合。

|ログインID|パスワード|
|taro|password|


select count(*) as cnt from アカウント
Where
ログインID = 「入力したID」
AND
パスワード= 「入力したパスワード」

上記のsqlでcntが1ならログイン成功、0なら失敗です。

ただ、sqlインジェクションとか気をつけて下さいね。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。