Formulaire multi-pages avec session
Bonjour,
Désireux de mettre en place un système de formulaire « multi-pages », j'ai découvert votre tutorial sur le site « developpez.com ». Après l'avoir mis en place je constate qu'il ne m'est pas possible de voir les variables déjà saisies sur les formulaires antérieurs lorsque j'utilise le menu, sauf sur le premier form au niveau du login qui lui s'affiche sans problème. Toutes les autres valeurs ne se réaffichent pas alors que rien ne les distingue. Si je fais un print_r de ma session je retrouve tous mes champs remplis.
Pouvez vous éclairer ma lanterne sans vouloir abuser de votre temps ?
Merci d'avance
formulaire multi page avec session
slt a tous je sui un debutant en PHP et je veu realiser un formulaire sur plusieurs pages et a la fin recupere les variables des differents formulaires sur une page ex: echo $_SESSION['prenon'] qui ce trouve sur la page 2. voici mon code pour la page 1 mai je sai pa coment recupere les autre variables des autres pages
Merci de m'aide
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| <?php
// on teste si le visiteur a soumis le formulaire de connexion
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') {
if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
$base = mysql_connect ('localhost', 'root', '');
mysql_select_db ('sebeno', $base);
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string($_POST['pass']).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);
mysql_free_result($req);
mysql_close();
// si on obtient une réponse, alors l'utilisateur est un membre
if ($data[0] == 1) {
session_start();
$_SESSION['login'] = $_POST['login'];
$_SESSION['email'] = $_POST['email'];
//$_SESSION['prenon'] = $_POST['prenon'];
header('Location: voir.php');
exit();
}
// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
elseif ($data[0] == 0) {
$erreur = 'Compte non reconnu.';
}
// sinon, alors la, il y a un gros problème :)
else {
$erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.';
}
}
else {
$erreur = 'Au moins un des champs est vide.';
}
}
?>
<table width="430" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="430" height="297" valign="top"><form action="test.php" method="post">
<p>Login : <br />
<input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>">
<br />
Mot de passe :
<input name="pass" type="password" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>" size="20">
</p>
<p>email:
<input name="email" type="text" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>">
<br />
<input type="submit" name="connexion" value="Connexion">
</p>
</form>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?> </td>
</tr>
</table> |