gpt4 book ai didi

php - 使用 PHP 和 MySQL 验证 Android 登录

转载 作者:行者123 更新时间:2023-11-29 22:30:40 24 4
gpt4 key购买 nike

public class SecondActivity extends Base2_Activity
{
Button back;
Button login2;
EditText uname,password;
boolean pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.secondctivity);
uname = (EditText)findViewById(R.id.uname1);
password= (EditText)findViewById(R.id.password1);


login2=(Button) findViewById(R.id.login2);
login2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
new PostDataAsyncTask().execute();
// TODO Auto-generated method stub

}
});

}

public class PostDataAsyncTask extends AsyncTask<String, String, String>
{

@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
String resresult=null;
try {

resresult = postText();

} catch (NullPointerException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}

return resresult;
}


@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub

Toast.makeText(getApplicationContext(),String.valueOf(result),
Toast.LENGTH_LONG).show();
//int res= Integer.parseInt(result);

if(result=="error"){

Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();

}
else
{
GlobalVar.number= result;

System.out.println(GlobalVar.number);
Intent i= new Intent(getApplicationContext(), Welcome.class);
startActivity(i);
}
}


}


private String postText(){

String responseStr=null;
try{

String postReceiverUrl = "http://10.0.2.2:8080/a/login.php";

HttpClient client = new DefaultHttpClient();

HttpPost post = new HttpPost(postReceiverUrl);

MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();

entityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);


entityBuilder.addTextBody("uname", uname.getText().toString());
entityBuilder.addTextBody("password", password.getText().toString());



HttpEntity entity = entityBuilder.build();
post.setEntity(entity);

HttpResponse response = client.execute(post);


HttpEntity resEntity = response.getEntity();

if (resEntity != null) {

responseStr = EntityUtils.toString(resEntity).trim();


}




} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}


return responseStr;
}
}

这是我的 php 代码

<?php
$err;
$uname= $_POST['uname'];
$password= $_POST['password'];
$db = 'eventalert';
$conn = mysql_connect("localhost", "root", "") or die("not connected");
mysql_select_db($db, $conn) or die("could not find database");
$query= mysql_query("SELECT registration_id FROM user WHERE uname='$uname'
AND password='$password'");
$result = mysql_query($query) or die(mysql_error());
$rows = mysql_num_rows($result);
echo $rows;
if($rows == 0) {
echo "No Such User Found";
}
else {
echo "User Found";
}

?>

登录时我想检查用户是否输入了有效的用户名和密码。它应该与后端的数据库匹配。但是它不起作用。它显示错误。你能告诉我正确的编码方法吗?

最佳答案

按照以下步骤操作-

  1. 使用 Android 应用登录时,将用户名和密码的 json 发送到服务器。
  2. 在服务器端,解析 json 并匹配数据库中的凭据,如果存在,则将 json 文本发送回 Android 应用程序,例如{“状态”:“成功”}
  3. 如果它们不存在,请以 json 格式发送不同的文本,例如 -{“状态”:“失败”}
  4. 现在从移动端检查 json,看看“success”值是否以 json 形式出现。是的,从应用程序登录,否则不行。

关于php - 使用 PHP 和 MySQL 验证 Android 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825053/

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