一个php会话变量导致重定向的取消设置会话

时间:2017-02-16 18:10:06

标签: php mysql session facebook-javascript-sdk facebook-php-sdk

我正在使用Javascript和PHP Facebook sdk的组合将登录集成到我的网站(托管在localhost上)。

Facebook初始化并获取访问令牌后的代码:

if(fbidExists($profile['id']) == true)
  {

    $query = "SELECT userid AS id, username FROM users WHERE fbid = ".   $profile['id'] ;

    $login = mysqli_fetch_assoc(mysqli_query($GLOBALS['connection'], $query));

    $_SESSION['id'] = $login['id'];
    $_SESSION['username'] = $login['username'];

    header("Location: http:\\\\localhost\website\\");
    exit();
  }

问题:  重定向后,每当我使用$login['username']时都没有会话变量,否则会话变量正在传输。

如果我更改SQL查询并将username替换为任何其他列,则没有问题,我可以在重定向后看到会话变量。例如 : $query = "SELECT userid AS id, email FROM users WHERE fbid = ". $profile['id'] ; $_SESSION['username'] = $profile['email']没有问题

$_SESSION['username']变量可以通过其他文件轻松设置,并且没有任何问题(当我在自己的登录中使用它时)

MySQL中的

username属于varchar类型,我在每个页面使用session_start(),在标题后使用exit()

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。 事实证明这是一个问题,因为在第二个脚本中没有设置一个正在破坏会话的变量。