Bonjour à vous,
me revoilà avec un p'tit problème concernant un formulaire PHP d'insertion de données dans une base.
En fait, il s'agit de l'insertion d'un article avec plusieurs photos. Mon code marche bien quand j'ai une seule photo à envoyer (fichier dans un répertoire Temp et nom du fichier en base) mais lorsque j'essaie de dupliquer le code, cela ne fonctionne pas.
Par ailleurs je sais que mon code n'est pas top optimisé, va falloir que je bosse là-dessus aussi![]()
Voici le code de la page de Création (on vérifie s'il s'agit d'une modif ou d'une création puis on recueille les infos) :
Et là c'est le code qui traite et liste les articles :
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 <?php if (isset($_GET['modifier_articles'])) // Si on demande de modifier une fiche { // On récupère les infos de la correspondante $retour = mysql_query('SELECT * FROM articles WHERE id=' . $_GET['modifier_articles']); $donnees = mysql_fetch_array($retour); // On place le titre et le contenu dans des variables simples $titre = $donnees['titre']; $ville = $donnees['ville']; $prix = $donnees['prix']; $descriptif = $donnees['descriptif']; $surface = $donnees['surface']; $info = $donnees['info']; $photo1 = $donnees['photo1']; $photo2 = $donnees['photo2']; $photo3 = $donnees['photo3']; $photo4 = $donnees['photo4']; $photo5 = $donnees['photo5']; $photo6 = $donnees['photo6']; $photo7 = $donnees['photo7']; $photo8 = $donnees['photo8']; $photo9 = $donnees['photo9']; $id_articles = $donnees['id']; // Cette variable va servir pour se souvenir que c'est une modification } else // C'est qu'on rédige une nouvelle fiche { // Les variables $titre et $photo sont vides, puisque c'est une nouvelle fiche $titre = ''; $ville = ''; $prix = ''; $descriptif = ''; $surface = ''; $info = ''; $photo1 = ''; $photo2 = ''; $photo3 = ''; $photo4 = ''; $photo5 = ''; $photo6 = ''; $photo7 = ''; $photo8 = ''; $photo9 = ''; $id_articles = 0; // La variable vaut 0, donc on se souviendra que ce n'est pas une modification if ($photo1['photo1']['size']!=0) $photo1_name=$photo['photo1']['name']; else $photo1_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo1['photo1']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo1['photo1']['tmp_name'],$repertoire.$photo1['photo1']['name']); } if ($photo2['photo2']['size']!=0) $photo2_name=$photo['photo2']['name']; else $photo2_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo2['photo2']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo2['photo2']['tmp_name'],$repertoire.$photo2['photo2']['name']); } if ($photo3['photo3']['size']!=0) $photo3_name=$photo['photo3']['name']; else $photo3_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo3['photo3']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo3['photo3']['tmp_name'],$repertoire.$photo3['photo3']['name']); } if ($photo4['photo4']['size']!=0) $photo4_name=$photo['photo4']['name']; else $photo4_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo4['photo4']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo4['photo4']['tmp_name'],$repertoire.$photo4['photo4']['name']); } if ($photo5['photo5']['size']!=0) $photo5_name=$photo['photo5']['name']; else $photo5_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo5['photo5']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo5['photo5']['tmp_name'],$repertoire.$photo5['photo5']['name']); } if ($photo6['photo6']['size']!=0) $photo6_name=$photo['photo6']['name']; else $photo6_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo6['photo6']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo6['photo6']['tmp_name'],$repertoire.$photo6['photo6']['name']); } if ($photo7['photo7']['size']!=0) $photo7_name=$photo['photo7']['name']; else $photo7_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo7['photo7']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo7['photo7']['tmp_name'],$repertoire.$photo7['photo7']['name']); } if ($photo8['photo8']['size']!=0) $photo8_name=$photo['photo8']['name']; else $photo8_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo8['photo8']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo8['photo8']['tmp_name'],$repertoire.$photo8['photo8']['name']); } if ($photo9['photo9']['size']!=0) $photo9_name=$photo['photo9']['name']; else $photo9_name="photo0.jpg"; //test si un fichier photo est sélectionné sinon photo par défaut if ($photo9['photo9']['size']!=0) //----Gestion de la photo de l'article si elle a était modifiée { $repertoire="../images/photos"; move_uploaded_file($photo9['photo9']['tmp_name'],$repertoire.$photo9['photo9']['name']); } } ?> <form action="articles_list.php" method="post" enctype="multipart/form-data"> Titre : <input type="text" size="30" name="titre" maxlength="255" value="<?php echo $titre; ?>" /><br><br> Ville : <input type="text" size="30" name="ville" maxlength="255" value="<?php echo $ville; ?>" /><br><br> Prix : <input type="text" size="30" name="prix" maxlength="255" value="<?php echo $prix; ?>" /><br><br> Descriptif : <input type="text" size="30" name="descriptif" maxlength="255" value="<?php echo $descriptif; ?>" /><br><br> Surface : <input type="text" size="30" name="surface" maxlength="255" value="<?php echo $surface; ?>" /><br><br> Informations : <input type="text" size="30" name="info" maxlength="255" value="<?php echo $info; ?>" /><br><br> Photo1 : <input name="photo1" type="file" id="photo1" value="<?php echo $photo1_name; ?>" /><br><br> Photo2 : <input name="photo2" type="file" id="photo2" value="<?php echo $photo2_name; ?>" /><br><br> Photo3 : <input name="photo3" type="file" id="photo3" value="<?php echo $photo3_name; ?>" /><br><br> Photo4 : <input name="photo4" type="file" id="photo4" value="<?php echo $photo4_name; ?>" /><br><br> Photo5 : <input name="photo5" type="file" id="photo5" value="<?php echo $photo5_name; ?>" /><br><br> Photo6 : <input name="photo6" type="file" id="photo6" value="<?php echo $photo6_name; ?>" /><br><br> Photo7 : <input name="photo7" type="file" id="photo7" value="<?php echo $photo7_name; ?>" /><br><br> Photo8 : <input name="photo8" type="file" id="photo8" value="<?php echo $photo8_name; ?>" /><br><br> Photo9 : <input name="photo9" type="file" id="photo9" value="<?php echo $photo9_name; ?>" /><br><br> <input type="hidden" name="id_articles" value="<?php echo $id_articles; ?>" /> <input type="submit" value="Envoyer" /> </form>
D'avance un grand merci si vous pouvez me filer un coup de main
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 <?php //----------------------------------------------------- // Vérification 1 : est-ce qu'on veut poster une news ? //----------------------------------------------------- if (isset($_POST['titre'])) { $titre = addslashes($_POST['titre']); $ville = addslashes($_POST['ville']); $prix = addslashes($_POST['prix']); $descriptif = addslashes($_POST['descriptif']); $surface = addslashes($_POST['surface']); $info = addslashes($_POST['info']); $repertoire = "../images/photos/"; $uploadfile1 = $repertoire . basename($_FILES['photo1']['name']); $uploadfile2 = $repertoire . basename($_FILES['photo2']['name']); $uploadfile3 = $repertoire . basename($_FILES['photo3']['name']); $uploadfile4 = $repertoire . basename($_FILES['photo4']['name']); $uploadfile5 = $repertoire . basename($_FILES['photo5']['name']); $uploadfile6 = $repertoire . basename($_FILES['photo6']['name']); $uploadfile7 = $repertoire . basename($_FILES['photo7']['name']); $uploadfile8 = $repertoire . basename($_FILES['photo8']['name']); $uploadfile9 = $repertoire . basename($_FILES['photo9']['name']); $photo1 = basename($_FILES['photo1']['name']); $photo2 = basename($_FILES['photo2']['name']); $photo3 = basename($_FILES['photo3']['name']); $photo4 = basename($_FILES['photo4']['name']); $photo5 = basename($_FILES['photo5']['name']); $photo6 = basename($_FILES['photo6']['name']); $photo7 = basename($_FILES['photo7']['name']); $photo8 = basename($_FILES['photo8']['name']); $photo9 = basename($_FILES['photo9']['name']); // Là je galère, je ne pense pas devoir dupliquer les prochaines lignes if (move_uploaded_file($_FILES['photo1']['tmp_name'], $uploadfile1)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo2']['tmp_name'], $uploadfile2)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo3']['tmp_name'], $uploadfile3)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo4']['tmp_name'], $uploadfile4)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo5']['tmp_name'], $uploadfile5)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo6']['tmp_name'], $uploadfile6)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo7']['tmp_name'], $uploadfile7)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo8']['tmp_name'], $uploadfile8)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } if (move_uploaded_file($_FILES['photo9']['tmp_name'], $uploadfile9)) { echo "Le fichier est valide, et a été téléchargé avec succès."; } else { echo "Attaque potentielle par téléchargement de fichiers."; } // On vérifie si c'est une modification de news ou pas if ($_POST['id_articles'] == 0) { // Ce n'est pas une modification, on crée une nouvelle entrée dans la table mysql_query("INSERT INTO articles VALUES('', '" . $titre . "', '" . $ville . "', '" . $prix . "', '" . $descriptif . "', '" . $surface . "', '" . $info . "', '" . $uploadfile1 . "', '" . $uploadfile2 . "', '" . $uploadfile3 . "', '" . $uploadfile4 . "', '" . $uploadfile5 . "', '" . $uploadfile6 . "', '" . $uploadfile7 . "', '" . $uploadfile8 . "', '" . $uploadfile9 . "', '" . $photo1 . "', '" . $photo2 . "', '" . $photo3 . "', '" . $photo4 . "', '" . $photo5 . "', '" . $photo6 . "', '" . $photo7 . "', '" . $photo8 . "', '" . $photo9 . "')"); } else { // C'est une modification, on met juste à jour le titre et le contenu mysql_query("UPDATE articles SET titre='" . $titre . "', ville='" . $ville . "', prix='" . $prix . "', descriptif='" . $descriptif . "', surface='" . $surface . "', info='" . $info . "', chemin1='" . $uploadfile1 . "', chemin2='" . $uploadfile2 . "', chemin3='" . $uploadfile3 . "', chemin4='" . $uploadfile4 . "', chemin5='" . $uploadfile5 . "', chemin6='" . $uploadfile6 . "', chemin7='" . $uploadfile7 . "', chemin8='" . $uploadfile8 . "', chemin9='" . $uploadfile9 . "', photo1='" . $photo1 . "', photo2='" . $photo2 . "', photo3='" . $photo3 . "', photo4='" . $photo4 . "', photo5='" . $photo5 . "', photo6='" . $photo6 . "', photo7='" . $photo7 . "', photo8='" . $photo8 . "', photo9='" . $photo9 . "' WHERE id=" . $_POST['id_articles']); } } //-------------------------------------------------------- // Vérification 2 : est-ce qu'on veut supprimer une news ? //-------------------------------------------------------- if (isset($_GET['supprimer_articles'])) // Si on demande de supprimer une news { // Alors on supprime la news correspondante mysql_query('DELETE FROM articles WHERE id=' . $_GET['supprimer_articles']); } ?> <table> <tr> <td><b>Modification</b></td> <td><b>Suppression</b></td> <td><b>Titre</b></td> </tr> <?php $retour = mysql_query('SELECT * FROM articles ORDER BY id DESC'); while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les news { ?> <tr valign="top"> <td><?php echo '<a href="articles_new.php?modifier_articles=' . $donnees['id'] . '">'; ?>Modifier</a></td> <td><?php echo '<a href="articles_list.php?supprimer_articles=' . $donnees['id'] . '">'; ?>Supprimer</a></td> <td><?php echo stripslashes($donnees['titre']); ?></td> <td><?php echo stripslashes($donnees['ville']); ?></td> </tr> <?php } // Fin de la boucle qui liste les news ?> </table>![]()
J'espère ne pas abuser avec ces pavés de code !!!
Bien à vous,
Camille
Partager