Facebook SDK para php getLogoutUrl() problema

Cuando quiero cerrar la sesión de los usuarios de mi sitio web que yo uso:

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

Y $logoutUrl muestra el enlace correcto, sin embargo no es redirigir a mí a la url especificada en siguiente. Se me redirecciona a la página que empezó a salir.

Como parece que hay mucho de artículos en internet, pero todas usan el mismo método y para muchas personas, los que no funcionan.
La manera correcta de cerrar la sesión de usuario de facebook y, a continuación, realice mi regulares de desconexión secuencia de comandos?

EDICIÓN: Esto funcionó, pero aún desea que no javascriptSDK basado en cerrar sesión.

<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>
InformationsquelleAutor arma | 2011-01-21

2 Kommentare

  1. 10

    Debe utilizar direcciones Url absolutas. por ejemplo,

    //  (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));

    O simplemente:

    $logoutUrl = $facebook->getLogoutUrl(array('next' => 'http://...../logout.php'));
    • gracias funcionó…:-)
  2. 0

    Sé que esto es viejo, pero la razón por la getLogoutUrl() no está redirigiendo a su «lado» de la dirección url es porque no la sesión del usuario o redirigir a todos. Simplemente le da la dirección url correcta que usted necesita utilizar para hacer el logout y redirigir (por ejemplo, header(«Location: $logoutUrl»)). Después de redirigir, el usuario se cerrará la sesión y su «siguiente» url será llamado.

    Nota: no limpiar el Facebook variables de sesión (por ejemplo, destroySession) antes de llamar a getLogoutUrl(). Si lo hace, el token de acceso incluido en el devuelve el url será igual a 0 en lugar de su token de acceso.

    La documentación no está demasiado claro, pero la función es muy apropiadamente llamado.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea