PHP $ _SESSION未设置

时间:2013-04-12 14:47:47

标签: php hosting fbconnect

我正在尝试将fb connect与网站集成。在那里,我面临一些问题如下。

从(http://www.mydomain.com/exp/login.php)提交facebook信息后我正在调用,重定向uri中的process_data.php就像这样,

<fb:registration fields="[
{'name':'name'},
{'name':'email'},
{'name':'who', 'description':'additional info',     'type':'text'}]"
redirect-uri="http://www.mydomain.com/exp/process_data.php"
</fb:registration>

然后,在process_data.php中,我执行以下操作,

if ($_REQUEST) {
$response = parse_signed_request($_REQUEST['signed_request'], 
                               $appSect);

if($response){  
    $_SESSION['facebook_data'] = $response;
    header('Location: '.$redirect_url); //http://www.mydomain.com/exp/home.php
} else {
echo '$_REQUEST is empty';
}

最后,在home.php中,

<?php
  session_start();
  if(isset($_SESSION['facebook_data'])){
    //do something with data
  {

&GT;

但它永远不会在home.php中遇到此代码。

托管有什么关系吗?或者我做错了什么?

提前致谢,

Kasun

1 个答案:

答案 0 :(得分:0)

当您重定向时,请尝试执行以下操作:

 header("Location: newpage.php?PHPSESSID=".session­_id());

然后:

session_id($_GET['PHPSESSID']); 
session_start();

AFAIK当您设置会话变量然后立即重定向时出现问题,这并不总是有效。

请注意,最好将会话ID存储在cookie中,而不是存储在URL中。

或者,在重定向后立即尝试使用exit

header("Location: newpage.php");
exit;