2012-11-26 169 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