ログインしようとすると、「無効なメールまたはパスワード」というメッセージが常に表示されます。私の欠点はどこですか?この問題を修正するための提案はありますか?または、これに関する情報を得るための情報源がありますか?ボタンをクリックすると「無効」メッセージが表示されます
mainactivity.java
です。ここではログインボタンについて説明します。ボタンをクリックすると、情報を取得するデータベースがチェックされず、別のページに切り替わりません。
private View.OnClickListener btnGirisListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
email = etmail.getText().toString();
password = etpassword.getText().toString();
login(email, password);
}
};
private void login(final String email, String password){
class LoginAsync extends AsyncTask<String,Void,String>{
private Dialog loadingDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
loadingDialog=ProgressDialog.show(MainActivity.this,"Please wait", "Loading..");
}
@Override
protected String doInBackground(String... params) {
String mail = params[0];
String pass = params[1];
InputStream is = null;
List<NameValuePair>nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("E-mail",mail));
nameValuePairs.add(new BasicNameValuePair("Password", pass));
String result = null;
try{
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://******");
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
result = sb.toString();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
@Override
protected void onPostExecute(String result) {
String s = result.trim();
loadingDialog.dismiss();
if(s.equalsIgnoreCase("success")){
Intent intent = new Intent(MainActivity.this, Giris.class);
intent.putExtra(E_MAIL, email);
finish();
startActivity(intent);
}else{
Toast.makeText(getApplicationContext(),"Invalid E-mail or Password.",Toast.LENGTH_SHORT).show();
}
}
}
LoginAsync la = new LoginAsync();
la.execute(email,password);
}
};
私はPHPファイルを変更しようとしましたが、解決策はありませんでした。 およびuyegiris.php
ファイル。
<?php
define('DB_USER', "*******"); //Blanks are full.
define('DB_PASSWORD', "*****");
define('DB_DATABASE', "*****");
define('DB_SERVER', "*****");
$con = mysqli_connect(DB_USER,DB_PASSWORD,DB_DATABASE,DB_PASSWORD);
$Email = $_POST['Email'];
$Sifre = $_POST['Sifre'];
$sql = "select * from uyeler where Email='$Email' and Sifre='$Sifre'";
$res = mysqli_query($con,$sql);
$check = mysqli_fetch_array($res);
if(isset($check)){
echo 'success';
}else{
echo 'failure';
}
mysqli_close($con);
?>
を私はあなたがPHPの端部Aにおけるモバイル最後の「メール」と「電子メール」を設定するようのparamsでいくつかの誤植があると思いますモバイル側では「パスワード」の代わりに「Sifre」を使用します。 –
phpのパスワードはSifreで、アンドロイドは 'Password'です –
ログインメソッド内でAsyncTaskクラス全体を定義しているのはなぜですか?ログインメソッドの外でAsyncTaskを定義し、ログインメソッドで単に を呼び出してください。LoginAsync la = new LoginAsync(); la.execute(email、password); – Danger