我遇到了在标题重定向后丢失会话变量的问题,我已经四处寻找解决方案,并且大多数只是确保在标头声明之后调用exit以确保会话退出。
firstfile.php
<?php
session_start();
if( $_SESSION['fb_access_token']){
$response = $fb->get('/me?fields=id,name', $_SESSION['fb_access_token']);
$user = $response->getGraphUser();
echo ' <script> $( document ).ready(function() {';
echo ' $("#state").text("Logged in as: "+"';
echo $user['name'] .'");';
echo '});
</script>';
header('Location: ../mysite/index.php');
EXIT;
}
第二个文件我也在重定向,以某种方式丢失了
中的内容$_SESSION['fb_access_token'] :
的index.php
<?php
session_start();
echo 'profile';
echo $_SESSION['fb_access_token'];
if( $_SESSION['fb_access_token']){
echo 'here';
$response = $fb->get('/me?fields=id,name', $_SESSION['fb_access_token']);
$user = $response->getGraphUser();
echo ' <script> $( document ).ready(function() {';
echo ' $("#state").text("Logged in as: "+"';
echo $user['name'] .'");';
echo '});
</script>';
}
if($_SESSION['fb_access_token'] == null){
echo '<P/>null';
}
?>
显然,当会话变空时,这只会返回null
所以我不完全确定在使用header方法后如果重新打开会话,会话值丢失的原因。任何帮助将不胜感激。
注意:我最近也尝试修改php.ini,因为有些人建议确保会话cookie等已经启用但仍然没有运气。
感谢。