会话令牌与API的正确使用

时间:2016-09-03 00:53:50

标签: android api session mobile token

任何人都可以解释 - 我正在编写一个Php代码,允许移动应用程序(Android)从数据库中获取数据。

我读过有关使用令牌但是我在哪里可以在服务器端保存此令牌?

(我试过了,但是会话令牌变量不存在我分配它 - 例如,如果我第二次调用它。)

<?php

session_start();

$sql = "SELECT * FROM a_users WHERE a_mail = '".$_POST["mail"]."' AND a_pw = '".$_POST["pw"]."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) 
{
    $value = $result->fetch_assoc();
    $Token_API = encryptMyVar(date('Y-m-d H:i:s'));
    $_SESSION["Token_API"] = $API_Token;
    $value = array("login" => 1,"token_api" => $Token_API,"nickname" => $value["nickname"]); 

    $con->close();

    exit(json_encode($value));
}
?>

我应该将令牌保存在服务器上的文件中,还是我做错了什么?

谢谢!!!

1 个答案:

答案 0 :(得分:1)

因此,在查看您的代码之后,这不是一个大问题。您所拥有的只是您将会话设置为$API_Token的变量,该变量不存在。您应该将$_SESSION["Token_API"]设置为$Token_API。您的最终代码应如下所示:

&#13;
&#13;
<?php

session_start();

$sql = "SELECT * FROM a_users WHERE a_mail = '".$_POST["mail"]."' AND a_pw = '".$_POST["pw"]."'";
$result = $conn->query($sql);
if ($result->num_rows > 0) 
{
    $value = $result->fetch_assoc();
    $Token_API = encryptMyVar(date('Y-m-d H:i:s'));
    $_SESSION["Token_API"] = $Token_API; //Replaced $API_Token with $Token_API
    $value = array("login" => 1,"token_api" => $Token_API,"nickname" => $value["nickname"]); 

    $con->close();

    exit(json_encode($value));
}
?>
&#13;
&#13;
&#13;

请告诉我这是否能解决您的问题;)。