Pb de passage de variables de session

Pb de passage de variables de session - PHP - Programmation

Marsh Posté le 09-08-2006 à 13:52:16    

Bonjour,
 
Je suis en train de réaliser un logiciel sous php et j'utilise des variables session pour passer un certain nombre de paramètres. Tout fonctionne correctement la plupart du temps, sauf quelques fois où mes variables session sont pas transmises. Je suis obligé de fermer toutes mes fenêtres IE6 et me reconnecter au logiciel pour que ça remarche. Des fois ça le refait plusieurs fois après plusieurs redémarrages de IE6. Je sais pas du tout d'où ça vient.
 
J'ai pas eu le pb sous Firefox, mais c'est parce que je peux pas l'utiliser.
 
Pour infos, j'utilise:
 
- Apache 2.0.55  
- PHP 5.1.4  
- MySQL 5.0.21
- IE 6 sp1 (et pas firefox, parce que j'ai des menus dynamiques que j'arrive pas à placer comme il faut, mais ça sera dans un autre post ça!).
 
Quelqu'un a une idée?
 
Merci de votre aide.

Reply

Marsh Posté le 09-08-2006 à 13:52:16   

Reply

Marsh Posté le 09-08-2006 à 15:35:28    

Peut être que si tu disais à quel moment arrivent les problèmes ca pourrait nous aidé à repondre ( quand tu changes de page, quand tu cliques sur un lien, ...)

Reply

Marsh Posté le 09-08-2006 à 16:07:20    

Merci de ta réponse.  
Dsl de pas avoir précisé.
 
C'est quand je clique sur une balise <A>. Le HREF auquel il fait référence ouvre une nouvelle page dans laquelle des données s'affichent selon la valeurs de variables de session.
 
Sinon, je peux aussi préciser que j'ouvre la même page dans un popup, mais qui prend un aspect différents, justement grâce à des variables de session

Reply

Marsh Posté le 09-08-2006 à 16:10:12    

Tu as bien mis session_start() dans la page que tu ouvre?

Reply

Marsh Posté le 09-08-2006 à 16:15:11    

Je l'ai pas mis effectivement. Mais disons que ça marchait sans (sauf des fois).  
C'est normal que ça puisse marcher quand même quasiment tout le temps, même quand on le met pas?
 
De toute façon, je viens de le rajouter. Merci de ton aide.

Reply

Marsh Posté le 09-08-2006 à 16:23:21    

J'ai presque le même pb, j'utilise une page intermédiaire qui charge mes variables de session à partir de données dans une BD. A la fin de cette page je fais un print_($_SESSION), no pb tout s'affiche.
Mais si je fais un Header("Location: ma page.php" ) pour rediriger vers la page qui va bien, je perd des variables de session. J'ai l'impression que le nombre est limité avec cette redirection. Alors que si je click sur des liens normaux, pas de pb 10 20 30 variables de sessions.

Reply

Marsh Posté le 09-08-2006 à 16:34:50    

Citation :

Mais si je fais un Header("Location: ma page.php" )


 
Est ce que t'as page ma page.php contient elle aussi le session_start()
 
PS : Bon conseil pour gérer les sessions avec PHP , au début de chaque page / script faire : session_start() comme premier instruction (après <?php donc)

Reply

Marsh Posté le 09-08-2006 à 16:36:13    

Yes of course.
J'ai des variables mais pas toutes.
 
 
edit:
Il me manque des var à partir du moment ou j'ai une var de type int:
[26] => 2
 
J'ai mes variable jusqu'a celle ci.
Mais cela passe bien lors que c'est de page en page avec des liens.


Message édité par Toby14 le 09-08-2006 à 16:38:25
Reply

Marsh Posté le 09-08-2006 à 16:42:22    

tu fais bien l'afectation des variables AVANT le Header ("Location ..." ) ??

Reply

Marsh Posté le 09-08-2006 à 16:46:46    

Oui, mais oups la boulette, les variable de type integer ne doivent pas passer. Et d'ailleurs c'est une erreur de ma part. Maintenant ca marche.
Sinon pour revenir au premier problème, essaie de nommer ta session avec session_name($id_login."machin" )
 
Faut aussi rappeler session_name a chaque fois
Merci


Message édité par Toby14 le 09-08-2006 à 16:47:11
Reply

Marsh Posté le 09-08-2006 à 16:46:46   

Reply

Marsh Posté le 09-08-2006 à 16:58:34    

Ok, je vais essayer session name, mais la question que je me pose, c'est pourquoi est-ce que ça bug pas tout le temps?

Reply

Marsh Posté le 09-08-2006 à 20:23:16    

Normalement avec un session_start() avant TOUTE instruction ca marche nickel.
 
Pour le problème d'header, faut affecter tes variables avant le header
$_SESSION[login]= 'login';
header()...
 
Pour ton problème pedrodb, non c'est pas normal que ca marche pas tout le temps. Si tu as bien mis un session_start() ca devrait tout le temps marcher :)
 
Enfin ton problème reste assez obscur, j'ai du mal à comprendre ton script :d

Reply

Marsh Posté le 10-08-2006 à 07:46:28    

En fait il l'est aussi pour moi, mais en affichant à chaque page mes variables de session, j'ai pu me rendre compte que certaines sont modifiées sans raison apparente quand je clique sur submit. Pour certains forumulaires, je me suis rendu compte qu'en modifiant le nom de variables qui s'appelaient quasiment comme des varaibles de session (ex: $nom et $_SESSION['nom']) ben ça marchait, $_SESSION['nom'] n'était plus modifiée.
Apparemment l'ajout de session_start() partout m'a aussi permis de plus avoir ce pb de modification.
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed