gpt4 book ai didi

java - 无法创建 Android PHP MySQL 登录应用程序

转载 作者:行者123 更新时间:2023-11-30 22:26:47 25 4
gpt4 key购买 nike

我正在创建一个 Android PHP MySQL 登录应用程序,它将检查来自 MySQL 服务器的用户名和密码。我从 here 获得教程

我已经检查了 MySQL 中的名称和密码,它与用户类型相匹配,但我仍然无法进入 HomePage Activity ,因为它显示 Invalid用户名或密码。

 private void login(final String username, final 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) {
InputStream is = null;
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("username", username));
nameValuePairs.add(new BasicNameValuePair("password", password));
String result = null;

try{
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(
"http://192.168.1.7:80/Android/CRUD/login.php");
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, HomePage.class);
//intent.putExtra(USER_NAME, username);
finish();
startActivity(intent);
}else {
Toast.makeText(getApplicationContext(), "Invalid User Name or Password", Toast.LENGTH_LONG).show();
}
}
}

LoginAsync la = new LoginAsync();
la.execute(username, password);

}

登录.php

<? php
require_once("dbConnect.php");

$con = mysqli_connect(HOST,USER,PASS,DB);

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

$sql = "select * from users where name='$username' and password='$password'";

$res = mysqli_query($con,$sql);

$check = mysqli_fetch_array($res);

if(isset($check)){
echo 'success';
}else{
echo 'failure';
}

mysqli_close($con);
?>

最佳答案

$username = $_POST['name'];

改成这个:

$username = $_POST['username'];

关于java - 无法创建 Android PHP MySQL 登录应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34976203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com