Bonjour,

je souhaiterai conserver les valeurs de mes champs de formulaire une fois ce dernier envoyé vers mon fichier de vérification. Cela permettrait aux utilisateurs qui ont comis une erreur, de ne pas se retaper tout le formulaire et de garder les champs saisis au préalable.

Voici le code de la page du formulaire

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
<?php
session_start();
include('top.php');
?>
	  <div id="main">
			<div class="right_side">
              <?  
			  echo("<h2>Bonjour ".$_SESSION['login']." vous pouvez maintenant ajouter vos personnages<br/></h2>") ;
			  echo("<h3>Pour vous déconnecter, cliquez <a href=\"logout.php\">ici</a><br/></h3>") ; 
			  ?>
              <p>
                <script type="text/javascript" src="js/livevalidation.js"></script>
				<script type="text/javascript" src="js/nicEdit.js"></script>
				<script type="text/javascript">bkLib.onDomLoaded(function() { nicEditors.allTextAreas() });</script>
			  </p>
              <form action="editeurs_validation.php" method="post" name="form1" id="form1" enctype="multipart/form-data" onsubmit="return ValidationFormulaire();">
                <input type="hidden" name="valide" value="1" />
                <p class="Style1">Les champs avec * sont obligatoires</p>
                <table width="486" border="0" cellspacing="3">
                  <tr>
                    <td colspan="2"><strong>Identit&eacute; du personnage </strong></td>
                  </tr>
                  <tr>
                   <td>Nom</td>
                    <td><input type="text" name="nom_edit" value="<?php echo $_POST[nom_edit];?>" id="f1" class="LV_invalid_field"  size="30" />
                        <span class="LV_validation_message LV_invalid">Obligatoire</span>
                        <script type="text/javascript">
						  var f1 = new LiveValidation('f1');
						  f1.add(Validate.Presence);
						  </script>
                    </td>
                  </tr>
                  <tr>
                    <td>Date de cr&eacute;ation </td>
                    <td><input name="date_edit" type="text" id="f1" value="aaaa-mm-jj" size="30" /></td>
                 </tr>
                  <tr>
                    <td>Avatar (jpeg, 30ko) : </td>
                    <td><input type=file name="avatar_edit" id="verif_data">
                        <span class="LV_validation_message LV_invalid"><span class="LV_validation_message LV_invalid">Obligatoire</span></span>
                        <script type="text/javascript">
								var verif_data = new LiveValidation('verif_data');
								verif_data.add( Validate.Presence );
						</script>
                    </td>
                  </tr>
                  <tr>
                    <td colspan="2"><p>Histoire<br />                      
                      <textarea name="hist_edit" value="<?php echo $_POST[hist_edit]; ?>" cols="58" rows="4" id="area2"></textarea>
                      </p>
                    </td>
                  </tr>
                  <tr>
                    <td colspan="2"><span class="LV_validation_message LV_invalid">Sources : </span>                      <script type="text/javascript">
					var f1 = new LiveValidation('f1');
					f1.add(Validate.Presence);
					</script>                    </td>
                  </tr>
                  <tr>
                    <td colspan="2"><input name="source_edit" value="<?php echo $_POST[nom_champ1]; ?>" type="text" id="f1" class="LV_invalid_field" size="30" />
                      <span class="LV_validation_message LV_invalid">X</span> </td>
                  </tr>
                </table>
                <p align="center"><br />
                    <input type="submit" value="Validez votre fiche" />
                </p>
              </form>
	    </div>
			<? include('gauche.php');?>
	  </div>
<? include('footer.php');?>
	</div>
</body>
</html>
et voici la page de vérification du formulaire.

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
<?php
session_start();
?>
<?php include('top.php');?>
	  <div id="main">
		<div class="right_side">
              <h2>De nouveaux personnages?</h2>
              <h3>Ajoutez vos h&eacute;ros favoris &agrave; notre base</h3>
              <p>
                <script type="text/javascript" src="js/livevalidation.js"></script>
              </p>
<?php
// vérification du formulaire avant insertion
if ($_POST['valide'] == 1) 
{
	// Ajout membre_id 
	$nom_edit = (htmlentities ($_POST['nom_edit']));
	$date_edit = $_POST['date_edit'];
	$hist_edit = (htmlentities ($_POST['hist_edit']));
	$source_edit = $_POST['source_edit'];
 
	if ($nom_edit == '' || $date_edit == '' || $hist_edit == '' || $source_edit == '')
	{
		if($nom_edit == '')
			echo "<b>Merci de renseigner le champ nom</b><br>";
		if($date_edit == '')
			echo "<b>Merci de renseigner le champ date</b><br>";
		if($hist_edit == '')
			echo "<b>Merci de renseigner le champ histoire</b><br>";
		if($source_edit == '')
			echo "<b>Merci de renseigner au moins une source</b><br>";
	}
 	else
	{
 
	// Connexion a la base
require("configCD.php");
		// On vérifie si le nomFR et nomGB existe déjà ou pas
		$sql =	"SELECT * FROM editeurs WHERE nom_edit = '". addslashes($nom_edit)."'";
		$req =	mysql_query($sql);
 
		// On compte le nombre de ligne reçu par la requête
		$count = mysql_num_rows($req);
		// FORMULAIRE - Si le nom n'existe pas
		if ($count == 0)
		{
			// HISTO ajout un member_id
			$sql = 	"INSERT INTO editeurs (nom_edit, date_edit, hist_edit, source_edit)
				 VALUES ('$nom_edit', '$date_edit', '$hist_edit', '$source_edit')";
			mysql_query($sql) or die('Erreur SQL '.mysql_error().'<br />Requête utilisée : '.$sql);
 
//--->>> upload des images
			//si fichier à uploader
			if ($avatar_edit != NULL) {
				if (!empty($_FILES['avatar_edit']['tmp_name']) AND is_uploaded_file($_FILES['avatar_edit']['tmp_name'])) 
				{
						//vérif. poids du fichier
					if(filesize($_FILES['avatar_edit']['tmp_name'])>30000)
						{
						echo("Erreur : taille supérieure à 30ko!");
						}
 
					else if(filesize($_FILES['avatar_edit']['tmp_name'])<30000)
						{
 
						//Vérif type de fichier
						list($largeur, $hauteur, $type, $attr)=getimagesize($_FILES['avatar_edit']['tmp_name']);
 
						//Si pas Jpeg
						if($type !=2 ) 
							{
							echo("Erreur : ce n'est pas un fichier JPEG!");
							} 
 
						//Sinon : OK
						else if($type===2)
							{
 
						//on select le perso qui vient d'être ajouté:
						$av_perso = mysql_query("Select id_edit, nom_edit FROM editeurs WHERE nom_edit = '".mysql_real_escape_string($nom_edit)."'");
						$assoc_req = mysql_fetch_assoc($av_perso);
						$id_perso = $assoc_req['id_edit']; //id du nouveau perso = nom image
 
						//on bouge le fichier sur le serveur
						if(move_uploaded_file($_FILES['avatar_edit']['tmp_name'], 'images/editeurs/'.intval($id_perso).'.jpg'))
							{
							mysql_query("UPDATE editeurs SET image = '".mysql_real_escape_string($id_perso)."' WHERE id_edit ='".mysql_real_escape_string($id_perso)."'");
							}
						else 
							{
							//Erreur
							echo("Erreur lors du chargement...");
							}
							}
						}
				}
			}
				//-->> fin upload de la tof
			// Affichage d'un message pour décrire le bon déroulement
			echo("<br><div align=\"center\"><font color=\"green\"><b>Nouvel éditeur ajouté</b></div><br/>") ;
		}
		else
			{
			echo "<br><div align=\"center\"><font color=\"red\"><b>L'éditeur est déjà en base, merci de refaire une saisie.</b></div>";
			}
		// On ferme la connexion à la base de données
		mysql_close();
	}
}
?>
	    </div>
			<? include('gauche.php');?>
	  </div>
<? include('footer.php');?>
	</div>
</body>
</html>
J'ai lu qu'il était possible de faire un retour de refresh avec un fichier caché, mais je n'ai pas compris sa construction ou alors l'utilisation des sessions.