2017-11-25 6 views
0

これはおそらく非常に簡単な質問ですが、私はログインフォームで働いています。今のところうまくいきます。ユーザー名とパスワードが正しいとすれば正常にログインできます。しかし、今私は1つの変数$品種を作りました。また、正常な品種であれば正常にログインするPHPコードが必要です。PHPの結果それは私が3つの変数を持っていれば> 0です

<?php 
require "conn.php"; 
$user_name = $_POST["user_name"]; 
$user_pass = $_POST["password"]; 
$breed = $_POST["breed"]; 
$mysql_qry = "select * from tabela where username like '$user_name' and password like '$password' and breed like '$breed';"; 
$result = mysqli_query($conn ,$mysql_qry); 
if(mysqli_num_rows($result) > 0) { 
echo "log"; 
} 
else { 
echo "login not success"; 
} 

?> 

もアンドロイドでJavaコードと間違っSTHが、そこにあれば、それは完璧に動作cuzを私はそれを疑うがあるかもしれません:3番目の変数($品種)も含まれている場合、このコードは、(それが表示されます)動作しません。唯一のユーザー名とパスワードは次のとおりです。

@Override 
    protected void onPostExecute(String result) { 


     if(result.contentEquals("log")) { 

      context.startActivity(new Intent(context, Boxer.class)); 

     }else 
     { 
      Toast.makeText(context, "Wrong Username or Password!", Toast.LENGTH_SHORT).show(); 
     } 



    } 
+0

ログインフォーム – nogad

+0

フォームはアンドロイドスタジオで作成されました。私はいくつかのコードを追加しました –

+3

それは何を表示しますか?これはSQLインジェクションに開放されています。厳密な比較に 'like'を使うべきではなく、平文のパスワードを保存しないでください。 – chris85

答えて

0

あなたが理想的

select count(*) as count from LOGIN_TABLE where USERNAME='your_input' and PASSWORD='your_input' and BREED='your_input'; 

に与えられた組み合わせでユーザーの数を取得するには、クエリのヘルプreducinのこのタイプをカウント機能を使用する必要がありますあなたのコードへの可能性のある脅威。正確に一致すると思われるので、ユーザー名とパスワードの照合にLIKEを使用しないでください。

関連する問題