2016-09-03 3 views
0

誰でも説明してください - モバイルアプリ(Android)がDBからデータを取得できるようにするPHPコードを作成しています。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"] = $API_Token; 
    $value = array("login" => 1,"token_api" => $Token_API,"nickname" => $value["nickname"]); 

    $con->close(); 

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

私は上のファイルにトークンを保存する必要がありますサーバーや何か、何か間違っているのですか?

ありがとうございます!

+0

コードを投稿できますか?私たちはあなたのコードを修正するのを助けることができます、私たちはあなたに答えを与えたくありません;)。 –

+0

ありがとう、私はPHPコードを追加しました。任意のアイデアトークンを使用する方法? – user3495363

答えて

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)); 
 
} 
 
?>

これはあなたの問題を解決するかどうかを教えてください:あなたの最終的なコードは次のようになります。

+0

こんにちは、ありがとう。 これはコピー貼り付けの問題ではありますが、私は変数でそれが欠けているのは間違いありません。 私の大きな質問は、APIを使用するときにトークンを正しく使用する方法です。 私は自分のPHPコードを呼び出す携帯電話(アンドロイド)を持っています。 セッションは関連性がありません。これは、サーバー上の変数を保存しないためです。 – user3495363

関連する問題