loginpage.php
$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 ";
}
我每次都会收到无效令牌。 注意:$ a =从数据库获取数据 $ b =从登录页面的会话中获取数据
问题,来自$ a数据库的数据,如果我回应他得到令牌的正确结果,并且与$ b有相同的变量但是,当我使用if条件如“if($ b == $) a)“变量没有相同的令牌数据。
*抱歉我的英文不好
答案 0 :(得分:0)
大声笑那个问题: 之前:
$ _ SESSION ['token_db'] = $ dt_token [“token”];
后:
$ _ SESSION ['token_db'] = trim($ dt_token [“token”]);