Bonjour,
je souhaite conserver les données saisies dans un formulaire d'inscription, après un "submit", afin de les réutiliser si la saisie est incorrecte (que les donneés ne soient pas effacées par le retour en arrière...)
Merci.

Voici mes codes :

pdf_inscription.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php session_start();
require ("configuration.php"); //accès à la base de données
$sql = connect_sql();
$pseudo_membre = $_SESSION['pseudo'];
$requete = mysql_query("SELECT * FROM pdf_membre WHERE `pseudo`='$pseudo_membre'"); 
$result = mysql_fetch_array ($requete);
$id = $result['id'];
$pseudo = $result['pseudo'];
$mail = $result['mail'];
// si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
{	// bandeau classique si pas connecté
	$bandeau = 'bandeau.php';	}
else
{	// bandeau membre si connecté
	$bandeau = 'bandeau_membres.php';	}
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />	
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<!-- début de la vérification si tout est saisi -->
<script type="text/javascript">
function valide(txt, err_id)
{ document.getElementById(err_id).innerHTML= (txt.value=="") ? "Attention &agrave; bien remplir toutes les cases !" : "&nbsp;"; }
</script>
<!-- fin de la vérification si tout est saisi -->
</head>
<body>
<?php include($bandeau); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
<div id="mainContent">
 
<form name="form1" method="post" action="pdf_inscription2.php">
<p />
<br />
<fieldset><legend> &nbsp; Inscription</legend>
 
<label for="pseudo">Pseudo &nbsp; : &nbsp;</label> 
<br />
<input type="text" tabindex="1" name="pseudo" value="<?php echo $_POST['pseudo']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="mdp">Mot de Passe &nbsp; : &nbsp;</label>
<br />
<input type="password" tabindex="2" name="mdp" value="<?php echo $_POST['mdp']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="mdp">Retapez votre mot de passe &nbsp; : &nbsp;</label>
<br />
<input type="password" tabindex="3" name="verif_mdp" value="<?php echo $_POST['verif_mdp']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="mail">Votre E-Mail &nbsp; : &nbsp;</label>
<br />
<input type="text" tabindex="4" name="mail" value="<?php echo $_POST['mail']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="nom">Nom &nbsp; : &nbsp;</label> 
<br />
<input type="text" tabindex="5" name="nom" value="<?php echo $_POST['nom']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="prenom">Pr&eacute;nom &nbsp; : &nbsp;</label> 
<br />
<input type="text" tabindex="6" name="prenom" value="<?php echo $_POST['prenom']; ?>"  onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="ville">Ville &nbsp; : &nbsp;</label> 
<br />
<input type="text" tabindex="8" name="ville" value="<?php echo $_POST['ville']; ?>" onfocus="this.className='ev_focus';" onblur="this.className='ev';valide(this, 'err_id');" class="ev" /><span id="err_id" style="color:red"></span>
<br />
<label for="naissance">Date de Naissance &nbsp; : &nbsp;</label>
<br />
<br />
 <?php
// connexion à la base
// require("configuration.php"); déjà au-dessus
// $sql = connect_sql(); déjà au-dessus
// début de la première requête sur les jours
echo '<label>'.'Jour &nbsp; : &nbsp; '.'</label>';
echo '<br />';
echo '<select name="jour2" class="jj" tabindex="9" onfocus="this.className=\'jj_focus\';" onblur="this.className=\'jj\';">';
$affich_form3 = "SELECT * FROM jours" ;
$resultat3 = mysql_query($affich_form3) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($resultat3);
//On vérifie que la table contient quelque chose
if
(mysql_num_rows($resultat3) == 0)
{
echo '<option>Aucun</option>';
} // fin si rien dans la liste
else
{
while ( $list = mysql_fetch_array( $resultat3 ) )
{
echo '<option value="'.$list['jour'].'">'.$list['jour'].'</option>';
} // fin du while
} // fin du else
echo '</select>';
echo '<br />';
// fin de la première requête sur les jours
 
// début de la deuxième requête sur les mois
echo '<label>'.'Mois &nbsp; : &nbsp; '.'</label>';
echo '<br />';
echo '<select name="mois2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
$affich_form4 = "SELECT * FROM mois" ;
$resultat4 = mysql_query($affich_form4) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($resultat4);
//On vérifie que la table contient quelque chose
if
(mysql_num_rows($resultat4) == 0)
{
echo '<option>Aucun</option>';
} // fin si rien dans la liste
else
{
while ( $list = mysql_fetch_array( $resultat4 ) )
{
echo '<option value="'.$list['Nb'].'">'.$list['mois'].'</option>';
} // fin du while
} // fin du else
echo '</select>';
// fin de la deuxième requête sur les mois
echo '<br />';
 
// début de la troisième requête sur les années
echo '<label>'.'Ann&eacute;e &nbsp; : &nbsp; '.'</label>';
echo '<br />';
echo '<select name="annee2" class="mm" tabindex="10" onfocus="this.className=\'mm_focus\';" onblur="this.className=\'mm\';">';
$affich_form5 = "SELECT * FROM annee ORDER BY an DESC" ;
$resultat5 = mysql_query($affich_form5) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($resultat5);
//On vérifie que la table contient quelque chose
if
(mysql_num_rows($resultat5) == 0)
{
echo '<option>Aucun</option>';
} // fin si rien dans la liste
else
{
while ( $list = mysql_fetch_array( $resultat5 ) )
{
echo '<option value="'.$list['an'].'">'.$list['an'].'</option>';
} // fin du while
} // fin du else
echo '</select>';
// fin de la troisième requête sur les années
?>
<br /><br />
<input type="submit" tabindex="10" name="Submit" value="Inscription" />
</fieldset>
</form>
<?php include('bas_de_page.php'); ?> <!-- insère le bas de page  -->
</body>
</html>
pdf_inscription2.php (action du "submit") :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<?php
session_start(); //On démarre une session
require("configuration.php"); //On insert le fichier qui contient les informations
// si l'utilisateur est connecté, c'est le bandeau membre sinon c'est le bandeau classique...
if (!isset($_SESSION['pseudo']) || $_SESSION['pseudo']=='')
{	// bandeau classique si pas connecté
	$bandeau = 'bandeau.php';	}
else
{	// bandeau membre si connecté
	$bandeau = 'bandeau_membres.php';	}
// on remet en minuscules et on enlève les accents dans l'adresse mail
$mail2 = ($_POST['mail']);
$remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
,'X' => 'x','Y' => 'y','Z' => 'z' );
$mail = strtr($mail2, $remplacements);
// requête pour récupérer la connexion ip du client
	$IPClient2= $_SERVER[REMOTE_ADDR] ;
    if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail)) //Verifie que l'email entrée n'est pas une fausse.
    {
		$chaine = "abcdefghijklmnopqrstuvwxyz0123456789"; 
		$confirm = str_shuffle($chaine); //On créé le code de confirmation
		//On recupère les informations saisies
		$pseudo2=($_POST['pseudo']);
		$mdp = ($_POST['mdp']);
		$verif_mdp = ($_POST['verif_mdp']);
		$nom = ($_POST['nom']);
		$prenom = ($_POST['prenom']);
		$ville = ($_POST['ville']);
		// création de la date au format date MySQL
		$born=$_POST['annee2'].'-'.$_POST['mois2'].'-'.$_POST['jour2'];
		$vote=0;
 
		$remplacements = array('à' => 'a','é' => 'e','è' => 'e','ù' => 'u','ê' => 'e','ô' => 'o'
		,'A' => 'a','B' => 'b','C' => 'c','D' => 'd','E' => 'e','f' => 'f','G' => 'g','H' => 'h'
		,'I' => 'i','J' => 'j','K' => 'k','L' => 'l','M' => 'm','N' => 'n','O' => 'o','P' => 'p'
		,'Q' => 'q','R' => 'r','S' => 's','T' => 't','U' => 'u','V' => 'v','W' => 'w'
		,'X' => 'x','Y' => 'y','Z' => 'z' );
		$pseudo = strtr($pseudo2, $remplacements);
 
		//On remet les dates au format français pour le mail
		setlocale (LC_TIME, 'fr_FR.UTF8');
		$born_mail = strftime("%A %d %B %Y",strtotime("$born"));
 
		/*On Fait la variable contenant le mail de confirmation*/
		header('Content-Type: text/html; charset=UTF-8');
		$message1 =  '<html>'.'<body>'.'Bonjour '.'<b>'.$pseudo.'</b>'.' et bienvenue sur '.$nom_site; 
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Vous venez de vous inscrire et nous sommes heureux de pouvoir vous compter aujourd\'hui parmi nos membres'; 
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<a href="' .$url_script. '/confirm.php?login=' . str_replace(' ','%20',$pseudo) . '&confirm=' . $confirm . '">Cliquer pour confirmer votre inscription</a>.</p>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Voici un rappel de vos identifiants, notez les pr&eacute;cieusement : ';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Pseudo : '.'<b>'.$pseudo.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Mot de passe : '.'<b>'.$mdp.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Mail : '.'<b>'.$mail.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Nom : '.'<b>'.$nom.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Pr&eacute;nom : '.'<b>'.$prenom.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Ville : '.'<b>'.$ville.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Votre Date de naissance : '.'<b>'.$born_mail.'</b>';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= 'Si vous souhaitez changer vos informations, rendez-vous dans votre compte pour les mettre &agrave; jour';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<br>'.'</br>';
		$message1 .= '&agrave; tr&egrave;s bient&ocirc;t sur le site !';
		$message1 .= '<br>'.'</br>';
		$message1 .= '<a href="'.$url_site.'">MON SITE</a>.</p>';
 
		$sql = connect_sql(); //On se connecte à MySQL
		$verification = mysql_query("SELECT COUNT(*) FROM pdf_membre WHERE pseudo='$pseudo' OR mail='$mail'") or die (mysql_error());
		$donnees = mysql_fetch_array($verification)or die (mysql_error());
 
		if($donnees['COUNT(*)'] >= 1) //On verifie que le pseudo n'existe pas déjà
		{ 
		$reponse = 'Le pseudo ou l\'email est d&eacute;j&agrave; utilis&eacute;, merci d\'en choisir un(e) autre. <a href="javascript:history.back(1)">Retour au formulaire</a>';
		}
		else
		{	
			if( empty($pseudo) || empty($mdp) || empty($verif_mdp) || empty($mail) || empty($nom) || empty($prenom) ) //On verifie que les variables précédentes ne soient pas vide
			{
			$reponse = 'Un ou plusieurs champs ne sont pas remplis, <a href="javascript:history.back(1)">Retour au formulaire</a>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' pseudo : '.'<b>'.$pseudo.'</b>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' mot de passe : '.'<b>'.$mdp.'</b>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' verif mot de passe: '.'<b>'.$verif_mdp.'</b>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' mail : '.'<b>'.$mail.'</b>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' nom : '.'<b>'.$nom.'</b>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' prenom : '.'<b>'.$prenom.'</b>';
			$message1 .= '<br>'.'</br>';
			$reponse .= ' naissance : '.'<b>'.$born_mail.'</b>';
			$message1 .= '<br>'.'</br>';
			}
			elseif( $mdp != $verif_mdp) //On verifie que les 2 pass sont identiques
			{
			$reponse = 'Les mots de passe ne sont pas identiques, <a href="javascript:history.back(1)">Retour au formulaire</a>';
			}
			else //Si tout est bon on entre les données dans la BDD et on envoit le mail
			{
			mysql_query("SET NAMES 'utf8'");
			mysql_query("INSERT INTO pdf_membre VALUES ('','$pseudo', '$mdp', '$mail', '$confirm', '$nom', '$prenom', '$ville', '$born', '$vote')");
			$reponse = '<strong>'.'Bravo, vous &ecirc;tes maintenant inscrit sur ' .$nom_site. '. <br>Vous allez recevoir un e-mail dans quelques instants pour activer votre compte'.'</strong>'.
			'</br>'.'<br>'.'</br>'.'<a href="' .$url_site. '">Retour &agrave; l\'Accueil</a>';
			$entete = "MIME-Version: 1.0\r\n";
			$entete .= "Content-type: text/html; charset=utf-8\r\n";
			$entete .= "From: <$email_admin>\r\n";
			$entete .= "Reply-To: $email_admin\r\n";
			mail($mail,'Bienvenue sur ' .$nom_site. ' ' . $login . ' ', $message1, $entete);
 
			// on envoie également le mail à l'administrateur
			header('Content-Type: text/html; charset=UTF-8');
			$message2 =  '<html>'.'<body>'.'Bonjour '.'</br>'.'<b>'.$pseudo.'</b>'.' vient de s inscrire sur '.$nom_site; 
			$message2 .= '<br>'.'</br>';
			$message2 .= 'Pseudo : '.'<b>'.$pseudo.'</b>'.'</br>';
			$message2 .= 'Mot de passe : '.'<b>'.$mdp.'</b>'.'</br>';
			$message2 .= 'Mail : '.'<b>'.$mail.'</b>'.'</br>';
			$message2 .= 'Nom : '.'<b>'.$nom.'</b>'.'</br>';
			$message2 .= 'Pr&eacute;nom : '.'<b>'.$prenom.'</b>'.'</br>';
			$message2 .= 'Ville : '.'<b>'.$ville.'</b>'.'</br>';
			$message2 .= 'Date de naissance : '.'<b>'.$born_mail.'</b>';
			$message2 .= '<br>'.'</br>';
			$message2 .= 'IP de connexion : '.'<b>'.$IPClient2.'</b>';
 
			$entete2 = "MIME-Version: 1.0\r\n";
			$entete2 .= "Content-type: text/html; charset=utf-8\r\n";
			$entete2 .= "From: <$email_admin>\r\n";
			$entete2 .= "Reply-To: $email_admin\r\n";
			mail($email_admin,'Nouvelle inscription sur ' .$nom_site. ' ' . $login . ' ', $message2, $entete2);
			}
		}
	mysql_close($sql); //On se deconnecte
	}
	else //Reponse si l'adresse e-mail est une fausse
	{
	$reponse = 'Votre adresse e-mail "' . $mail . '" n\'est pas correcte. <a href="javascript:history.back(1)">Retour au formulaire</a>';
	} 	
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />	
<title>MON SITE</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<?php include($bandeau); ?> <!-- insère le bandeau principal en haut en fonction de la connexion -->
<div id="mainContent">
<br />
<br />
<? echo $reponse; ?> <!-- On affiche la reponse de tout le code du dessus -->
</div>
<p />
<p />
<?php include('bas_de_page.php'); ?> <!-- insère le bandeau principal en haut -->
</body>
</html>