Bonjour,
Malgrès tous les tutoriels déjà présents sur le net j'ai un soucis au niveau de mon formulaire :
j'ai un formulaire contenant plusieurs champs <input type="text"/> et deux <form method="post" enctype="multipart/form-data"> (le premier servira à uploader un .exe, le second une image).
Voilà mon code :
Formulaire :
Code html : 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 <form method="post" action="upload.php"> <h1>Ajouter une création</h1> <p>Il vous suffit de remplir le formulaire suivant et de le valider.<br/> Tous les champs sont obligatoires, sauf indications contraires.</p><br /> <h1>A propos de vous</h1> <table> <tr> <td>Votre nom/pseudo :<br/> <input type="text" name="nom" size="50"/><br/><br/> </td> </tr> <tr> <td>Votre site (optionnel) :<br/> <input type="text" name="site" value="http://" size="50"/><br/> <p><font size=1><i>Exemple d'URL : http://www.monsite.fr</i></font></p><br/> </td> </tr> </table> <h1>Votre logiciel</h1> <table> <tr> <td>Nom du logiciel :<br/> <input type="text" name="nomexe" size="50"/><br/><br/> </td> </tr> <tr> <td>Description :<br/> <textarea name="comm" rows="10" cols="37"></textarea><br/><br/> </td> </tr> <tr> <td>Langage :<br/> <input type="text" name="langage" size="50"/><br/><br/> </td> </tr> <tr> <td>Taille :<br/> <input type="text" name="taille" size="50"/><br/> <p><font size=1><i>La taille doit exclusivement être un nombre.</i></font></p><br/> </td> </tr> <tr> <td>Le logiciel : <br/> <input type="hidden" name="MAX_FILE_SIZE" value="1000000000" > <input type="file" name="log" class="parc" size="35"> <p><font size=1><i>Attention, vous ne pouvez uploader que des exécutables de <strong>moins de 1Mo</strong>.</i></font></p> <br/> </td> </tr> <tr> <td>Image : <br/> <form method="post" enctype="multipart/form-data" action="upload.php"> <input type="hidden" name="MAX_FILE_SIZE" value="5000000" > <input type="file" name="img" class="parc" size="35"><br/> <p><font size=1><i>Attention, vous ne pouvez uploader que des images de <strong>moins de 500Ko</strong> ayant une des extentions suivantes : <table> <tr> <td >.png<br/>.gif</td><td>.jpg<br/>.jpeg</td><td>.bmp<br/>.bitmap</td> </tr> </table> <input type="submit" name="upload" value="Uploader" class="btn"/> </i></font></p> <br/> </form> </td> </tr> </table> <table> <tr> <td><input type="submit" value="Envoyer" class="btn"/> <input type="reset" value="Annuler" class="btn"/></td> </tr> </table> </form>
Et ma page Php :
Code php : 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 <?php if( isset($_POST['upload']) ) // si formulaire soumis { $content_dir = 'images/'; // dossier où sera déplacé le fichier $tmp_file = $_FILES['img']['tmp_name']; if( !is_uploaded_file($tmp_file) ) { exit("L'image est introuvable, veuillez réessayer"); } // on vérifie maintenant l'extension $type_file = $_FILES['img']['type']; if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') ) { exit("Le fichier n'est pas une image valide ou le format n'est peut-être pas pris en compte.<br/> Veuillez vous référer à la page précédente pour savoir les formats d'images pris en chage."); } // on copie le fichier dans le dossier de destination $name_file = $_FILES['img']['name']; if( !move_uploaded_file($tmp_file, $content_dir . $name_file) ) { exit("Impossible de copier l'image. Veuillez réessayer."); } echo "Le fichier a bien été uploadé"; } ?>
Le fichier PHP est pour l'instant basique, je voudrais faire marcher l'upload avant de le peaufiner.
J'ai une erreur lors de la validation de mon formulaire, à la ligne :
Code php :
$tmp_file = $_FILES['img']['tmp_name'];
Voilà, je ne sais plus que faire.Notice: Undefined index: img in c:\program files\easyphp-modgsi\www\site perso\upload.php on line 7
L'image est introuvable, veuillez réessayer
Un peu d'aide sera la bien venue
Merci d'avance !
Partager