Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用php/mysql的Android登录不起作用_Java_Php_Android_Mysql_Login - Fatal编程技术网

Java 使用php/mysql的Android登录不起作用

Java 使用php/mysql的Android登录不起作用,java,php,android,mysql,login,Java,Php,Android,Mysql,Login,我是android开发的新手,这里有一些代码是我为在我的移动应用程序中拥有登录功能而编写的。我试图将输入文本中输入的数据的值与mysql数据库进行比较,但似乎我没有抓住要点,我真的不知道我的代码是否在引导我做什么,或者这只是胡说八道,你们能帮我吗?顺便说一下,我没有得到任何错误,只是点击按钮后没有结果 这是我的密码: ** 创建时受保护的void(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentV

我是android开发的新手,这里有一些代码是我为在我的移动应用程序中拥有登录功能而编写的。我试图将输入文本中输入的数据的值与mysql数据库进行比较,但似乎我没有抓住要点,我真的不知道我的代码是否在引导我做什么,或者这只是胡说八道,你们能帮我吗?顺便说一下,我没有得到任何错误,只是点击按钮后没有结果

这是我的密码:

**

创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//编辑文本
inputEmail=(EditText)findViewById(R.id.inputEmail);
inputPassword=(EditText)findViewById(R.id.inputPassword);
//创建按钮
按钮btnSubmit=(按钮)findViewById(R.id.btnLogin);
//按钮点击事件
btnSubmit.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
//在后台线程中创建新产品
新建CheckLogin().execute();
}
});     
}
类CheckLogin扩展了异步任务{
/**
*在启动后台线程显示进度对话框之前
* */
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
pDialog=新建进度对话框(Main.this);
pDialog.setMessage(“登录…”);
pDialog.setUndeterminate(假);
pDialog.setCancelable(真);
pDialog.show();
}
/**
*创造产品
* */
受保护的字符串doInBackground(字符串…args){
字符串eadd=inputEmail.getText().toString();
字符串密码=inputPassword.getText().toString();
httpclient=新的DefaultHttpClient();
httppost=新的httppost(“http://10.0.2.2/TheCalling/log_in.php");
试一试{
nameValuePairs=新的ArrayList();
添加(新的BasicNameValuePair(“eadd”,eadd));
添加(新的BasicNameValuePair(“密码”,password));
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
response=httpclient.execute(httppost);
if(response.getStatusLine().getStatusCode()==200){
entity=response.getEntity();
如果(实体!=null){
InputStream instream=entity.getContent();
JSONObject jsonResponse=新的JSONObject(convertStreamToString(instream));
String inputEmail=jsonResponse.getString(“eadd”);
String inputPassword=jsonResponse.getString(“密码”);
if(eadd.equals(输入电子邮件)和&password.equals(输入密码)){
SharedReferences sp=GetSharedReferences(“登录详细信息”,0);
SharedReferences.Editor spedit=sp.edit();
spedit.putString(“eadd”,eadd);
spedit.putString(“密码”,password);
提交();
Toast.makeText(getBaseContext(),“SUCCESS!”,Toast.LENGTH\u SHORT.show();
}否则{
Toast.makeText(getBaseContext(),“无效的登录详细信息”,Toast.LENGTH_SHORT.show();
}
}
}
}捕获(例外e){
e、 printStackTrace();
}
返回null;
}
**

这是我的php文件:

**


我不是安卓开发者,但以下是我要说的

  • php文件很好。唯一的问题是,您没有返回电子邮件和密码,您似乎正在访问android文件。这里:

    InputStream instream=entity.getContent(); JSONObject jsonResponse=新的JSONObject(convertStreamToString(instream)); String inputEmail=jsonResponse.getString(“eadd”); String inputPassword=jsonResponse.getString(“密码”)

  • 如果查询正确,mysql_query()将在成功时返回资源,如果查询出错,将返回FALSE。 您需要检查mysql\u num\u rows($result)>0是否存在有效匹配。请参阅

  • 记得吗

    if ($result) {
    }
    
    除非您的查询错误,否则将始终为true。

    1)您可以发布方法“convertStreamToString”吗

    2) 你查过了吗

      echo json_encode($response); 
    

    返回正确的值,不返回null?

    确保您在Manifast中添加了Internet权限。我们可以看到
    log_in.php
    filePHP文件发布,谢谢。它们不再被维护。请查看?改为了解,并使用或-将帮助您决定哪一个。如果您选择PDO,请分享一些关于abov的反馈E
    if ($result) {
    }
    
      echo json_encode($response);