Variables de sessions qui s'effacent

Résolu
jekifvb6 Messages postés 156 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 18 septembre 2006 - 22 juin 2006 à 15:47
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 - 23 juin 2006 à 16:46
Bonjour à toutes et tous,

J'essaie de créer un ensebmle de formulaires complexes, sur plusieurs pages, mais j'ai l'impression d'avoir déjà un gros souci de base. En effet, mes variables de session s'effacent d'une page à l'autre!!!

Il s'agit de 3 pages. La premiere permet juste de choisir une valeur dans une lsite déroulante et d'envoyer cette valeur dans une variable dans la deuxieme page.

La seconde page permet de saisir des coordonnées afin d'envoyer un email et j'ai ajouté un test pour afficher la valeur de ma variable de session, qui est bien affectée a ce moment!

Ensuite, cette page fait appel a une troisieme page pour l'envoi du mail. J'ai remis un test d'affectation des variables, et je me rends compte que ma variable se vide entre la deuxieme et la troisieme page apparemment!

Voici mon code:

Premiere page:

<? session_start;?>
<FORM name="index" method="POST" action="coordonnees.php">
      <select name="question1" id="question1">
          <option value="non r&amp;eacute;alis&amp;eacute;" selected>non r&amp;eacute;alis&amp;eacute;</option>
          <option value="1">1</option>
          <option value="2">2</option>
          <option value="3">3</option>
          <option value="4">4</option>
      </select>

  </FORM>


--------------------------------------------------------------------------------

Deuxieme page:

 <? session_start;?>
 <FORM name="coordonnees" method="POST" action="envoi.php">
<?    
 if (empty($_SESSION["variable1"])) {
  $_SESSION["variable1"]=$_POST['question1'];
  echo $_SESSION["variable1"]."\n";
}
?>
Votre nom et prénom:

  
  

  Votre adresse E-Mail:

  
  

  Votre adresse postale:

  <textarea name="adresse" cols=30 rows=5></textarea>
  
    
  </FORM>


--------------------------------------------------------------------------------

Troisieme page :

<? session_start;?>
<?
echo $_SESSION["variable1"];
   
  $msg = "Nom:\t$nom\n";
  $msg .= "E-Mail:\t$email\n";
  $msg .= "Adresse:\t$adresse\n\n";

  $msg .=$_SESSION["variable1"];

  $recipient = "monmail@free.fr";
  $subject = "Formulaire";
   
  $mailheaders = "From: Mon test de formulaire<> \n";
  $mailheaders .= "Reply-To: $email\n\n";
   
  mail($recipient, $subject, $msg, $mailheaders);
   
  echo "<HTML><HEAD>";
  echo "<TITLE>Formulaire envoyé!</TITLE></HEAD>";
  echo "Merci, $nom 
";
  echo "";
  echo "Votre formulaire à bien été envoyé !

";
  echo "</HTML>";
  ?> 


--------------------------------------------------------------------------------

Si vous avez besoin de plus d'informations, n'hesitez pas! mais je ne comprends pas pourquoi ma variable est remplie en page 2 puis vide en page 3 !

Un énorme merci d'avance!
A voir également:

4 réponses

iow4 Messages postés 302 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 2 novembre 2008 4
22 juin 2006 à 19:44
session_start est une fonction il faut l'apeller comme ceci :

<?php
session_start();
?>
3
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
23 juin 2006 à 09:54
ouaip avec des ( ) c'est mieux ^^
0
jekifvb6 Messages postés 156 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 18 septembre 2006
23 juin 2006 à 16:20
Génial!!! ca fonctionne! merci beaucoup pour votre aide et désolé de mon manque de précision dans mon code! mais pourriez vous m'expliquer pourquoi les variables etait bien affectées sur la page 2 mais s'effacaient en page 3? a cause de ce faux-appel de fonction session_start() ?
0
cs_putch Messages postés 624 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 14 décembre 2009 1
23 juin 2006 à 16:46
tout simplement parce que tu faisai :

 $_SESSION["variable1"]=$_POST['question1'];
0
Rejoignez-nous