我在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