[php][session] valeur modifiée
Résolu/Fermé
wAx
Messages postés
1590
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 novembre 2011
-
19 nov. 2006 à 00:53
pierre - 19 mai 2007 à 05:20
pierre - 19 mai 2007 à 05:20
A voir également:
- [php][session] valeur modifiée
- Easy php - Télécharger - Divers Web & Internet
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Ants session déconnectée - Forum Services en ligne
- Retour a la ligne php ✓ - Forum PHP
- Facebook session expirée ✓ - Forum Facebook
5 réponses
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
19 nov. 2006 à 10:09
19 nov. 2006 à 10:09
Salut,
Il semblerait plutôt que tu refais l'initialisation de la variable de session alors
que les variables c et p ne sont pas définies en $_GET.
Même si $_GET était une référence, la fonction de concaténation ne contient que
des caractères et se moque de l'origine des chaînes concaténées.
A+, crabs
Il semblerait plutôt que tu refais l'initialisation de la variable de session alors
que les variables c et p ne sont pas définies en $_GET.
Même si $_GET était une référence, la fonction de concaténation ne contient que
des caractères et se moque de l'origine des chaînes concaténées.
A+, crabs
wAx
Messages postés
1590
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 novembre 2011
202
19 nov. 2006 à 11:24
19 nov. 2006 à 11:24
Salut,
Afin d'éviter ce cas de figure, dans la page qui doit retrouver la valeur, j'affiche la variable de session dès le début de la page. Voici mon début de page:
Comme tu le vois, je ne retouche pas à cette variable. Elle n'est donc pas réinitialisée come tu le craignais.
Il y a t'il possibilité d'avoir un accès direct à ce qui est contenu dans les variables de sessions ? Par exemple, j'ai tenté un phpinfo() mais il n'affiche pas les variables de session
Merci de ton aide, je deviens fou :( :(
Afin d'éviter ce cas de figure, dans la page qui doit retrouver la valeur, j'affiche la variable de session dès le début de la page. Voici mon début de page:
<?php session_start(); foreach ($_SESSION as $nomvar => $valeurvar) echo $nomvar."=".$valeurvar."<br>";
Comme tu le vois, je ne retouche pas à cette variable. Elle n'est donc pas réinitialisée come tu le craignais.
Il y a t'il possibilité d'avoir un accès direct à ce qui est contenu dans les variables de sessions ? Par exemple, j'ai tenté un phpinfo() mais il n'affiche pas les variables de session
Merci de ton aide, je deviens fou :( :(
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
19 nov. 2006 à 14:45
19 nov. 2006 à 14:45
Salut,
Essaies ce petit script set.php (nommes-le set.php):
Ensuite, appelle-le avec ton navigateur avec les url suivantes :
Est-ce que tout te parait normal, en particulier la valeur de last_set dans la
session construite par concaténation depuis un $_GET.
A+, crabs
Essaies ce petit script set.php (nommes-le set.php):
<?php session_start() ; header( "Content-type: text/plain" ) ; if ( array_key_exists( 'a', $_GET ) ) { $_SESSION['a'] = $_GET['a'] ; $_SESSION['last_set'] = 'set.php?a='.$_GET['a'] ; } else if ( array_key_exists( 'b', $_GET ) ) { $_SESSION['b'] = $_GET['b'] ; $_SESSION['last_set'] = 'set.php?b='.$_GET['b'] ; } echo "USE set.php?a= to set a in session\n" ; echo "USE set.php?b= to set b in session\n" ; echo "_SESSION[] = " ; print_r( $_SESSION ) ; ?>
Ensuite, appelle-le avec ton navigateur avec les url suivantes :
..../set.php ..../set.php?a=la_valeur_de_a ..../set.php?b=la_valeur_de_b ..../set.php
Est-ce que tout te parait normal, en particulier la valeur de last_set dans la
session construite par concaténation depuis un $_GET.
A+, crabs
wAx
Messages postés
1590
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
21 novembre 2011
202
19 nov. 2006 à 15:25
19 nov. 2006 à 15:25
Ca fonctionne !!
Grace à tes indications, tu m'as doné l'idée de faire une page tiere dans laquelle j'affiche simplement le contenu de la session.
A coté, j'ai pris ma page qui initialise la fameuse variable et je suis parti de ton code (qui fonctionnait) et j'ai peu à peu remis tous les elements qui constituent ma page.
J'ai ainsi isolé la ligne de code qui fouttait le bazar:
Comme mon site est en dev et que je n'ai pas encore tous les objets de la charte graphique, j'avais mis "????" comme chemin d'image en attendant. Et bien figure toi que cet echo là me fiche en l'air ma variable de session lorsqu'elle est construite à partir du Get.
Meme si j'ai isolé la cause du probleme, il m'est impossible de comprendre le lien de cause à effet. En quoi cette ligne est elle censée avoir une telle consequence ?
En la remplaçant par
Tout est parfait. Et dire que ça fait des heures que je cherche sans comprendre.
Un grand merci pour m'avoir mis sur la piste et si tu sais pkoi ce comportement, je suis preneur.
A bientot
Grace à tes indications, tu m'as doné l'idée de faire une page tiere dans laquelle j'affiche simplement le contenu de la session.
A coté, j'ai pris ma page qui initialise la fameuse variable et je suis parti de ton code (qui fonctionnait) et j'ai peu à peu remis tous les elements qui constituent ma page.
J'ai ainsi isolé la ligne de code qui fouttait le bazar:
echo " <td rowspan=\"2\" valign=\"top\"><img src=\"????\" width=\"100\" height=\"154\" vspace=\"11\" hspace=\"7\"></td>\n";
Comme mon site est en dev et que je n'ai pas encore tous les objets de la charte graphique, j'avais mis "????" comme chemin d'image en attendant. Et bien figure toi que cet echo là me fiche en l'air ma variable de session lorsqu'elle est construite à partir du Get.
Meme si j'ai isolé la cause du probleme, il m'est impossible de comprendre le lien de cause à effet. En quoi cette ligne est elle censée avoir une telle consequence ?
En la remplaçant par
echo " <td rowspan=\"2\" valign=\"top\"><img src=\"\" width=\"100\" height=\"154\" vspace=\"11\" hspace=\"7\"></td>\n";
Tout est parfait. Et dire que ça fait des heures que je cherche sans comprendre.
Un grand merci pour m'avoir mis sur la piste et si tu sais pkoi ce comportement, je suis preneur.
A bientot
crabs
Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
507
19 nov. 2006 à 15:59
19 nov. 2006 à 15:59
Salut,
Effectivement le img avec les ???? appelle le script courant avec des arguments
vide. Typiquement, si tu ne testes pas que les c et p sont effectivement affectées par
le biais de l'url, tu devais faire ta concaténation avec des valeurs vides et mettre
à jour la session avec cette chaîne incorrecte.
Avant d'utiliser un $_GET ou $_POST il vaut mieux vérifier que la variable est
effectivement définie, d'où l'utilisation du array_key_exists() dans le petit script
d'exemple.
A+, crabs
Effectivement le img avec les ???? appelle le script courant avec des arguments
vide. Typiquement, si tu ne testes pas que les c et p sont effectivement affectées par
le biais de l'url, tu devais faire ta concaténation avec des valeurs vides et mettre
à jour la session avec cette chaîne incorrecte.
Avant d'utiliser un $_GET ou $_POST il vaut mieux vérifier que la variable est
effectivement définie, d'où l'utilisation du array_key_exists() dans le petit script
d'exemple.
A+, crabs
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
salut,
j'ecoute les crabs en ce moment, un groupe de lyon de année 90 du pure psychobilly, un bon groupe mais le chanteur chante faux enconcert, par contre sur vinyl, c'est trop bon, remarque si cela se trouve, vous n'en avez rien à foutre de mes petites joies musicales, en fait j'ai tapez crabs sur mon clavier et je suis tombé sur vous.
donc bonne continuation, merci de m'avoir lu et je vous souhaite que du bonheur @+
j'ecoute les crabs en ce moment, un groupe de lyon de année 90 du pure psychobilly, un bon groupe mais le chanteur chante faux enconcert, par contre sur vinyl, c'est trop bon, remarque si cela se trouve, vous n'en avez rien à foutre de mes petites joies musicales, en fait j'ai tapez crabs sur mon clavier et je suis tombé sur vous.
donc bonne continuation, merci de m'avoir lu et je vous souhaite que du bonheur @+