Variable SESSION n'affiche pas la valeur lors d'un UPDATE

Résolu
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Hello les gens !

Débutant en PHP, je suis entrain de faire un petit site avec espace membre.

J'utilise la super globale "SESSION" pour gérer tout ça ;)

J'ai une table dans ma BDD pour les membres (Il parait que c'est mieux xD).
Lorsque que je souhaite afficher, par exemple, son pseudo, j'utilise bien évidemment $_SESSION['pseudo']. Jusque là, ça va ^^
Mais lorsque que je change le pseudo (admettons que je remplace Jean par Pierre) et que j'actualise la page où est affiché le pseudo, il ne change pas en Pierre mais reste bien sur Jean ...

Le changement est bien reçu dans la BDD mais pas sur la page ... Même avec un petit ctrl+f5 pour vider le cache, rien ne change ...

Savez-vous comment puis-je faire pour que la page prenne en compte le changement ?

Merci :)

5 réponses

us_marshal Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Il faut écrire par dessus, écraser la variable pour modifier les valeurs, est-ce bien ce que tu as fait ?
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Peut tu m'expliquer comment faire ?
Je signal que je débute en PHP ^^

J'ai juste fais un echo, rien de plus :/
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
Postes déjà ton code :
Ajout de la coloration syntaxique.
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Voici tout simplement mon code :

<?php echo $_SESSION['pseudo']; ?>
0
phenetas Messages postés 1108 Date d'inscription   Statut Membre Dernière intervention   227
 
As tu bien compris la difference entre une "session" et une base de donnée ?
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Je ne pense pas car visiblement, ça mon code ne fonctionne pas ^^'
Je pense que la SESSION stock la valeur que je lui demande de stocker, donc la valeur de ma BDD. Mais ne l'actualise pas ... :/
0
phenetas Messages postés 1108 Date d'inscription   Statut Membre Dernière intervention   227 > Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
C'est cela, mais la session existe du coté .. du client ;)
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Mais comment dois-je faire du coup ?
0
phenetas Messages postés 1108 Date d'inscription   Statut Membre Dernière intervention   227 > Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
L'utilité de la session est de ne pas aller chercher constamment dans la bdd les memes infos. C'est une mini bdd qui est stockée du coté client. C'est donc different de la bdd qui est du coté serveur.

Si tu change quelque chose cote serveur, il faut rafraichir la session.

Mais réfléchis bien a l'architecture de ton site et de ta bdd avant de te lancer tete baisser. Si pour que ton site fonctionne tu dois rafraichir la session en permanence, c'est que tu l'as mal conçu ;)
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Merci beaucoup pour ta réponse :)
Si j'ai bien compris, je dois actualiser la variable session.
Mais comment faire du coup ? Une fonction ? Un bout de code ?
0
us_marshal Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Yop ! Donc pour moi tu as déjà attribué "pierre" à ta session PSEUDO (pseudo => pierre);

pour changer de valeur (pseudo => jean), il faut que tu fasse comme quand tu l'as créée.
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Changer manuellement ? A chaque fois ?
0
us_marshal Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Non, en fonction de ton code ça se fera automatiquement. Mais il faut que tu le développe manuellement.
Dans ton cas, c'est un espace abonné. Donc normalement, tu n'as pas à changer de valeur constamment sauf dans le cas où un même PC est utilisé par plusieurs utilisateurs (auquel cas, ils se déconnectent).
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Et si par exemple, j'ai un système de point que l'utilisateur peux gagner en étant connecté, comment faire pour actualiser sans qu'il se déconnecte à chaque fois ?
0
phenetas Messages postés 1108 Date d'inscription   Statut Membre Dernière intervention   227 > Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
En meme temps que tu update ta bdd, tu update la variable point dans ta session.

Il faut vraiment que tu pense que la session c'est un peu comme une bdd temporaire du COTE CLIENT ;)
0
us_marshal Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Pas besoin d'utiliser les sessions dans ce cas là
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Mon problème est résolu ! :)

J'ai donc compris que la variable SESSION n'interagissait pas directement avec la base de données, donc impossible de l'actualiser directement si la valeur du champ dans la table change.

J'ai donc utilisé :

$pseudo = $_SESSION['pseudo'];
  $req_pseudo = $bdd->query("SELECT toks FROM membres WHERE pseudo = $pseudo");
  while ($donnees = $req_pseudo->fetch())
  {
    echo $donnees['pseudo'];
   }


Merci à tous ceux qui m'on aidé :)
0
us_marshal Messages postés 21 Date d'inscription   Statut Membre Dernière intervention  
 
Vive la force du cerveau ;)
0
Edwyn29 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   1
 
Mdr ^^
0