Question sur les sessions et la transmissions de plusieurs variables
Fermé
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
-
Modifié le 4 mars 2021 à 08:47
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 4 mars 2021 à 09:55
flexi2202 Messages postés 3801 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 21 octobre 2024 - 4 mars 2021 à 09:55
A voir également:
- Question sur les sessions et la transmissions de plusieurs variables
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
- Estelle vient de verrouiller sa session d’ordinateur. que peut-on dire ? ✓ - Forum Windows
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Teamviewer code de session expiré ✓ - Forum Windows XP
5 réponses
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
4 mars 2021 à 08:46
4 mars 2021 à 08:46
Bonjour,
La variable $_SESSION fonctionne comme un Array Associatif....
Tu peux donc le manipuler exactement de la même façon ...
La variable $_SESSION fonctionne comme un Array Associatif....
Tu peux donc le manipuler exactement de la même façon ...
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
4 mars 2021 à 08:54
4 mars 2021 à 08:54
bonjour
merci pour la reponse
je pourrais donc dans al page de connexion écrire ceci
merci pour la reponse
je pourrais donc dans al page de connexion écrire ceci
$_SESSION['user'] = $data['pseudo']; $_SESSION['mail']=$mail; $_SESSION['ip']=$ip;
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
Modifié le 4 mars 2021 à 08:58
Modifié le 4 mars 2021 à 08:58
Oui.
Par contre je ne vois pas l'utilité de transporter l'ip de l'utilisateur en session...
et puis, en général, je "regrope" les informations "communes" ensemble.
Typiquement, pour l'utilisateur, ma variable de session sera du style
(ce qui implique un changement de code dans tes autres pages :
Au lieu de récupérer le pseudo par :
Tu le récupèreras via
Par contre je ne vois pas l'utilité de transporter l'ip de l'utilisateur en session...
et puis, en général, je "regrope" les informations "communes" ensemble.
Typiquement, pour l'utilisateur, ma variable de session sera du style
$_SESSION['user'] = array('id'=>$data['id'], 'pseudo'=>$data['pseudo'], 'mail'=>$mail) ;
(ce qui implique un changement de code dans tes autres pages :
Au lieu de récupérer le pseudo par :
$pseudo = $_SESSION['user'];
Tu le récupèreras via
$pseudo = $_SESSION['user']['pseudo']; //ou plus proprement : $pseudo = !empty($_SESSION['user']['pseudo']) ? $_SESSION['user']['pseudo'] : NULL;
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
Modifié le 4 mars 2021 à 09:19
Modifié le 4 mars 2021 à 09:19
bonjour jordane
merci pour ton aide, cela fait depuis plusieurs jours que je cherche a comprendre cette transmission de page en page
non l ip cela était l exemple simplement
ah ben oui du coup je comprends mieux la variable de session
par contre ce que j ai un peu plus de mal a comprendre
c est la récupération avec le code donnée
et donc mon session_start sur ma deuxième page devient
merci pour ton aide, cela fait depuis plusieurs jours que je cherche a comprendre cette transmission de page en page
non l ip cela était l exemple simplement
ah ben oui du coup je comprends mieux la variable de session
par contre ce que j ai un peu plus de mal a comprendre
c est la récupération avec le code donnée
//ou plus proprement : $pseudo = !empty($_SESSION['user']['pseudo']) ? $_SESSION['user']['pseudo'] : NULL;
et donc mon session_start sur ma deuxième page devient
<?php session_start(); if(!isset($pseudo = !empty($_SESSION['user']['pseudo']) ? $_SESSION['user']['pseudo'] : NULL;)){ header('Location:index.php'); die(); }
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
4 mars 2021 à 09:30
4 mars 2021 à 09:30
Non....
La tu écris un peu n'importe quoi ...
Déjà faut comprendre la ligne
C'est ce qu'on appel l'écriture TERNAIRE ( une sorte de IF/ELSE )
Ce qui, en écriture "ancienne" .. reviendrait à faier
A noter que le !empty fait déjà un isset .. donc pas besoin de mettre les deux ...
!empty ( à lire NOT EMPTY ) signifie ( en anglais ) : PAS VIDE ....
Donc, on vérifie que la variable existe et n'est pas vide ( ni false , ni égale à zéro )
et donc, ton code devient
La tu écris un peu n'importe quoi ...
Déjà faut comprendre la ligne
//ou plus proprement : $pseudo = !empty($_SESSION['user']['pseudo']) ? $_SESSION['user']['pseudo'] : NULL;
C'est ce qu'on appel l'écriture TERNAIRE ( une sorte de IF/ELSE )
Ce qui, en écriture "ancienne" .. reviendrait à faier
if(!empty($_SESSION['user']['pseudo'])) { $pseudo= $_SESSION['user']['pseudo']; }else{ $pseudo= NULL; }
A noter que le !empty fait déjà un isset .. donc pas besoin de mettre les deux ...
!empty ( à lire NOT EMPTY ) signifie ( en anglais ) : PAS VIDE ....
Donc, on vérifie que la variable existe et n'est pas vide ( ni false , ni égale à zéro )
et donc, ton code devient
session_start(); // Récupération PROPRE des variables AVANT de les utiliser : $pseudo = !empty($_SESSION['user']['pseudo']) ? $_SESSION['user']['pseudo'] : NULL; //On vérifie si le pseudo est renseigné dans la variable de session.. sinon.. on redirige : if(!$pseudo){ header('Location:index.php'); exit; // evite les die() }
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 mars 2021 à 09:31
4 mars 2021 à 09:31
Mais.. tout ça .. c'était déjà expliqué dans les différents liens que je t'ai donné dans tes précédentes questions.... à croire que tu ne les a pas lu ...
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
4 mars 2021 à 09:40
4 mars 2021 à 09:40
Merci pour l aide et l explication
j avoue que j ai très dur avec ce php
pourtant ce n est pas dire que je ne regarde pas des tutos ou autre
je trouve pas mal de solutions
mais des fois je beuge(surement l âge )
des que j en aurais fini avec mon site
je vais m attaquer a une formation , je trouve ce langage super cool
je viens donc d essayer ce que tu viens de m envoyer
mais lorsque je veux afficher le pseudo avec un echo , cela ne me retourne rien sur les autres pages
j ai essaye avec ceci
j avoue que j ai très dur avec ce php
pourtant ce n est pas dire que je ne regarde pas des tutos ou autre
je trouve pas mal de solutions
mais des fois je beuge(surement l âge )
des que j en aurais fini avec mon site
je vais m attaquer a une formation , je trouve ce langage super cool
je viens donc d essayer ce que tu viens de m envoyer
mais lorsque je veux afficher le pseudo avec un echo , cela ne me retourne rien sur les autres pages
j ai essaye avec ceci
<h1 class="p-5">Bonjour ! <?php echo $_SESSION['pseudo']; ?></h1>
jordane45
Messages postés
38321
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2024
4 707
4 mars 2021 à 09:42
4 mars 2021 à 09:42
Donc.. encore une fois ....
ON RECUPERE PROPREMENT LES VARIABLES AVANT DE LES UTILISER
.. ici... ça donnerait
ON RECUPERE PROPREMENT LES VARIABLES AVANT DE LES UTILISER
.. ici... ça donnerait
<?php // Récupération PROPRE des variables AVANT de les utiliser : $pseudo = !empty($_SESSION['user']['pseudo']) ? $_SESSION['user']['pseudo'] : ""; // là, si la variable de session n'existe pas.. ça retournera une chaine vide "" . ?> <h1 class="p-5">Bonjour ! <?php echo $pseudo; ?></h1>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
flexi2202
Messages postés
3801
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
21 octobre 2024
187
4 mars 2021 à 09:55
4 mars 2021 à 09:55
ah ok
super cela fonctionne enfin , un tout grand merci
voila la source de mes problèmes et de mes essais
pourtant je suis allé voir des tutos
pffff pourtant j ai passe toute une matinée a regarder un tuto
et dans le code lorsqu il appelle la variable
lls écrivent au milieu du code
ce morceau de code
le soucis c est que c est pas évident de trouver des tutos sérieux
alors pour résumer si je comprends bien (car j aime comprendre aussi
je déclare mes variables dans la page de connexion (ce qui est logique )
ensuite dans chaque session_start de chaque page je récupère mes variables
et dans le code a nouveau je les récupères si je veux afficher le contenu d une variable
je pensais que le fait qu elles soient dans le session_start étaient suffisant
super cela fonctionne enfin , un tout grand merci
voila la source de mes problèmes et de mes essais
pourtant je suis allé voir des tutos
pffff pourtant j ai passe toute une matinée a regarder un tuto
et dans le code lorsqu il appelle la variable
lls écrivent au milieu du code
ce morceau de code
<h1 class="p-5">Bonjour ! <?php echo $pseudo; ?></h1>
le soucis c est que c est pas évident de trouver des tutos sérieux
alors pour résumer si je comprends bien (car j aime comprendre aussi
je déclare mes variables dans la page de connexion (ce qui est logique )
ensuite dans chaque session_start de chaque page je récupère mes variables
et dans le code a nouveau je les récupères si je veux afficher le contenu d une variable
je pensais que le fait qu elles soient dans le session_start étaient suffisant