繁体   English   中英

无法将php文件中的json_encode值检索到android中

[英]cannot retrieve json_encode value from php file into android

 <?php 

 require 'connection.php';

 $response = array();

 $response_array = array();

 $insert_query=0;

 if(isset($_POST["username"]) && isset($_POST["password"]) && isset($_POST["phone"]))
{
 $username = $_POST["username"];
 $password = $_POST["password"];
 $phone = $_POST["phone"];

 $check_existing_user = mysql_query("select * from eh_users where username like '".$username."'");



if(mysql_num_rows($check_existing_user)==0)
    {


 $insert_query = mysql_query("INSERT INTO eh_users(username, password, phone)           VALUES('$username','$password','$phone')");


 if($insert_query==1)
    {
        $response["success"]=1;

        $response["message"]="Insert Query Successful";

        file_put_contents("myFile.txt", json_encode($response));

        echo json_encode($response);

    }   

else
    {
        $response["success"]=0;

        $response["message"]="Error : Query not successful";

        echo json_encode($response);
    }

}
}

?>

protected String doInBackground(String ... params){// TODO自动生成的方法存根

        try
        {
            String url="http://www.iloveexpressions.com/eh/signUp.php";

            httpclient = new DefaultHttpClient();
            httppost = new HttpPost(url);
            nameValuePairs = new ArrayList<NameValuePair>(3);

            Log.d("Parameters ", username+" "+password+" "+phone);

            nameValuePairs.add(new BasicNameValuePair("username", username.trim()));
            nameValuePairs.add(new BasicNameValuePair("password", password.trim()));
            nameValuePairs.add(new BasicNameValuePair("phone", phone.trim()));

            Log.d("name value pairs", nameValuePairs.toString());

            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            response = httpclient.execute(httppost);

            JSONObject json = jsonParser.getJSONFromUrl(url);

            int success = json.getInt("success");

            //JSONArray jArray = json.getJSONArray("success");

            Log.d("Json object : ",success+"");

            /*for(int i = 0; i < jArray.length(); i++ )
            {
                JSONObject c = jArray.getJSONObject(i);

                String success = c.getString("success");

                String message = c.getString("message");

                Log.d("Sucess : ", success);

                Log.d("Message : ", message);
            }*/


        }

文本文件包含正确的内容{“成功”:1,“消息”:“插入查询成功”}

但我无法在android中检索它

首先使用<new HttpPost.(url)然后使用httpclient.execute(httppost) <new HttpPost.(url)进行登录,然后再将该URL与getJSONFromUrl(url);一起使用是没有意义的getJSONFromUrl(url); 相反,您应该从现有响应中读取json。

HttpResponse response = httpClient.execute(httpPost);

BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));

StringBuilder sb = new StringBuilder();

String line;
while ((line = reader.readLine()) != null) 
    {
    sb = sb.append(line);
    }

String jsonText =  sb.toString();

就我而言..我正在使用Http方法,然后使用JSONParser类中的getjsonfromURL,该类也具有用于get和post的Http方法。

我认为有两个电话正在通话,因此没有对象被退回

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM