0

我正在尝试学习将 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
  {

?>

但它从未在 home.php 中遇到此代码。

和主机有什么关系吗?还是我做错了什么?

提前致谢,

卡松

4

1 回答 1

0

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

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

接着:

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

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

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

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

header("Location: newpage.php");
exit;
于 2013-04-12T14:57:08.743 回答