当用户尝试使用他们的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之前知道是否有办法检查我的数据库以检查它们是否已注册到我的网站也是有帮助的。
答案 0 :(得分:1)
数组中键的名称不是它的redirect_url。
$loginUrl = $facebook->getLoginUrl(array(
'redirect_url'=>'http://.../checkFBLogin.php'
));