Bonjour,

Mon problème est que lorsque j'envois mon formulaire si une des conditions n'est pas remplie, il m'affiche l'erreur que je gère via une alert javascript plus bas mais reset l'entièreté de mes champs.

J'aimerais que les champs valides reste remplis même après l'envois si l'utilisateur rencontre une erreur.

Voici mon code

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
 
if(isset($_POST['submit'])){ //Test clic envoi
 
	if(!empty($_POST['marque']) && !empty($_POST['modele']) && !empty($_POST['petite_description']) && !empty($_POST['prix_htva']) && !empty($_POST['description']) && !empty($_POST['carac_1']) && !empty($_POST['image_alt'])) //Tests champs remplis
	{
		//Stockage des variables
		$marque = bon_encodage($_POST['marque']);
		$modele = bon_encodage($_POST['modele']);
		$petite_description = bon_encodage($_POST['petite_description']);
		$prix_htva = bon_encodage($_POST['prix_htva']);
		$description = bon_encodage($_POST['description']);
		$image_alt = bon_encodage($_POST['image_alt']);
 
		$prix_htva = str_replace(",",".",$prix_htva);
 
		$file_image = '';
 
		//Test le prix
		if(preg_match("#^[0-9]{1,7}\.[0-9]{2}$#", $prix_htva)){
 
			$typesacceptes = array('image/jpeg','image/jpg','image/png','image/gif');
 
			//vérifie si les images existent et qu'elles sont au bon format
			if(!empty($_FILES['miniature']['name']) && !empty($_FILES['image']['name']) && in_array($_FILES['miniature']['type'],$typesacceptes) && in_array($_FILES['image']['type'],$typesacceptes))
			{						
					$image_tab_size = getimagesize($_FILES['image']['tmp_name']);
					$miniature_image_tab_size = getimagesize($_FILES['miniature']['tmp_name']);
 
					//Test si la taille est bonne
					if(($image_tab_size[0]==172) && ($image_tab_size[1]==226) && ($miniature_image_tab_size[0]==80) && ($miniature_image_tab_size[1]==106)){
 
						$requeteinsert = 'INSERT INTO article(marque,modele,petite_desc,HTVA,grande_desc) VALUES(\''.$marque.'\',\''.$modele.'\',\''.$petite_description.'\',\''.$prix_htva.'\',\''.$description.'\');';
 
						$result = mysql_query($requeteinsert) or die("La base de donnée est inaccessible");
						$lastid = mysql_insert_id();
 
						$file_image = "article_".$lastid;
						move_uploaded_file($_FILES['miniature']['tmp_name'],'images/miniatures/'.$file_image.".jpg");
						move_uploaded_file($_FILES['image']['tmp_name'],'images/'.$file_image.".jpg");
 
						$requeteinsert_suite = 'INSERT INTO images(image_alt,file_image,image_id) VALUES(\''.$image_alt.'\',\''.$file_image.'\',\''.$lastid.'\');';
 
						mysql_query($requeteinsert_suite) or die("La base de donnée est inaccessible");
 
						for($i=1;$i<=20;$i++){
							if(!empty($_POST['carac_'.$i])){
								$carac= bon_encodage($_POST['carac_'.$i]);
								$requeteinsert_suite = 'INSERT INTO caracteristiques(carac,caracts_id,list_caracts) VALUES(\''.$carac.'\',\''.$lastid.'\',\''.$i.'\');';
								mysql_query($requeteinsert_suite) or die("La base de donnée est inaccessible");
								}
							}	
					}else{
						$erreurs = 'L\'image n\'est pas à la bonne taille !';
					}
			}else{
				$erreurs = 'Veuillez uploader une image valide (format jpg, png ou gif) !';
			}
		}else{
			$erreurs = 'Veuillez renseigner un prix correcte (xxxxx,xx) !';
		}
	}else{
		$erreurs = 'Veuillez renseigner tout les champs !';
	}
}
Comment, puis je procéder?

Merci d'avance.

Gregory.