我在facebook上的畫布應用中使用了php sdk。 我有3頁:index.php文件play.php & register.phpfacebook會話cookie問題
兩個指數&發揮我檢查是否有這樣一個會議:
$session = $facebook->getSession();
$me = null;
// Session based API call.
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
// login or logout url will be needed depending on current user state.
if ($me) {
$logoutUrl = $facebook->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl(array('canvas' => 1,
'fbconnect' => 0,
'req_perms' => 'publish_stream,email',
'next' => 'register.php',
'cancel_url' => 'http://www.facebook.com/apps/application.php?id=MYAPPID&perms'));
}
if (!$me){ print("<html><head>");
print("<script type=\"text/javascript\">function redirect(){ top.location.href = \"");
print($loginUrl);
print("\"; }</script></head>");
print("<body onload=\"redirect();\">Please wait...</body></html>"); exit(); }
所以,如果我不知道用戶是誰,他是我的應用程序的新用戶,請將他指向register.php並將他的用戶名放入我的數據庫中。
我遇到的問題是,有些用戶可以正確看到入口頁面index.php,但是當瀏覽到play.php時,它們會被重定向到註冊頁面。之後,每當他們嘗試進入播放頁面時都會發生同樣的事情。
這裏有一些非常錯誤的東西。我嘗試清除cookie,但似乎沒有任何工作。
我使用var_dump,對於某些用戶總是有一個返回值,對於其他用戶來說 - 一次沒關係,另一個是NULL – Tom 2011-05-05 11:26:21
然後我建議在$ facebook *或*會話管理的其他部分或身份驗證,甚至可能是某些用戶進行身份驗證的方式。很難說沒有這些用戶返回的實際打印輸出。瀏覽整個課程,看看是否有任何問題,或者先在GitHub上提出問題。 – AlexanderJohannesen 2011-05-05 11:45:29