La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#1 25/07/2011 20:40:23

clarybelle
Membre
Date d'inscription: 25/07/2011
Messages: 5

Problème avec getSession()

Merci pour votre tutoriel, c'est un des plus complets auquel j'ai accès !
Ayant l'habitude de programmer en asp (tellement plus simple), j'ai dû me remettre au php (sans commentaires).
j'ai donc réussi à récupérer les données, à faire un petit test javascript, à émettre une publication... Tout cela sur la même page, sans souci.
Le problème se compliquant quand je mets ces petits bouts de code dans des pages différentes : il perd les données utilisateurs.
et dès que je rajoute dans le code (ou que ce soit, mais après la déclaration de $fb) $session = $fb->getSession();, j'ai droit à une  jolie page blanche !
Est-ce que quelqu'un peut m'expliquer pourquoi ? est-ce dû à la nouvelle façon de faire de facebook depuis mars 2011 ?
Merci beaucoup.
Clarybelle

Hors ligne

 

25/07/2011 20:40:23

Botte De Foin Publicitaire


#2 26/07/2011 09:25:48

clarybelle
Membre
Date d'inscription: 25/07/2011
Messages: 5

Re: Problème avec getSession()

Je viens d'essayer en changeant le nom $session en $sessionFB, au cas où, mais rien à faire, dès que cette commande est décommentarisée, j'ai droit à la page blanche intégrale.
sad
Clarybelle

Hors ligne

 

#3 26/07/2011 10:21:32

Sybio
Administrateur
Date d'inscription: 06/10/2008
Messages: 91
Site web

Re: Problème avec getSession()

Est-ce que tu stockes bien leurs données dans une session PHP pour les avoir sur toutes les pages, ou via une BDD ^^ (attention de ne pas oublier session_start(); au début de tout bout de code pour pouvoir utiliser les $_SESSION) ? Et est-ce si tu inclus bien la class SDK facebook sur toutes tes pages ? (dans le cas contraire, l'appel $fb->getSession(); planterait !)

Hors ligne

 

#4 26/07/2011 18:08:10

clarybelle
Membre
Date d'inscription: 25/07/2011
Messages: 5

Re: Problème avec getSession()

Je n'ai pour l'instant pas fait les bases de données, je voudrais déjà arriver à comprendre le fonctionnement de l'arrivée des données facebookiennes...
Comment afficher le contenu de getsession(); ?
en asp, j'ai l'habitude de contrôler les données récupérées puis d'envoyer la page d'accueil si celle-ci sont valides (en créant une session) ou de lancer la page de connexion (ici, le bouton d'autorisation) si les données sont vides...
J'ai suivi le tuto (troisième chapitre) et fait des includes pour la class SDK, mais rien y fait...
A propos, l'application "petits sondages entre amis", hier, affichait une jolie page blanche... (j'ai voulu voir comment ça se présentait en vrai...)
Clarybelle

Dernière modification par clarybelle (26/07/2011 18:22:52)

Hors ligne

 

#5 27/07/2011 12:18:57

clarybelle
Membre
Date d'inscription: 25/07/2011
Messages: 5

Re: Problème avec getSession()

$facebook = new Facebook(array('appId'  => 'Mon_ID_Appli',  'secret' => 'MON_SECRET_ID',  'cookie' => true));
//$session = $facebook->getSession(); <--- la ligne qui plante tout dès que je la décommente...
      $me = $facebook->api('/me');
// affichage du contenu du tableau $me
      echo '<pre>';
      print_r($me);
      echo '</pre>';
// affichage des données du tableau
      $nomFB= $me['last_name'];   
      $prenomFB= $me['first_name'];     
      $sxFB= $me['gender'];
      $emailFB= $me['email'];
      $birthdayFB= $me['birthday'];

Le premier affichage me permet de contrôler ce que je reçois comme information, le second m'affiche les données à leur appel.

Le premier affichage s'exporte d'une page à l'autre, pas le second. Pourquoi ?
Quelles sont les données que FB m'envoient à l'ouverture de l'appli, et qui ne sont pas transmises à la page suivante ?

Hors ligne

 

#6 03/08/2011 12:53:09

clarybelle
Membre
Date d'inscription: 25/07/2011
Messages: 5

Re: Problème avec getSession()

Début d'explication : la méthode getSession() n'existe plus avec le sdk 3.0 !
Voici la nouvelle façon : require './facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'YOUR_APP_ID',
  'secret' => 'YOUR_APP_SECRET',
));

// Get User ID
$user = $facebook->getUser();

//To make API calls:

if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
Et pour l'url de connexion :

if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $loginUrl = $facebook->getLoginUrl();
}

Dernière modification par clarybelle (03/08/2011 12:54:48)

Hors ligne

 

Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net