来自Android的Webrequest返回与PC上不同的内容

时间:2011-10-12 14:42:14

标签: php android

HY!

我从android:

调用我的web服务
HttpConnection con = new HttpConnection("XXX/login", handler);
con.setParameter("username",user.getText().toString());
con.setParameter("password",new MD5(pw.getText().toString()).getMD5());
con.start();

日志:

10-12 14:35:52.123: ERROR/NFF User(265): test
10-12 14:35:52.123: ERROR/NFF PW(265):   098f6bcd4621d373cade4e832627b4f6
10-12 14:35:53.443: ERROR/NFF(265): { what=0 when=3917056 obj={"Data":null,"Details":"not authorized","Status":403}
10-12 14:35:53.443: ERROR/NFF(265):  }

On Pc(login?user = test& password = 098f6bcd4621d373cade4e832627b4f6):

{"Data":null,"Details":"bad request","Status":400}

腓:

<?php

if (!isset($_REQUEST['username']) || !isset($_REQUEST['password'])) 
{
die(json_encode(array("Data"=>null, "Details"=>"bad request", "Status"=>400)));
}

include "db_connect.php";

$response = array("Data"=>null, "Details"=>null, "Status"=>null);

$result = mysql_query("SELECT * FROM USER WHERE USER_NAME = '".mysql_real_escape_string($_REQUEST['username'])."' AND PASSWORD = '".mysql_real_escape_string($_REQUEST['password'])."'");
$line = mysql_fetch_assoc($result);


if ($line != null) 
{

session_destroy();

session_start();

mysql_query("UPDATE USER SET USER_SESSION = '".mysql_real_escape_string(session_id())."' WHERE USER_ID = '".mysql_real_escape_string($line['USER_ID'])."'");

$_SESSION['authenticated'] = true;
$_SESSION['USER_ID'] = $line['USER_ID'];

$response['Status'] = 200;
$response['Data']['session_id'] = session_id();
} 
else 
{
$response['Status'] = 403;
$response['Details'] = "not authorized";
}


echo json_encode($response);
?>​

为什么包括来自android请求的单词“what = 0 when = 3917056”?

请帮忙

1 个答案:

答案 0 :(得分:0)

我认为什么时候属于发送给处理程序的android消息

http://developer.android.com/reference/android/os/Message.html#what

并在记录整个邮件时记录。

结构看起来像这样

Message{
      what=0
      when=3917056
      obj=(This is your actual result)
 }

所以不用担心; - )