2011-04-29 3 views
8

J'ai le bouton de connexion Facebook standard sur ma page d'accueil et je ne veux pas que les gens se connectent automatiquement à mon site avec leur compte Facebook, seulement si l'utilisateur clique sur le bouton de connexion.Rediriger après avoir cliqué sur le bouton de connexion Facebook, même si déjà connecté Facebook

Si l'utilisateur n'est pas connecté sur Facebook, une fenêtre apparaîtra lui demandant ses informations d'identification et il sera redirigé vers loggedin.html par la suite.

<div id="fb-root"></div> 
<fb:login-button perms="email"></fb:login-button> 

<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId : 'xxxxxxxxxxxx', 
      status : true, 
      cookie : true, 
      xfbml : true 
     }); 

     FB.Event.subscribe('auth.login', function() { 
      window.location = "loggedin.html"; 
     }); 
    }; 

    (function() { 
     var e = document.createElement('script'); 
     e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js'; 
     e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 

Si l'utilisateur est déjà connecté Facebook, quand il clique sur le bouton la fenêtre apparaître et disparaître tout de suite, je suis OK avec ça. Mais l'utilisateur n'est pas redirigé vers loggedin.html. Comment puis je faire ça ?

Répondre

1

Si vous utilisez le SDK PHP, vous pouvez utiliser le code suivant:

require_once 'path/to/facebook.php'; 
define('A_ID', '*YOUR APP ID*'); 
define('A_SECRET', 'YOUR APP SECRET'); 

$facebook = new Facebook(array('appId' => A_ID, 'secret' => A_SECRET, 'cookie' => true)); 
$userId = $facebook->getUser(); 

if (!$userId): 
    ?> 
    <!-- HTML to show if the $userId isn't available (user isn't logged in) --> 
    <?php 
else: 
    ?> 
    <!-- HTML to show if the $userId is available (user is logged in)--> 
    <?php 
endif; 

Idéalement, vous devez utiliser le SDK PHP car il vous donne plus de contrôle sur les données et la façon dont il est démontré, que l'utilisation JS SDK pour insérer des données.

Facebook ont ​​une référence pour le SDK PHP ici: developers.facebook.com/docs/reference/php/

La référence SDK JavaScript est ici: developers.facebook.com/docs/reference/javascript/

Questions connexes