IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

FB connect - deconnection et recuperation infos pour SQL


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 86
    Points : 33
    Points
    33
    Par défaut FB connect - deconnection et recuperation infos pour SQL
    Bonjour,

    J'ai suivi un tutorial pour mettre Facebook connect, ca marche tres bien sauf 2 points.

    Quand je clique sur "deconnection" il me déconnecte de Facebook mais sur mon site en PHP je reste connecté, c'est l'inverse que je voudrais qu'il me déconnecte de mon site (Donc de l'application) PHP mais pas de Facebook.

    Également comment faire pour récupérer les Informations (email et id utilisateur afin de créer un compte membre si celui ci n'est pas inscrit avec l'email dans ma base de donnée ? si l'email est présent dans la base, ne rien faire, juste le connecté au site.
    PS : j'ai deja une zone membre.

    Merci beaucoup.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <?php
    require '../src/facebook.php';
     
    $facebook = new Facebook(array(
      'appId'  => 'xxxxxxxxxx',
      'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    ));
     
    // Obtenir le User ID
    $user = $facebook->getUser();
     
    if ($user) {
      try {
        $user_profile = $facebook->api('/me');
      } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
      }
    }
     
    // URL de Login ou de logout
    if ($user) {
      $logoutUrl = $facebook->getLogoutUrl();
    } else {
      $loginUrl = $facebook->getLoginUrl();
    }
     
    $param = array( 'redirect_uri' => 'adresse de retour',
                    'scope' => 'email,user_birthday,user_location,user_about_me,user_hometown',);
    $loginUrl = $facebook->getLoginUrl($param);
     
    ?>
     
    <?php if ($user): ?>
        <a href="<?php echo $logoutUrl; ?>">Déconnexion</a>
    <?php else: ?>
          <div>
            <a href="<?php echo $loginUrl; ?>">Connexion avec Facebook</a>
          </div>
    <?php endif ?>
     
    <?php if ($user): ?>
          <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
          <h3>Votre Objet utilisateur (/me)</h3>
          <pre><?php print_r($user_profile); ?></pre>
    <?php else: ?>
          <strong><em>Vous n'êtes pas connecté</em></strong>
    <?php endif ?>

  2. #2
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    [quote=lounou;6775391]
    Quand je clique sur "deconnection" il me déconnecte de Facebook mais sur mon site en PHP je reste connecté, c'est l'inverse que je voudrais qu'il me déconnecte de mon site (Donc de l'application) PHP mais pas de Facebook.
    [quote]

    Tu gère ta connexion, l'API FB gère la connexion entre ton appli et FB.
    FB ne gère pas les connexions des membres sur ton site, c'est a toi de le gérer.

    Également comment faire pour récupérer les Informations (email et id utilisateur afin de créer un compte membre si celui ci n'est pas inscrit avec l'email dans ma base de donnée ? si l'email est présent dans la base, ne rien faire, juste le connecté au site.
    PS : j'ai deja une zone membre.
    Pour obtenir le mail de la personne tu doit lui demander la permission email.
    Ca se passe dans le loginUrl de facebook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $facebook->getLoginUrl(
                array(
                    'canvas'        => 1,
                    'fbconnect'     => 0,
                    'scope'         => 'email',
                    'redirect_uri'  => 'tonUri
                )
    Edit:
    j'avais pas vu que tu définissait bien le scope
    Si c'est la méthode de récup de l'email que tu veux, ca doit être renvoyé par le graph User si tu as la bonne permission http://developers.facebook.com/docs/reference/api/user/

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Bonjour,

    Merci de ta reponse.

    J'ai vu que FB crée un cookie lors du login a l'application, c'est ceux cookie qu'il suffit de supprimer, je pense ?

  4. #4
    Membre actif
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    152
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2003
    Messages : 152
    Points : 248
    Points
    248
    Par défaut
    Je m'emmele là.
    Tu veux:
    - juste couper le lien entre facebook et ton site ?
    - déconnecter les gens de la connexion spécifique à ton site avec tes propres identifiants ?
    - déconnecter les gens de facebook ?


    Je viens rejeter un oeil à la classe FB

    Si tu te déconnecte de FB, mais à l'impression que les infos sur l'utilisateur FB sont encore accessible à ton site (getUser() te renvoie un user), Fb a prévu la méthode clearAllPersistentData() qui va vider toute info sur l'utilisateur FB en cookie, session, chapeau de magicien ....

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Bonsoir

    merci de tes réponse, cependant la fonction clearAllPersistentData() ne fonctionne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Call to undefined function clearAllPersistentData()

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 86
    Points : 33
    Points
    33
    Par défaut
    Bonjour

    Quelqu'un aurai t'il une réponse ?

    Merci

Discussions similaires

  1. Besoin d'infos pour une requête SQL
    Par jeanmarc1234 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 07/03/2008, 18h47
  2. Login/Mot de passe et récupération des infos pour connection automatique
    Par kitesilver dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 07/06/2007, 14h51
  3. BTS Info de Gestion passé aujourd'hui question pour SQL
    Par red210 dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 29/05/2005, 14h48
  4. connection/deconnection des sockets
    Par yotasse dans le forum Développement
    Réponses: 3
    Dernier message: 17/02/2004, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo