当用户尝试使用他们的 facebook 帐户登录我的网站时,我试图重定向到一个脚本,该脚本会根据我的数据库检查用户 ID 以查看他们是否已注册。当我单击登录时,它会打开一个 facebook 页面以使用 fb 凭据登录,然后只是重定向到 mywebsite 的主页,而不是运行检查用户与数据库的脚本。
这是我尝试登录的主页上的代码。
<?php
require '.../src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'APP_ID',
'secret' => 'SECRET',
'cookie' => true,
));
//2. retrieving session
$session = $facebook->getUser();
//3. requesting 'me' to API
$me = null;
if ($session) {
try {
$uid = $facebook->getUser();
$me = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
//4. login or logout
if ($me) {
$logoutUrl = $facebook->getLogoutUrl(array(
'next'=>'http://.../logout.php'
));
} else {
$loginUrl = $facebook->getLoginUrl(array(
'next'=>'http://.../checkFBLogin.php'
));
}
?>
再往下:
<?php if ($me): ?>
<a href="<?php echo $logoutUrl; ?>">Logout with Facebook</a>
<?php else: ?>
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
<?php endif ?>
在登录 Facebook 以检查他们是否已注册到我的网站之前,了解是否有办法检查我的数据库也会很有帮助。