2016-09-16 4 views
-3

私はPhpとmysqlを使ってログインを確認する必要があります。私のコードでは、ユーザー名とパスワードが正しい場合でも、それが正しい状態に保たれています。私はそれを間違っていたのですか?PHP、ログイン用データベースへの私のSQL接続

HTMLコードは、この

enter image description here

PHPコードのように見えるが、この

enter image description here

のように見えるが、ありがとうござい

+1

コードを追加できますか? – fernando

+1

コードの投稿ではなく、コードの画像。 – WillardSolutions

+1

コピー可能な形式でここにコードを追加して、資格情報を取り出してください。 – aynber

答えて

1

問題1:$ USER_NAME = $ _POST [ 'ユーザ名' ];あなたは一重引用符を誤って使用しています。スクリーンショットのパスワードと同じです。 http://i.stack.imgur.com/FlUyR.jpg

問題2:mysqli_query($ CONNECTIONHANDLER、$ QUERY)接続ハンドラがありません。

完全なコードの変更:

$username = mysqli_real_escape_string($con,$_POST['username']); 

$password = mysqli_real_escape_string($con,$_POST['pass_word']); 


$rs = mysqli_query($con, "Select username, pass_word from verify where username = '%s' and pass_word = '%s'", $username, $upassword); 

$check_user = mysqli_num_rows($rs); 

if($check_user>0){ 
    echo "Logged in/valid user "; 
} else { 
    echo "username/password incorrect"; 
} 
+0

*「あなたは一重引用符を間違って使用しました」* - あなたは '$ _POST ['username']' 2つのカンマでもエラーが発生します。 –

+0

@ Fred-ii-入力ミスに気付いたfredに感謝します:) – Senthil

+0

ようこそ。 –

0

変更 $_POST['username']から'$_POST[username]'と同じパスワードのために行きます。あなたが実際に代わり$_POST配列

+0

@masquellettはその仕事をしましたか? –

0

からそれらを得るための文字列値を割り当てられている

は、単純な引用

$username = $_POST['username']; 
$password = $_POST['pass_word']; 

を削除POST入力が常にが注入

0

を避けるために消毒する必要があることを覚えておいてください私はあなたが間違っていると思う。また、ユーザー名とパスワードをインターネットに公開しました。 クエリは冗長です。そのようなユーザー名とパスワードを持つユーザーがいるかどうかを確認するだけです(たとえば、Select Count(*)from ...) 2番目のコントロールは余計です。また、あなたはしばらくの間に変数を宣言しており、その外側からそれらの値にアクセスしようとしています。

また、他のユーザーが既に提案している引用符やものなどの構文上の誤りもあります。

関連する問題