正从PHP服务器空响应 [英] getting empty response from PHP server

查看:115
本文介绍了正从PHP服务器空响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

喜的朋友我想PHP的Web服务,以我的Andr​​oid应用程序中添加,我的Andr​​oid code:

Hi friends I am trying to add PHP web services to my ANDROID application, my android code:

userName = userNameField.getText().toString();
passWord = passWordField.getText().toString();

try {
JSONObject json = new JSONObject();
json.put("username", userName);
json.put("password", passWord);
json.put("device_type", "Android");
json.put("lat", "0.0");
json.put("long", "0.0");

JSONObject json1 = new JSONObject();
json1.put("method_name", "checkLogin");
json1.putOpt("body", json);

HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
        TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);

HttpPost request = new HttpPost(URL);
request.setEntity(new StringEntity(json1.toString()));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = client.execute(request, responseHandler);

Toast.makeText(this, response, Toast.LENGTH_LONG).show();

} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Throwable t) {
Toast.makeText(this, "Request failed: " + t.toString(),
        Toast.LENGTH_LONG).show();
}
} 

请求:

 {"method_name":"checkLogin","body":   {"username":"someone@some.com","password":"password","device_type":"android","lat":"","long":""}}

预期的响应:

[{"status":"1","message":"Login successfully","data":{"id":"xx","username":"someone@some.com","first_name":"xxx","last_name":"yyy","gender":"xxx","relationship":"xxxx","birthdate":"xxxx","hometown":"","major":null,"class":null,"house":null,"device_type":"iphone","current_location_lat":"0.0","current_location_lon":"0.0","profile_image":"no_male_user.png","is_login":"1","created":"2012","status":"1","tag":[{"id":"x","tag_name":"xxxx"},{"id":"x","tag_name":"xxx xxx"}]}}]

main.php

main.php

<?php
require_once('configure.php');
require_once('db.php');
require_once("request.php");
require_once("error_msg.php");
require_once("./includes/JSON.php");

$json = $_POST['json'];

$objRequest = new Request($json);
$rows = $objRequest -> main();
echo $rows;
?>

request.php

request.php

<?php
require_once("./includes/JSON.php");
require_once("db.php");
require_once('SimpleImage.php');
class Request
{
function __construct($json)
{
    $this -> array1 = @json_decode(stripcslashes(trim($json)));
}
function main()
{
    $objDb = new DB();
    $conn = $objDb -> getConnection();

    if(!$conn)
        return Error :: $DB_CONN_ERROR." ".$DB_CONN_ERROR_DESC;
    else
    {
        if($this -> array1 -> method_name == 'checkLogin')
            return $this -> getLoginFlag($this -> array1 -> body);
    }
}
// For Login Start
function getLoginFlag($body)
{
    $username = trim($body -> username);
    $password = ($body -> password);
    $device_type = trim($body -> device_type);

    $this -> rs_login = DB :: selectLoginRecord($body);
    $arr_resp = array();
    $retArray = array();
    $tagListArray = array();
    if(mysql_num_rows($this -> rs_login) > 0)
    {
        while($rows = mysql_fetch_array($this -> rs_login))
        {
                $arr_resp = array("id"=> $rows['id'],"username"=> $rows['username'],"first_name"=> ucfirst($rows['first_name']),"last_name"=>ucfirst($rows['last_name']),"gender"=>$rows['gender'],"relationship"=>$rows['relationship'],"birthdate"=>date('M d, Y', strtotime($rows['birthdate'])),"hometown"=>$rows['hometown'],"major"=>$rows['major'],"class"=>$rows['class'],"house"=>$rows['house'],"device_type"=>$rows['device_type'],"current_location_lat"=>$rows['current_location_lat'],"current_location_lon"=>$rows['current_location_lon'],"profile_image"=>$rows['profile_image'],"is_login"=>$rows['is_login'],"created"=>date('Y', strtotime($rows['created'])),"status"=>$rows['status']);   
        }
        $this -> rs_tag_list = DB :: selectTagList($arr_resp['id']);
        if(mysql_num_rows($this -> rs_tag_list) > 0)
        {   
            while($rows = mysql_fetch_array($this -> rs_tag_list))
            {
                $tagListArray['tag'][]= array("id"=> $rows['id'],"tag_name"=> $rows['tag_name']);   
            }
        }

        $finalArray = array_merge($arr_resp,$tagListArray);
        $retArray[] = array("status"  => "1","message" => "Login successfully","data" => $finalArray);
    }
    else
    {
        $retArray[] = array("status" => "0","message" => "The username or password you entered is incorrect");  
    }

    return json_encode($retArray);
}
// End Login

}

?>

但是我得到空的响应,任何人可以请帮助我。
在这里,我使用的数据解析JSON。
感谢您的答复的朋友。

but am getting empty response, can anybody please help me. Here I am using JSON for data parsing. thanks for your response friends.

推荐答案

您可以检查PHP code,如果它得到正确的所需值并执行所需的方法是什么呢?

Can you check the php code if it gets the required value correctly and executing the the desired method exactly ?

这篇关于正从PHP服务器空响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆