任何人都可以解释 - 我正在编写一个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));
}
?>
我应该将令牌保存在服务器上的文件中,还是我做错了什么?
谢谢!!!
答案 0 :(得分:1)
因此,在查看您的代码之后,这不是一个大问题。您所拥有的只是您将会话设置为$API_Token
的变量,该变量不存在。您应该将$_SESSION["Token_API"]
设置为$Token_API
。您的最终代码应如下所示:
<?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;
请告诉我这是否能解决您的问题;)。