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:[code]
<? session_start;?>
<FORM name="index" method="POST" action="coordonnees.php">
<select name="question1" id="question1">
<option value="non réalisé" selected>non réalisé</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<INPUT type="submit" value="valider">
</FORM>[/code]
--------------------------------------------------------------------------------
Deuxieme page:[code]
<? session_start;?>
<FORM name="coordonnees" method="POST" action="envoi.php">
<?
if (empty($_SESSION["variable1"])) {
$_SESSION["variable1"]=$_POST['question1'];
echo $_SESSION["variable1"]."\n";
}
?>
<P align="center">Votre nom et prénom:<br>
<INPUT type="text" name="nom" size=30>
</p>
<P align="center">Votre adresse E-Mail:<br>
<INPUT type="text" name="email" size=30>
</p>
<P align="center">Votre adresse postale:<br>
<textarea name="adresse" cols=30 rows=5></textarea>
<P align="center">
<INPUT type="submit" value="Envoyer">
</FORM>[/code]
--------------------------------------------------------------------------------
Troisieme page :[code]
<? 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><BODY>";
echo "<H1 align=center>Merci, $nom </H1>";
echo "<P align=center>";
echo "Votre formulaire à bien été envoyé !</P>";
echo "</BODY></HTML>";
?> [/code]
--------------------------------------------------------------------------------
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!