【问题标题】:Php returning success to java after data found in database and on insert of database在数据库中找到数据并插入数据库后,PHP向java返回成功
【发布时间】:2013-04-18 08:16:26
【问题描述】:
<?php

include("db_config.php");

$myusername = $_GET['username'];
$mypassword = $_GET['password'];



$sql="SELECT id FROM tablename WHERE username='$myusername' and password='$mypassword'";

echo $sql;

$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];

$count=mysql_num_rows($result);


 // If result matched $myusername and $mypassword, table row must be 1 row
if($count==1)
{
 echo "<strong> <font size='18'>Login Success</font></strong>";
 }
 else 
 {
echo "<strong> <font size='18'>Login Failed</font></strong>";
}

?>

我在成功时尝试了响应数组.. 但是在 java 文件中我收到它.. 显示为 Null.. 我正在使用这一行来接收成功

  success=json.getInt(TAG_SUCCESS);

我还在我的 JSON 解析器类中使用它来检查服务器是否返回成功。

  if (response.getStatusLine().getStatusCode() == 200) 

而且登录也给出了登录失败..虽然我输入了数据库中存在的用户名

谁能帮帮我??

【问题讨论】:

  • 什么Java文件?你是说 JavaScript 吗?如果是这样,您能否显示代码以便我们了解它的用途?
  • Itsa java 文件不是 javascript.. 在 java 中我需要知道用户是否成功登录.. den 我需要显示一条消息,这就是全部
  • 请问你为什么用PHP,为什么不用JSP或JSF?
  • 我没有直接访问服务器..所以 PHP 用于数据库访问。
  • 您的问题可能出在您的 java 代码中。 (你可以通过运行php脚本测试是否得到一个空页面)

标签: java php json apache


【解决方案1】:

不确定您使用的是什么库,但在 HTML 文本“登录成功/失败”上使用方法“getInt()”看起来非常错误。

使用“json”。 HTML 数据上的方法看起来也很错误。

所以让你的 php 发出有效的 JSON,并让你的 Java 从 hte JSON 中提取登录成功或失败文本。

【讨论】:

  • 我在 Json 中做了 ..它给出了 null 值..你能帮帮我吗
  • 我发现查询没有采用我输入的内容..但我将它们发送到 php
【解决方案2】:

如果我错了,请纠正我,但是您的 php 没有返回有效的 JSON,而是返回 HTML 代码。自然,当您尝试将其解析为 JSON 时,您会得到null。如果你的 PHP 改成这样:

if($count==1) {
    $result['login'] == 'success';
}
else {
    $result['login'] == 'failed';
}
echo json_encode($result);

那么你也许可以在你的 java 中解析它并使用类似的东西:

if("success".equals(json.getString("login")) {
    //login successful
}

这不是实现这一目标的唯一方法,但它应该可以解决问题。

【讨论】:

  • 我试过这个..它仍然给出空指针,..你能帮我吗
  • @user2251603 在您的 java 代码中,添加一个调试语句,输出准确响应的全部内容 - 然后将其发布在这里。
  • 我发现查询没有采用我输入的内容..但我将它们发送到 php
  • @user2251603 另外,我刚刚注意到我为getString 输入了错误的值。我现在更新了它,但我希望你在执行代码之前自己发现并修复它。
  • @user2251603 你确定你是用GET而不是POST发送数据吗?尝试使用$_REQUEST 而不是$_GET。此外,您的代码可能会受到 sql 注入。你真的不应该使用mysql_ 函数。
猜你喜欢
  • 2019-05-05
  • 2019-01-28
  • 1970-01-01
  • 1970-01-01
  • 2019-05-15
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 2018-01-19
相关资源
最近更新 更多