2017-06-20 46 views
-1

loginpage.php如何使用postgresql中的特定列並在if條件中使用該列?

  $token   = $data["token"]; 

      //genereted token on web 
      $genereted_token = get_random_string($user, 50); 


      $_SESSION['login_success']=$login_success; 

      //add sesion token 
      $_SESSION['token']=$genereted_token; 
      //update query token to database 
      $query="update users set token='$genereted_token'"."where 
      id='$user'"; 
      $result=pg_exec($conn,$query); 

mainpage.php

$SQL_select="SELECT * FROM users WHERE id='$user'limit 1"; 

$result=pg_exec($conn,$SQL_select); 

$dt_token = pg_fetch_array($result,0); 

$_SESSION['token_db'] = $dt_token["token"]; 

$a = $_SESSION['token_db']; 
$b =$_SESSION['token']; 

    if($b == $a){ 
    echo "valid token"; 
    }else{ 
    echo "invalid token "; 
    } 

我得到每次無效令牌。 NB:$ a =從數據庫中獲取數據 $ b =從登錄頁面獲取會話數據

問題,數據庫中的數據在$ a上,如果我回顯他得到令牌的正確結果,與$ b相同的變量,但是,當im使用if條件,如「if($ b == $ a)」時,該變量不具有相同的標記數據。

我的英文不好

+1

'$ a'和'$ b'的值是什麼?你在哪裏定義'$ _SESSION ['token']'? – showdev

+0

$ _SESSION ['token']它來自登錄頁面,並且來自主頁面的語法,所以當用戶登錄時他已經生成了標記並將其保存在$ _SESSION ['token']中,生成的標記已將標記從數據庫也。 但是當我從數據庫調用令牌並將其保存在變量字段($ a)中時,如果條件爲先生,我無法使用它,你能幫忙嗎? @獨裁者 –

回答

0

笑*對不起那問題: 前:

$ _SESSION [ 'token_db'] = $ dt_token [ 「令牌」];

後:

$ _SESSION [ 'token_db'] =修剪($ dt_token [ 「令牌」]);

相關問題