如果你使用 facebook sdk,那么你需要使用异常 try-catch 来检查用户是否仍然登录:
1$facebook = new Facebook(array(
2 'appId' => you id,
3 'secret' => you secret,
4));
5
6// See if there is a user from a cookie
7$user = $facebook->getUser();
8
9if ($user) {
10 try {
11 // Proceed knowing you have a logged in user who's authenticated.
12 $user_profile = $facebook->api('/me');
13 } catch (FacebookApiException $e) {
14 error_log($e);
15 $user = null;
16 }
17}
之后,您可以从 Facebook 获取正确的用户 ID 和其他信息
每次您需要请求我的页面。如果此页面抛出错误,则删除 facebook 用户的数据。存储在 cookie 中的用户 ID 和其他 Facebook 数据;当您退出 Facebook 网站时,您网站的 cookie 将继续保存;您的 php 代码将读取此 cookie:
1$user = $facebook->getUser();
并返回用户 ID。使用此代码:
1$user_profile = $facebook->api('/me');
您检查此 cookie 是否实际,如果不是,则更改它:
1$user = null;
Cookie 中的所有内容