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

Résolu/Fermé
Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 - 10 août 2015 à 21:42
Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 - 11 août 2015 à 01:04
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 lundi 10 août 2015 Statut Membre Dernière intervention 17 juillet 2020
10 août 2015 à 22:03
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 vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
10 août 2015 à 22:16
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 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 332
10 août 2015 à 22:21
Postes déjà ton code :
Ajout de la coloration syntaxique.
0
Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
Modifié par Edwyn29 le 10/08/2015 à 22:25
Voici tout simplement mon code :

<?php echo $_SESSION['pseudo']; ?>
0
phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 225
10 août 2015 à 22:28
As tu bien compris la difference entre une "session" et une base de donnée ?
0
Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
Modifié par Edwyn29 le 10/08/2015 à 22:32
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 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 225 > Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015
10 août 2015 à 22:32
C'est cela, mais la session existe du coté .. du client ;)
0
Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
10 août 2015 à 22:33
Mais comment dois-je faire du coup ?
0
phenetas Messages postés 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 225 > Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015
10 août 2015 à 22:37
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 vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
10 août 2015 à 22:42
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 lundi 10 août 2015 Statut Membre Dernière intervention 17 juillet 2020
10 août 2015 à 22:33
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 vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
10 août 2015 à 22:37
Changer manuellement ? A chaque fois ?
0
us_marshal Messages postés 21 Date d'inscription lundi 10 août 2015 Statut Membre Dernière intervention 17 juillet 2020
10 août 2015 à 22:41
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 vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
10 août 2015 à 22:45
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 1096 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 31 août 2017 225 > Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015
10 août 2015 à 22:48
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 lundi 10 août 2015 Statut Membre Dernière intervention 17 juillet 2020
10 août 2015 à 22:48
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 vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
Modifié par Edwyn29 le 10/08/2015 à 23:42
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 lundi 10 août 2015 Statut Membre Dernière intervention 17 juillet 2020
10 août 2015 à 23:50
Vive la force du cerveau ;)
0
Edwyn29 Messages postés 19 Date d'inscription vendredi 24 octobre 2014 Statut Membre Dernière intervention 20 août 2015 1
11 août 2015 à 01:04
Mdr ^^
0