Soucis avec les variables de session

Soucis avec les variables de session - PHP - Programmation

Marsh Posté le 25-05-2007 à 14:47:28    

Bonjour,  
j'ai un soucis avec les variables de session, voici un extrait de mon code qui s'étend sur plusieurs pages:
 
première page:

Code :
  1. <?php session_start()?>
  2. <form action="aaa.php" method="post">
  3. <input type="text" name="607"/>
  4. <input type="submit" value="Continuer" />
  5. </form>


Voici la page nommée aaa:

Code :
  1. <?php session_start()?>
  2. <?php include("bbb.php" );?>


Qui appel donc la page bbb.php qui suit:

Code :
  1. <form action="ccc.php" method="post">
  2. <?php $_POST["607"] = preg_replace("#,#", '.', $_POST["607"]);
  3. echo $_POST["607"];?>
  4. <?php $_SESSION["607"] = $_POST["607"];?>
  5. <input type="submit" value="Valider" />
  6. </form>


Puis la page ccc:

Code :
  1. <?php session_start()?>
  2. <?php include("ddd.php" ); ?>


Et enfin ddd.php

Code :
  1. <?php echo $_SESSION["607"]; ?>


 
Donc voila je ne comprend pas pourquoi je ne peux afficher $_SESSION["607"], j'ai essayer de remplacer les guillemets doubles par des simples, ca n'a rien changer.
Le plus étrange c'est que j'ai deux autres variables de session $_SESSION["session"] et $_SESSION["compte"] qui elles fonctionnent bien...
 
(les codes ont été raccourcis pour éviter de surcharger la page, mais je pense que le soucis doit provenir des extraits ci-dessus, au cas ou je pourrais fournir le code en entier)
 
Merci de me donner une piste  :D


Message édité par gedriukas le 25-05-2007 à 14:55:19
Reply

Marsh Posté le 25-05-2007 à 14:47:28   

Reply

Marsh Posté le 25-05-2007 à 15:07:56    

la valeur dans ton $_POST s'affiche correctement?
 
C'est très fouilli comme code. J'me demande comment tu arrive à t'en sortir. Cela n'engage que moi, ca va de soit :)


---------------
"Nous avons tous nos machines du temps. Celles qui nous ramènent en arrière sont les souvenirs, celles qui nous projettent en avant sont les rêves."
Reply

Marsh Posté le 25-05-2007 à 15:07:57    

Juste une question comme ça Pourquoi tu utilise 5 pages alors que tu pourrais en utilises seulement 3?
Si tu affiches $_SESSION['607'] après l'affectation dans ton fichier bbb.php ca marche ou pas?


Message édité par _v1ru5_ le 25-05-2007 à 15:09:14
Reply

Marsh Posté le 25-05-2007 à 15:18:15    

Citation :

la valeur dans ton $_POST s'affiche correctement?


Oui la valeur du $_POST s'affiche bien dans la page bbb.php
 
J'ai aussi reussi à afficher $_SESSION["607"] dans la page bbb.php
Mais il ne s'affiche toujours pas dans la page ddd.php  :??:  
 

Citation :

Pourquoi tu utilise 5 pages alors que tu pourrais en utilises seulement 3?


Enfaite j'ai mis une version "allégée" du code mais disons que dans les pages aaa.php et ccc.php il y a d'autres choses (mais qui n'ont pas de rapport avec  la variable 607, je n'ai pas tout mis pour que cela reste lisible même si c'est asser fouilli  vu que je ne suis qu'en première année de BTS Informatique et Gestion je n'ai pas encore les "reflexes" ).
 
Si cela peut servir, l'erreur est la suivante :
 
Notice: Undefined index: 607 in C:\OCCE67 cooperative\test\ddd.php on line 1


Message édité par gedriukas le 25-05-2007 à 15:19:38
Reply

Marsh Posté le 25-05-2007 à 15:23:09    

Ta session n'est pas démarrée.
Ca donne quoi quand tu met session_start(); avant de faire ton affichage?


Message édité par _v1ru5_ le 25-05-2007 à 15:24:26
Reply

Marsh Posté le 25-05-2007 à 15:31:51    

Citation :

Ca donne quoi quand tu met session_start(); avant de faire ton affichage?


Tu veux dire, dans la page ddd.php ? avant le echo $_SESSION["607"] ?
 
Dans ce cas, il faut que j'enlève le session_start() de la page ccc.php (sinon il me dit qu'il y a déjà une session d'ouverte).
Et lorsque je met session_start() dans la page ddd.php et bien ca m'affiche toujours la même erreure.
 
J'ai déjà essuyé tout les tutoriaux sur le net et j'ai toujours pas reussi à trouver qu'est-ce qui pourrais clocher (j'ai même tenter de remplacer les chiffres 607 par des lettres pensant que ca viendrais peut être du fait que ce sont des chiffres mais rien n'y fait... :( )

Reply

Marsh Posté le 25-05-2007 à 15:38:12    

Tu es sur que ton formulaire (page bbb) envoi bien les infos à la page ccc?
si tu fais ton echo $_SESSION["607"] direct dans la page ccc ca marche ou pas?

Reply

Marsh Posté le 25-05-2007 à 15:44:11    

Tout dabord merci de t'a patience et de la rapidité des réponses  :)  
 
Sinon même si je met le $_SESSION_["607"] dans la page ccc.php (en dessou du session_start() bien sur) et bien ca ne l'affiche quand même pas !
 
Je suis totalement larguer à ce niveau la parceque tout fonctionne correctement j'arrive à afficher une variable $_SESSION["compte"] qui comporte
plusieurs variables additionnée (dont la 607) (elles ont été additionnée avec la methode POST) mais je n'arrive pas à les gardées (je ne sais pas si je suis très clair  :sweat: )

Reply

Marsh Posté le 25-05-2007 à 15:52:44    

Essaie en renommant 607 avec une minuscule au lieu d'un chiffre pour commencer.
genre 'v607' ou ce que tu veux.

Reply

Marsh Posté le 25-05-2007 à 15:56:32    

Citation :

Essaie en renommant 607 avec une minuscule au lieu d'un chiffre pour commencer.
genre 'v607' ou ce que tu veux.


Argh ca marche ! Merci beaucoup, c'est étrange parceque j'avais renommer entièrement la variable par des lettres j'avais peut être oublier le remplacement quelque part...
 
En tout cas merci beaucoup de l'aide !

Reply

Marsh Posté le 25-05-2007 à 15:56:32   

Reply

Marsh Posté le 25-05-2007 à 15:56:58    

You're welcome !

Reply

Marsh Posté le 25-05-2007 à 15:57:09    

C'est obligatoire de mettre une lettre en premier caractère?

Message cité 1 fois
Message édité par _v1ru5_ le 25-05-2007 à 15:59:23
Reply

Marsh Posté le 25-05-2007 à 15:59:20    

Hello tout le monde !
 
je viens de faire des tests  
et j'affiche dans chaque page tout les variables de sessions  
et j'ai remarqué qu'en passant à la page ccc.php (et donc ddd.php) la $_SESSION ne contient aucune variable  
 
 
bizzare

Reply

Marsh Posté le 25-05-2007 à 16:02:07    

_v1ru5_ a écrit :

C'est obligatoire de mettre une lettre en premier caractère?

 

En php la règle est que les variables commencent toujours par une lettre, in extenso idem pour get et post

Reply

Marsh Posté le 25-05-2007 à 16:02:55    

gedriukas a écrit :

Citation :

Essaie en renommant 607 avec une minuscule au lieu d'un chiffre pour commencer.
genre 'v607' ou ce que tu veux.


Argh ca marche ! Merci beaucoup, c'est étrange parceque j'avais renommer entièrement la variable par des lettres j'avais peut être oublier le remplacement quelque part...
 
En tout cas merci beaucoup de l'aide !


 
Exacte !!! :jap:  :jap:  :jap:  
 J'ai fait comme ça et ça marche cette fois :  

Reply

Marsh Posté le 25-05-2007 à 16:06:49    

Citation :

in extenso idem pour get et post


Justement ce qui est étrange c'est que avec la methode POST j'arrivais à utiliser ces variables (mais uniquement dans la page cible du form) alors qu'elles  
étaient uniquement composées de chiffres.
 
En tout cas je ne risque pas d'oublier qu'il faut toujours commencer une variable par une lettre (ca devrais être préciser plus clairement dans les tutoriaux d'ailleurs  ;) )


Message édité par gedriukas le 25-05-2007 à 16:07:24
Reply

Marsh Posté le 25-05-2007 à 16:39:46    

active toutes les erreurs lorsque tu développes, ça aide
dans ton exemple tu aurais eu une notice du genre "Skipping numeric key" et tu aurais gagné 1h

Reply

Sujets relatifs:

Leave a Replay

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