为什么我没有登录?

时间:2012-01-08 21:21:34

标签: php facebook

我在手机和笔记本电脑上登录了facebook。但是,当我在这些设备上运行以下脚本时,

的config.php

<?php
require_once 'facebook.php';
$facebook = new Facebook(array(
'appId' => 'myAppId',
'secret' => 'myAppSecret',
'cookie' => true,
));
?>

和index.php

<?php
require_once 'config.php';
/* Get a valid session */
$session = $facebook->getUser();
$me = null;
if($session) {
/* Check if session is valid */
$me = $facebook->api('/me');
}
if ($me) {
echo 'User is logged in and has a valid session';
}
else {
echo 'Session expired or user has not logged in yet. 
Redirecting...';
echo '<script> top.location.href="'.$facebook->getLoginUrl()
.'";</script>';
}
?>

我得到了

会话已过期或用户尚未登录。           重定向...

然而,在我的笔记本电脑上通过facebook登录此网站(http://facebook.stackoverflow.com/)后,我现在

用户已登录并具有有效会话。

为什么?

1 个答案:

答案 0 :(得分:0)

现在我不知道facebook.stackoverflow.com做了什么,但是你的脚本不能使用其他应用程序/浏览器的cookie是有道理的。 Cookie只是本地数据的一小部分,但每个浏览器以不同的方式存储在不同的地方。登录浏览器并不意味着您的脚本可以使用这些存储的凭据。