首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用RESTful API

使用RESTful API
EN

Stack Overflow用户
提问于 2016-01-04 14:40:45
回答 1查看 92关注 0票数 0

我想获得PHP方面的经验,所以我开始关注我自己的RESTful API服务器。我阅读了REST,地址应该是什么样子,HTTP谓词状态代码存在什么。我的朋友正在使用客户端(Android,Java),而我则使用服务器端。

对于第一阶段,我必须进行认证和注册。我不知道如何获取数据,但我的代码应该验证用户名和密码,然后将这些值与数据库进行比较。最后,如果用户存在,它必须接收一个令牌,据我了解,该令牌必须用于访问我的API的其他方法。这就是我遇到的问题:

代码语言:javascript
复制
<?php

require __DIR__ . '/auth.php';

class Handler extends DbConn

{
public function isValidUser($login,$password_hash)
    {

        $sql = 'SELECT 1 FROM users WHERE name = :name AND password_hash = :password_hash';
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindValue(':name',$login);
        $stmt->bindValue(':password_hash',$password_hash);
        $stmt->execute();
        $row = $stmt->fetchColumn();
        if ($row == 1)
        {
            $this->getCurrentToken($login);
        } else {
            $this->createUser();
        }
    }

    protected function getCurrentToken($login)
    {
        $sql = 'SELECT api_key FROM users WHERE name = :name';
        $stmt = $this->pdo->prepare($sql);
        $stmt->bindValue(':name',$login);
        $stmt->execute();
        $row = $stmt->fetchColumn();

    }




}
?>

这只是一个模板,可能存在一些错误。我不知道下一步该怎么办。理论上,我知道我必须给用户一个令牌,但是您是如何做到的呢?如何创建服务器的响应?如何使用json将数据从服务器传输到客户端?

我知道理论上应该如何运作,但我在实践中遇到了困难。我不希望有一个详细的解释,我只是想要理解的意义,了解什么算法。我应该读什么材料?有人能给我关于上面的代码的建议吗,例如我应该添加到类中的方法的一个例子。

而且,考虑到它是API,它必须为浏览器和移动应用程序提供不同的工作方式。伙计们,希望你们能给我一些有用的建议。谢谢大家的关注。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-04 14:57:55

如果客户端使用POST(即android中的HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); )调用服务器,那么用户在$_POST上发布的所有数据都会被发送给您。

如果你是rest的新手,不要在这个级别上弄乱数据库,只需创建页面即可。

代码语言:javascript
复制
<?php
echo json_encode($_POST);
?>

并从客户端调用它,您将得到进一步的路径:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34593585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档