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

Résolu
Edwyn29 Messages postés 19 Statut Membre -  
Edwyn29 Messages postés 19 Statut Membre -
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 23 Statut Membre
 
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 Statut Membre 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 15479 Statut Modérateur 366
 
Postes déjà ton code :
Ajout de la coloration syntaxique.
0
Edwyn29 Messages postés 19 Statut Membre 1
 
Voici tout simplement mon code :

<?php echo $_SESSION['pseudo']; ?>
0
phenetas Messages postés 1190 Statut Membre 227
 
As tu bien compris la difference entre une "session" et une base de donnée ?
0
Edwyn29 Messages postés 19 Statut Membre 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 1190 Statut Membre 227 > Edwyn29 Messages postés 19 Statut Membre
 
C'est cela, mais la session existe du coté .. du client ;)
0
Edwyn29 Messages postés 19 Statut Membre 1
 
Mais comment dois-je faire du coup ?
0
phenetas Messages postés 1190 Statut Membre 227 > Edwyn29 Messages postés 19 Statut Membre
 
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 Statut Membre 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 23 Statut Membre
 
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 Statut Membre 1
 
Changer manuellement ? A chaque fois ?
0
us_marshal Messages postés 23 Statut Membre
 
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 Statut Membre 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 1190 Statut Membre 227 > Edwyn29 Messages postés 19 Statut Membre
 
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 23 Statut Membre
 
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 Statut Membre 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 23 Statut Membre
 
Vive la force du cerveau ;)
0
Edwyn29 Messages postés 19 Statut Membre 1
 
Mdr ^^
0