probleme session

probleme session - PHP - Programmation

Marsh Posté le 30-10-2005 à 20:55:32    

Bonjour tout le monde
 
Voilà, j'essaye de crééer des variables de session a l'aide de donnée qui sont dans BDD seuleument impossible que ca fonctionne quand je les affiche j'obtiens rien du tout j'ai vérifier dans ma table et les données sont bien enregistré
 
voilà le code que je fais pour créer mes variable de session:
 

Code :
  1. <?
  2.     session_start();
  3. $reponse = mysql_query("SELECT * FROM membres WHERE pseudo=' . $pseudo . '" ) ;
  4. $donnees = mysql_fetch_array($reponse);
  5. $_SESSION['pseudo'] = $donnees['pseudo'];
  6. $_SESSION['mdp']= $donnees['mdp'];
  7. $_SESSION['id'] = $donnees['id'];
  8.     $_SESSION['avatar'] = $donnees['avatar'];
  9. $_SESSION['email'] = $donnees['email'];
  10. $_SESSION['nom'] = $donnees['nom'];
  11. $_SESSION['prenom'] = $donnees['prenom'];


 
pour les afficher:

Code :
  1. echo $_SESSION['pseudo'];


 
pouvez vous m'iader svp ?


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 30-10-2005 à 20:55:32   

Reply

Marsh Posté le 30-10-2005 à 20:57:31    

par contre j'ai une variable de session pseudo qui elle fonctionne
 
le code pour se logger:

Code :
  1. <?
  2. $host="sql.free.fr";
  3. $base="";
  4. $passe="";
  5. @mysql_connect("$host","$base","$passe" );
  6. $select_base=@mysql_selectdb("$base" );
  7. $pseudo = htmlentities($_POST['pseudonyme']);
  8. $password = htmlentities($_POST['mot_de_passe']);
  9. $memo = $_POST['memoriser'];
  10. $Error_Noinscrit = '<br /><strong style="color:red">Vous n\'êtes pas inscrit dans notre base de donnée</strong>';
  11. $Error_Mdp = '<br /><strong style="color:red">Veuillez vérifier votre mot de passe</strong>';
  12. $Error_Saisi = '<br /><strong style="color:red">Veuillez saisir vos identifiant</strong>';
  13. $verification = mysql_query("SELECT COUNT(*) FROM membres WHERE pseudo='$pseudo'" ) ;
  14. $donnees = mysql_fetch_array($verification);
  15.  $verification2 = mysql_query("SELECT mdp FROM membres WHERE pseudo='$pseudo'" );
  16. $donnees2 = mysql_fetch_array($verification2);
  17. if( empty($pseudo) OR empty($password))
  18. {
  19. header("Location: noinscrit.php?error='.$Error_Saisi.'" );
  20. }
  21. elseif($donnees['COUNT(*)'] != 1)
  22. {
  23. header("Location: noinscrit.php?error='.$Error_Noinscrit.'" );
  24. }
  25. elseif($donnees2['mdp'] != $password)
  26. {
  27. header("Location: noinscrit.php?error='.$Error_Mdp.'" );
  28. }
  29. else
  30. {
  31.  if($memo != NULL)
  32.  {
  33.  $timestamp_expire = time() + 365*24*3600;
  34.  setcookie('pseudo', $pseudo, $timestamp_expire);
  35.  setcookie('mdp', $password, $timestamp_expire);
  36.  }
  37.     session_start();
  38. $_SESSION['pseudo'] = $pseudo;
  39. $_SESSION['mdp']= $password;
  40. include("connecte/index2.php" );
  41. }   
  42. ?>


Message édité par blastman le 30-10-2005 à 22:37:11

---------------
http://www.blastmanu.info
Reply

Marsh Posté le 30-10-2005 à 22:05:53    

Euuh... donc tes sessions affichent rien, sauf celle du pseudo ?


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 30-10-2005 à 22:38:05    

j'ai tout viré, je vais tout refaire car je voyais vraimment pas ouù était le problème :/


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 31-10-2005 à 11:53:30    

Mets ton session_start() en tout premier...  
Et essayes de faire des echo juste a la sortie de ta base.


Message édité par Neojarod23 le 31-10-2005 à 12:15:50
Reply

Marsh Posté le 02-11-2005 à 19:32:17    

Je ne suis pas sur mais je crois que ton erreur vient de là :

Citation :

pseudo=' . $pseudo . '


Si je fait une requete de ce type sans ajouter les guillemets " ", il me fait une erreur de ce type :  

Citation :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ...


 
Je ne suis pas très calé en PHP mais moi je mettrai :
 

Citation :

pseudo=' " . $pseudo . " '

Reply

Marsh Posté le 02-11-2005 à 20:00:26    

ben là j'ai tout recommencé donc bon, mais je pense pas que l'érreur venait de là car je n'avez ausun message d'erreur et j'avais déja utilisé cette syntaxe et ca marchait très bien.
J'ai montré mon script à plein de monde et personne n'as su me dire d'où venez l'erreur  :/ c'est en parti pour ca que j'ai tout recommencé


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 03-11-2005 à 11:06:27    

Déjà, est ce que t'es sur que $pseudo existe bien?
Quand registre_global = off dans le php.ini, t'es obligé d'utiliser les tableaux $_POST, $_GET, $_COOKIE ... en fonction de la provenance de la donnée.
Ca doit faire un an maintenant que register_global est à off par défaut et il est probable (des discutions sont en cours parmis les développeur de php) que ce réglage disparaisse définitivement à partir de php6.

Reply

Marsh Posté le 03-11-2005 à 13:30:18    

oui mais avec $pseudo j'avais aucun problème, il s'affichait bien c'est avec les autre variable que ca me posé problème
 

Code :
  1. $_SESSION['id'] = $donnees['id'];
  2. $_SESSION['avatar'] = $donnees['avatar'];
  3. etc...


---------------
http://www.blastmanu.info
Reply

Marsh Posté le 03-11-2005 à 14:32:45    

Essaye alors un

Code :
  1. error_reporting (E_ALL);

au tout début de ton script (juste aprés le <?) et un

Code :
  1. print_r $donnees;

à la fin.
 
Ca t'affichera les éléments inexistant et le contenu exact du tableau $donnes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed