当前位置: 首页 > 知识库问答 >
问题:

用于在Android上验证用户登录的PHP Web服务

易宣
2023-03-14

试图在Android上获得用户认证工作。

Android应用程序使用POST方法发送用户名和密码。但是,我一直收到“错误接收详细信息!!”错误。我尝试使用REST控制台查看Web服务是否有效,但没有成功,即使在那里我也会收到相同的错误。

如有任何帮助或指导,我们将不胜感激。

已经构建了一个PHP Web服务,代码是:

<?php

require_once '../site_info.php';
require_once '../database_connect.php';
require_once '../functions.php';

if(isset($_REQUEST['email']) and $_REQUEST['email']!='' and isset($_REQUEST['password']) and $_REQUEST['password']!='')
{
    $email = mysql_real_escape_string($_REQUEST['email']);
    $pass = mysql_real_escape_string($_REQUEST['password']);

    $query = 'select id from users where email = "'.$email.'" and password = "'.sha1($pass).'"';
    $result=mysql_query($query) or die('error getting admin details : '.mysql_error());

    if(mysql_num_rows($result)==1)
    {
        echo 'Login Success!!';
    }
    else
    {
        echo 'Incorrect login details!!';
    }
}
else
{
    echo 'Error recieving data!!';
}

?>

Android应用以 json 格式发送请求:

JOSN 请求数据:{“密码”:“密码”,“电子邮件”:“test@gmail.com”}

回答

状态:200

响应正文:数组(0){}接收数据时出错!!

共有2个答案

何涵忍
2023-03-14

找到解决方案

<?php

require_once '../site.php';
require_once '../database.php';
require_once '../functions.php';

$data = file_get_contents('php://input');
$json = json_decode($data);

$email = $json->{'email'};
$password = $json->{'password'};

if(!empty($email) and !empty($password))
{
    $email = mysql_real_escape_string($email);
    $password = mysql_real_escape_string($password);

    $query = 'select id from users where email = "'.$email.'" and password = "'.sha1($password).'"';
    $result=mysql_query($query) or die('error getting admin details : '.mysql_error());

    if(mysql_num_rows($result)==1)
    {
        $array = array("success" => "TRUE");
        print(json_encode($array));
    }
    else
    {
        $array = array("error" => "Login invalid.");
        print( json_encode($array));
    }
}
else
{
    $array = array("error" => "Data not recieved.");
    print( json_encode($array));
}

?>
施博文
2023-03-14
else{
    var_dump($_REQUEST); //add this line to see what's coming to your script
    echo 'Error recieving data!!';
}

如果你什么都没有收到,那么你可以尝试在这个脚本上发布一些内容来检查脚本,但我想问题是来自客户端。

在命令行中(假设您有cURL):

curl --data "param1=value1&param2=value2" http://example.com/script.php
 类似资料:
  • 本文向大家介绍Java用户登录验证代码,包括了Java用户登录验证代码的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,关键代码如下所示: 以上所述是小编给大家介绍的Java用户登录验证代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

  • 该应用程序应该接受用户电子邮件和密码,并使用Firebase身份验证作为后端。我使用像素2作为模拟器。每次应用程序处理登录功能时,它都会崩溃。 下面是Java文件和gradle文件 Java文件:

  • 现在,我只想让那些已经注册并用我们的软件验证过的用户登录,我已经将用户的电子邮件列表(去掉特殊字符)保存在Firebase内部。当前,当用户登录时,我使用以下功能检查他们的邮件是否在此列表中: 虽然这种方法起作用,但它相当笨拙,因为用户仍然能够在函数回调被调用之前进行初始登录,并且他们的电子邮件仍然显示在FireBase中的“Authentication”选项卡中。 有没有更好的方法只允许预先验证

  • 问题内容: 因此,我目前正在运行已安装ldapjs的node.js。 我的目标是拥有一个使用ldapjs的系统,以允许用户使用用户名和密码登录。 我已经阅读了一段时间的http://ldapjs.org文档,但是正在努力理解ldap的整个思想以及ldapjs的实现。 我目前在文档中有这个 这使我可以运行以下内容并成功绑定到服务器。 但是我真的不确定从这里走到哪里,即使这是正确的方法… 理想的设置是

  • 如何在iOS8中使用CloudKit实现Sign sign-on? 我知道你可以得到一个代表你的登录用户的字符串,这是你的应用程序唯一的,但是我如何在我的后端验证那个字符串呢? 我明白Apple ID/iCloud电子邮件地址是出于隐私原因而隐藏的。 我的后端是Azure中的ASP.NET Web API2,但如果更简单的话,我可以用另一种技术实现它。 我正在寻找相当于谷歌在Android上的单点

  • 我在Android中开发了一个登录表单。我在这里使用了验证。我必须填写任何人(用户名或密码),然后我的应用程序应该显示成功!并应转移到其他活动。 但是,如果两个字段都为空,则不应显示成功消息,而应显示Login fail!!!。 请帮我这个。 这是我的webservice代码: