2012-11-26 111 views
0

我正在尝试开发一个Facebook应用程序,但遇到了会话变量的问题。 我通过设置会话变量的ajax调用脚本。 稍后,我通过ajax调用一个脚本,它检索先前设置的会话变量,但变量是空的。Facebook ajax丢失会话

当应用程序在index.php中加载时调用的第一个脚本。 我已在顶部

<?php 
session_start(); 
//Get PHP SDK 
require_once 'facebook-php-sdk/src/facebook.php'; 
// Create our Application instance. 
$facebook = new Facebook(array('appId' => 'xxxxxxxxxxxxxxx', 
'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'cookie' => true,)); 
$signed_request = $facebook -> getSignedRequest(); 
$like_status = $signed_request["page"]["liked"]; 
?> 

以下通过AJAX调用的第一个脚本设置这样的会话变量:

$numbers = range(1, 52); 
shuffle($numbers); 
$_SESSION['cards'] = serialize($numbers); 

第二脚本(其约10秒后调用,因此我不“T认为这将是一个种族问题)看起来是这样的:

$numbers = unserialize($_SESSION['cards']); 

变量$编号是空的,即使没有其他的脚本已经清空$ _SESSION [”卡。

应该这样做还是我做错了?我对Ajax非常陌生。 我读过这里可能会有问题与ajax调用iframe这是facebook应用程序的设置方式,但我还没有设法找到一个解决方案。

任何人都知道如何解决这个问题?

回答

2

必须呼吁两国index.php和AJAX脚本session_start()共享同一个会话

+0

由于卢卡,我喜欢它时,答案就是这么容易! – Damian