Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1407 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Une variable de session qui change toute seule ! Je m'arrache les chvx

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Une variable de session qui change toute seule ! Je m'arrache les chvx

n°952253
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-01-2005 à 11:55:46  profilanswer
 

J'éspère que quelqu'un va pouvoir m'aider, car là je ne comprends rien du tout !
 
Tout d'abord voici le code. Je l'ai allegé à l'extrême pour plus de clareté :
 


$_SESSION['mail_dest'] = "aaa;bbb";
$_SESSION['titre'] = "aaa;bbb";
print_r($_SESSION);
echo '<br/>';
echo $mail = str_replace(';',"\r\n",$_SESSION['mail_dest']);
echo '<br/>';
echo $titre = str_replace(';',"\r\n",$_SESSION['titre']);
echo '<br/>';
print_r($_SESSION);


 
Et voici le resultat :


Array ( [mail_dest] => aaa;bbb [titre] => aaa;bbb )  
aaa bbb
aaa bbb
Array ( [mail_dest] => aaa;bbb [titre] => aaa bbb )


 
Comme vous pouvez le voir, le ";" a disparu de la variable de session "titre" dans le 2ème affichage ...
 
Je ne comprend pas pourquoi :(
 
Merci

mood
Publicité
Posté le 13-01-2005 à 11:55:46  profilanswer
 

n°952263
plainsofpa​in
Pingouino's lover
Posté le 13-01-2005 à 12:01:51  profilanswer
 

Ben si tu fais un str_replace de ';' par '\r\n' c normal hein ^^


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°952266
esox_ch
Posté le 13-01-2005 à 12:02:07  profilanswer
 

Tu devrais plutot te demander pourquoi il a pas disparu dans mail_dest


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°952268
plainsofpa​in
Pingouino's lover
Posté le 13-01-2005 à 12:03:25  profilanswer
 

Oui voila ca c'est bizarre ^^
 
Edit: je dois etre pas bien réveillé encore mais la réponse est simple.
 
Tu fais $titre = machin, mais $titre c'est ta variable de session ! Donc c'est normal que ca change ^^
 
Et si ca change pas pour mail_dest, c'est paske tu fais $mail = machin, et pas $mail_dest ...
 
M'enfin ca arrive ^^
 
rah et je suis vraiment crevé moi ... :pt1cable:


Message édité par plainsofpain le 13-01-2005 à 12:06:22

---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°952384
ratibus
Posté le 13-01-2005 à 14:45:18  profilanswer
 

esox_ch a écrit :

Tu devrais plutot te demander pourquoi il a pas disparu dans mail_dest

Il n'y a pas de raison : str_replace ne change pas la chaine d'origine.

n°952385
ratibus
Posté le 13-01-2005 à 14:47:24  profilanswer
 

Dj YeLL a écrit :

J'éspère que quelqu'un va pouvoir m'aider, car là je ne comprends rien du tout !
 
Tout d'abord voici le code. Je l'ai allegé à l'extrême pour plus de clareté :
 


$_SESSION['mail_dest'] = "aaa;bbb";
$_SESSION['titre'] = "aaa;bbb";
print_r($_SESSION);
echo '<br/>';
echo $mail = str_replace(';',"\r\n",$_SESSION['mail_dest']);
echo '<br/>';
echo $titre = str_replace(';',"\r\n",$_SESSION['titre']);
echo '<br/>';
print_r($_SESSION);


 
Et voici le resultat :


Array ( [mail_dest] => aaa;bbb [titre] => aaa;bbb )  
aaa bbb
aaa bbb
Array ( [mail_dest] => aaa;bbb [titre] => aaa bbb )


 
Comme vous pouvez le voir, le ";" a disparu de la variable de session "titre" dans le 2ème affichage ...
 
Je ne comprend pas pourquoi :(
 
Merci


C'est parce que tu dois être configuré en Register_globals à On.
Passe le à Off (si tu peux) car ça fait un bout de temps (au moins 2 ans) que c'est à Off par défaut pour des raisons de sécurité.

n°952387
sielfried
Posté le 13-01-2005 à 14:49:11  profilanswer
 

Dj YeLL a écrit :

J'éspère que quelqu'un va pouvoir m'aider, car là je ne comprends rien du tout !
 
Tout d'abord voici le code. Je l'ai allegé à l'extrême pour plus de clareté :
 


$_SESSION['mail_dest'] = "aaa;bbb";
$_SESSION['titre'] = "aaa;bbb";
print_r($_SESSION);
echo '<br/>';
echo $mail = str_replace(';',"\r\n",$_SESSION['mail_dest']);
echo '<br/>';
echo $titre = str_replace(';',"\r\n",$_SESSION['titre']);
echo '<br/>';
print_r($_SESSION);


 
Et voici le resultat :


Array ( [mail_dest] => aaa;bbb [titre] => aaa;bbb )  
aaa bbb
aaa bbb
Array ( [mail_dest] => aaa;bbb [titre] => aaa bbb )


 
Comme vous pouvez le voir, le ";" a disparu de la variable de session "titre" dans le 2ème affichage ...
 
Je ne comprend pas pourquoi :(
 
Merci


 
Ton PHP a très certainement register_globals à on, et du coup $titre correspond à exactement la même variable que $_SESSION['titre'].
 
A partir de là, tu dois comprendre ce qui cloche. ;)
 
Edit: bon ben on va dire que je confirme. :d


Message édité par sielfried le 13-01-2005 à 14:50:22

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°952421
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-01-2005 à 15:27:37  profilanswer
 

Ok merci à tous, bon ben je vais me demerder autrement, alors.
 
Ca doit surement etre ça, vu que le serveur se fait vieux et qu'il est rarement mis à jour. Mais vu qu'il y a une appli importante qui tourne dessus, qui ne m'appartient pas, je vais eviter de changer ça, des fois que je fouterais le truc en l'air :/
 
Encore merci en tout cas.
 
++

n°952514
ratibus
Posté le 13-01-2005 à 16:56:22  profilanswer
 

Tu peux le changer localement pour ton appli :

Code :
  1. ini_set('register_globals', '0');


 
Sauf si la fonction ini_set a été désactivée sur le serveur.

n°952575
plainsofpa​in
Pingouino's lover
Posté le 13-01-2005 à 18:44:45  profilanswer
 

ah mais non renomme juste $titre en autre chose.
 
/me a l'impression que son post est passé inapercu ...


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
mood
Publicité
Posté le 13-01-2005 à 18:44:45  profilanswer
 

n°952582
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-01-2005 à 18:55:44  profilanswer
 

plainsofpain a écrit :

ah mais non renomme juste $titre en autre chose.
 
/me a l'impression que son post est passé inapercu ...


 
 
Non non, ton post n'est pas passé inaperçu lol C'est bien ce que j'ai fais, j'ai simplement renommé la variable $titre :)
 
Encore merci.
 
Ratibus> En effet, je n'ai pas pensé à utiliser ini_set()... surtout que je l'ai utilisé dans ce même script mais pour autre chose :D
 
Merci à tous
 
++


---------------
Gamertag: CoteBlack YeLL
n°953302
plainsofpa​in
Pingouino's lover
Posté le 14-01-2005 à 19:36:56  profilanswer
 

ouf j'ai eu peur que tu te lances dans un autre moyen alors que c'était un peu bête ^^
 
Quand tu bosses avec les sessions, fais attention aux noms des variable dedans, on a tendance a les oublier, et à nommer d'autres variable avec le meme nom  :whistle:


---------------
http://www.alsacreations.com , http://www.openweb.eu.org. Mon CV : http://cv.roane-irkana.net/. Exemple à ne surtout pas suivre : www.worldinternet.be
n°953317
Xav_
The only one...
Posté le 14-01-2005 à 20:13:03  profilanswer
 

suffit d'avoir qques règles et c'est bon:
- mes variables d'un formulaire se nomment $F_nomvariable
- mes variables de session se nomment $S_nomvariable
...etc...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°953352
cerel
Posté le 14-01-2005 à 21:10:41  profilanswer
 

Personnellement je passe par une classe (que j'ai faite) qui gere les sessions.
Les variables de sessions se trouvent dans un objet $session.
Il y a un tableau $session->data qui contient toutes les vars de session. Comme ca c'est facile, de plus il suffit d'ajouter une "valeur" au tableau pour que ca soit automatiquement sauve dans la session.
 
De plus cette methode me permet de faire un petit
"print_r($session->data)" pour voir qu'est-ce qu'il y a de stocke dedans.
(Bon ok, on peut aussi le faire en passant par $_SESSION ... :p)


Message édité par cerel le 14-01-2005 à 21:11:53
n°953357
Dj YeLL
$question = $to_be || !$to_be;
Posté le 14-01-2005 à 21:25:33  profilanswer
 

merci pour toutes ces recommandations :)


---------------
Gamertag: CoteBlack YeLL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Une variable de session qui change toute seule ! Je m'arrache les chvx

 

Sujets relatifs
Problème de session chez Wanadoo ! Je suis perdurecuperer un numero de session [resolu]
comment stocker les résultat dans une variablesession_start()
[VAB - XL] - Nom de Userform Variableprobleme de valeur de variable
Passage de variable depuis une boucle ???variable qui bug
Graphique couplé avec variable $_POSTProbleme avec session_start()
Plus de sujets relatifs à : Une variable de session qui change toute seule ! Je m'arrache les chvx


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR