从PHP获取android响应

时间:2012-08-30 13:58:55

标签: php android

我得到了从php到android的响应,见下文.php

 <?php
 $username = $_POST[username];
 $password = $_POST[password];
 if($username == "himm")
 {
if($password == "rangde"){
        echo "success" ;
}
else{
    echo "passwor is wrong.";
}
  }
 else
 {

echo "fail";
  }
  ?>

我在android的logcat窗口取得了成功。但是在android中我已经进行了如下比较,

  BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
  StringBuilder sb = new StringBuilder();
    String line = null;
    while ((line = reader.readLine()) != null) {
           sb.append(line + "\n");
    }
    is.close();
    result = sb.toString();
    Log.v("","Result : "+result);
    Log.v("","this is Result: "+result.equalsIgnoreCase("success"));
    if(result.equals("success")){
        Log.v("","Login successfully......");
}
else{
        Log.v("","Fail to login......");
    }

但在logcat窗口中,我看到“登录失败”消息。 Php发送响应为“成功”但是哪种类型? 这里if(result.equals(“success”))的条件应为true。请任何机构给我提出想法或建议以实现这些..........提前谢谢

3 个答案:

答案 0 :(得分:1)

sb.append(line + "\n");将“成功”修改为“成功\ n”,因此if(result.equals("success")){失败,因为'success \ n'与'success'不匹配。

答案 1 :(得分:1)

在你的Android代码中,你将一个尾随LineFeed添加到你从php收到的结果:

sb.append(line + "\n");

所以你真的要比较成功&#39;成功\ n&#39;这是假的。

答案 2 :(得分:0)

除了之前发布的答案(这是正确的)之外,我想指出HTTP包含执行您要执行的操作的机制。

Http身份验证允许您使用标准的Http返回代码(成功时为200,如果身份验证失败,则为401),并使用现有系统来处理该部分(大多数框架将提供此类代码)。

它还允许您将身份验证与从服务器发回的消息的其余部分分开,并在收到服务器的标头时立即比较身份验证状态。