Bonjour,

Je tente d'empêcher un affichage du message d'erreur d'un formulaire (pour envoyer un fichier), message que l'on voit dès l'ouverture de la page, avant même d'avoir sélectionné un fichier.
Cela va forcément vous sauter aux yeux, alors si vous pouviez me mettre sur la piste, ce serait gentil...
Merci : !

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
<form action="" method="POST" enctype="multipart/form-data" >
 
        <!-- On limite le fichier à 100Ko -->
        <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
 
        <input type="file" name="avatar">
 
 
        <?php
$dossier = '../../../images/histoire/envois/';
$fichier = basename($_FILES['avatar']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['avatar']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['avatar']['name'], '.'); 
 
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'pas une image !';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier, 
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ', 
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
 
		 echo 'ok';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'envoi !';
     }
}
else
{
      echo $erreur;
}
?>
        <input type="submit" name="envoyer" value="Envoyer">
 
    </form>
Et donc, quand on arrive sur la page, on voit, en + du form lui même avec "Parcourir" et le submit, le message d'erreur : pas une image !
Je précise que, à part ce problème, le form fonctionne bien.