我正在尝试将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
答案 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;