[PHP] Mettre à jour les variables de session [resolu]

Mettre à jour les variables de session [resolu] [PHP] - PHP - Programmation

Marsh Posté le 26-04-2004 à 11:30:11    

Bonjour tout le monde,
j'ai un petit probleme pour mettre à jour les variables de sessions.
J'ai une petite interface de saisies de données sous le schema suivant :
1er formulaire-->2nd formulaire-->traitement des donnees
 
Mon probleme c'est que pour le traitement des données, j'ai besoin de donnees qui viennent des deux premiers formulaires. J'utilise donc les variables de session pour passer les donnees du premier formulaire vers la page de traitement. Seulement lorsque l'utilisateur a ses donnees qui sont traitées, il peut revenir au 1er formulaire pour entrer de nouvelles donnees. Et la, les donnees qu'il entre ne sont pas prises en compte et mon interface garde les variables de session de la premiere saisie. J'ai essayé de rajouter a la page de traitement un unset($_session['mavariable']) ou un session_destroy() mais ca ne change rien quand je met le unset, et ca me renvoie une variable vide apres le 1er formulaire lorsque j'utilise le session_destroy(). Pourtant dans mon premier formulaire j'utilise bien un $_SESSION['mavariable']=$mavariable; qui devrait mettre à jour la variable de session, meme sans session_destroy() ou unset, non??
Donc si quelqu'un connait une methode pour mettre à jour les variables de sessions...Merci :)


Message édité par force_jaune le 27-04-2004 à 10:03:05
Reply

Marsh Posté le 26-04-2004 à 11:30:11   

Reply

Marsh Posté le 26-04-2004 à 12:04:36    

si tu utilises des formulaires et des sessions avec des noms de variable commun, il faut que tu appelles tes variables correctement, $_SESSION['mavariable']=$mavariable va réaffecter la meme chose, alors que $_SESSION['mavariable']=$_GET['mavariable'] ou $_SESSION['mavariable']=$_POST['mavariable'] (selon méthode d'envoi) aura l'effet que tu attends

Reply

Marsh Posté le 26-04-2004 à 14:09:32    

ok d'accord, je comprends mon erreur, merci beaucoup je vais essayer de suite ;)

Reply

Marsh Posté le 27-04-2004 à 09:40:19    

bon, je fais remonter puisque ça ne marche toujours pas. Lorsque l'utilisateur remplit le premier formulaire, la variable de session reste vide (c'est a dire que dès qu'il entre les données, je fais un pti  $_SESSION['numcom']=$_POST['numcom'];
et ensuite dans cette meme page, j'ai une verif de saisie qui interdit à cette variable 'numcom' d'etre vide et il me la detecte comme vide. Voila la structure de mes pages, notamment au niveau de l'utilisation des variables de session:
 

Code :
  1. //formulaire1.php
  2. session_start();
  3. //Si formulaire dejà validé
  4.          if($numcom=="" )
  5.     $echec=$echec."- Vérifiez que vous avez bien entré le champ Numéro commercant <br>";
  6. //Si pas d'erreur de saisie
  7.                   $_SESSION['numcom']=$_POST['numcom'];
  8.                         //traitement des données
  9. //Si formulaire pas encore validé ou si erreur
  10.                         //mon formulaire
  11.                         je récupère ici ma variable 'numcom'


 

Code :
  1. //formulaire2.php
  2. //rien de spécial au niveau des sessions


Code :
  1. //traitementdonnees.php
  2. session_start();
  3. $numcom=$_SESSION['numcom'];
  4. //traitement des données


 
Avec ce code, lors du test des saisies du 1er formulaire, j'ai une erreur qui me dit que 'numcom' n'a pas été saisi.


Message édité par force_jaune le 27-04-2004 à 09:43:40
Reply

Marsh Posté le 27-04-2004 à 09:51:30    

//formulaire1.php
 session_start();  
//Si formulaire dejà validé
         if($_SESSION['numcom']=="" )   //ou $_POST, ton code est pas trés clair :D
    $echec=$echec."- Vérifiez que vous avez bien entré le champ Numéro commercant <br>";  
//Si pas d'erreur de saisie
                  $_SESSION['numcom']=$_POST['numcom'];
                        //traitement des données
 
//Si formulaire pas encore validé ou si erreur
                        //mon formulaire
                        je récupère ici ma variable 'numcom'
 
 
toujours accéder à tes variables en utilisant les tableau super global $_POST, $_GET, $_SESSION,...
 
 
edit: désolé pour la présentation, mais la balise gras passe pas dans un zone de code :/


Message édité par dropsy le 27-04-2004 à 09:54:00
Reply

Marsh Posté le 27-04-2004 à 09:55:49    

lol suis pas trop aidé moi parfois, c'etait tout con en effet :)
Merci bcp pour ta reponse, je vais voir ça

Reply

Marsh Posté le 27-04-2004 à 10:02:50    

ca marche nickel, merci à vous deux ;)

Reply

Sujets relatifs:

Leave a Replay

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