Документация не слишком ясна по этому вопросу, но функция очень правильно названа.

я хочу выйти из системы с моего сайта, я использую:

$logoutUrl = $facebook->getLogoutUrl(array('next' => 'logout.php'));

А также$logoutUrl отображает правильную ссылку, однако она не перенаправляет меня на URL, указанный в следующем. Он перенаправляет меня на страницу, с которой начался выход из системы.

Похоже, что в Интернете очень много статей, но все они используют одни и те же методы, и для многих это не работает. Как правильно выйти из Facebook и затем выполнить мой обычный скрипт выхода?

РЕДАКТИРОВАТЬ: Это сработало, но все еще требуется выход из системы, не основанный на javascriptSDK.

<a id="logout" href="logout.php" onclick="FB.logout(function(response) { window.location = 'logout.php' }); return false;" title="<?php echo $lang['logout']; ?>"><?php echo $lang['logout']; ?></a>

Ответы на вопрос(2)

Решение Вопроса

Вы должны использовать абсолютные URL. например

//   (or https://)
$here = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$next = preg_replace('~#.*$~s', '', $here);
$next = preg_replace('~\?.*$~s', '', $next);
$next = preg_replace('~/[^/]*$~s', '/logout.php', $next);
$logoutUrl = $facebook->getLogoutUrl(array('next' => $next));

Или просто:

$logoutUrl = $facebook->getLogoutUrl(array('next' => 'http://...../logout.php'));
 Peeyush26 мар. 2012 г., 12:25
спасибо, это сработало ... :-)

что это старый, но причина, по которой getLogoutUrl () не перенаправляет на ваш «следующий» URL, потому что он вообще не выходит из системы или не перенаправляет пользователя. Он просто дает вам правильный URL-адрес, который необходимо использовать для выхода из системы и перенаправления (например, заголовок («Location: $ logoutUrl»)). После того как вы перенаправите пользователя, пользователь выйдет из системы и будет вызван ваш следующий URL.

Примечание: не очищайте переменные сеанса Facebook (например, destroySession) перед вызовом getLogoutUrl (). Если вы это сделаете, токен доступа, включенный в возвращенный URL, будет равен 0 вместо вашего токена доступа.

Документация не слишком ясна по этому вопросу, но функция очень правильно названа.

Ваш ответ на вопрос