ユーザがログインしたときに自分のデータベースの一致をチェックして、パスとユーザの両方がエントリと一致すると真を返す方法はわかりません。ユーザとパスワードがデータベースと一致するかどうかをチェック
ユーザー名とパスワードに対応する変数は、$user
と$hash
です。そして、私がマッチしなければならないテーブルは、テーブルUsers
とカラム:User
とPassword
です。
クエリはどのようになりますか?おかげ
ユーザがログインしたときに自分のデータベースの一致をチェックして、パスとユーザの両方がエントリと一致すると真を返す方法はわかりません。ユーザとパスワードがデータベースと一致するかどうかをチェック
ユーザー名とパスワードに対応する変数は、$user
と$hash
です。そして、私がマッチしなければならないテーブルは、テーブルUsers
とカラム:User
とPassword
です。
クエリはどのようになりますか?おかげ
これはあなたが必要とするクエリです:
SELECT * FROM Users WHERE User = '$user' AND Password = '$hash' LIMIT 1;
それは(あなたがmysql_num_rows()
に確認することができます)、結果を返す場合、ログインが有効です。そうでない場合、無効です。データベースクエリで使用する前に$user
をmysql_real_escape_string()
またはエスケープする別の関数でエスケープすることを忘れないでください。
は、クエリは、次のようになります。
SELECT * FROM Users WHERE User='$user' AND Password='$hash' LIMIT 1;
を次にもしそうなら行== 1の数を確認した場合、有効なログインがあったようです。あなたがしようとしていることを覚えています:あなたはデータベース内の2つのものにマッチさせようとしています。 SQL "AND"は、両方の条件が真であることを確認します。
詳細についてはhttp://mysql.com/のAPIをチェックします。
また、入力を保護することも考慮する必要があります.SQLインジェクションは、ログインスクリプトでは特に簡単です。 – diagonalbatman
絶対に。私はあなたの入力を直接クエリに送る前に、 'sanitize'メソッドを書くことをお勧めします(正規表現などでこれを行うことができます)。 – RageD
説明のように。それを私のものに加えようとしていたのですが、あなたはハハを投稿するのに1秒で私を倒しました。 – Kyle
SELECT * FROM Users where User='$user' AND Password='$hash' LIMIT 1
Google for PHPのログインフォームには、これに関する情報が*たくさんあります。 – Vache