Formulaire d'upload

Résolu
Aquel Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   -  
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour tout le monde,

Mon problème est le suivant: je n'arrive pas à vérifier si le champ de type 'file' de mon formulaire est rempli. Celui ci est toujours considéré comme vide.

Mon formulaire (en épargnant les autres champs):
<?php	
echo "
<form enctype=\"multipart/form-data\" action=\"maj_fin.php\" method=\"POST\">	
    <input name=\"fichier\" type=\"file\" size=\"35\" />
    <input type=\"submit\" value=\"Valider\" name=\"send\">
</form>
 ";
?>


Ma page de vérification:
<?php
	
if (isset($_POST['fichier']))
{
	echo 'fichier envoyé';
}
else
{
	echo 'fichier non envoyé';
}
?>


Voilà, c'est surement une question triviale pour certain mais je sèche complètement.
Merci pour celui qui voudra bien m'aider.

9 réponses

oberion Messages postés 1253 Date d'inscription   Statut Membre Dernière intervention   248
 
Hello,
En fait, il n'est pas consideré comme vide mais comme étant "setté" (Tu demandes un isset).
Je ferais plutot:
<?php
	
if (isset($_POST['fichier']))
{
if($_POST['fichier'] != null {
	echo 'fichier envoyé';
} else {
echo 'fichier non envoyé';
}
}
?>


A réindenter proprement.
0
dedale82 Messages postés 403 Date d'inscription   Statut Membre Dernière intervention   283
 
Salut,
le contenu des champs file est accessible avec la variable $_FILES et non $_POST ou $_GET

Bonne journée
0
oberion Messages postés 1253 Date d'inscription   Statut Membre Dernière intervention   248
 
Ah oui, tu as carrement raison...
Au temps pour moi... :)
0
Aquel Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Bonjour et merci de vous intéresser à mon problème.

Lorsque j'utilise la variable $_FILES, mon champ est toujours considéré comme rempli. J'ai aussi essayé ta méthode (que je ne saisie d'ailleur pas) Oberion et là rien ne s'affiche.

Merci pour votre aide
0
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
Bonsoir.

Ce ne serait pas plutôt avec :
if(!empty($_FILES['fichier']))
echo 'Le ficher n'est pas vide';
0
Aquel Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci Sylvain pour ton aide.
C'est en effet toi qui a entièrement raison. J'ai testé et ça marche au poile.

A bientôt et encore merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Aquel Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Oups, je reviens la qu.. basse pour te dire que malheureusement lorsque je ne rempli pas mon champ, il est de nouveau considéré comme rempli.
Snif, fausse joie et précipitation dans ma précédente réponse.

Autre info, lorsque j'essaye d'afficher la variable, celle-ci s'affiche: array.

Merci à tous de m'aider
0
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
Bonsoir.

lorsque j'essaye d'afficher la variable, celle-ci s'affiche: array.
Apparement, php utilise les arrays (peut-être spécifique aux files), qui permettent d'organiser des données, en quelque sorte.

Exemple :
$societe_navigateurs=array(ie=>microsoft, firefox=>mozilla, netscape=>netscape) etc.....

Mais je ne connais pas du tout les arrays, et je ne sais pas ce que ca vient faire la dedans (si c'est bien ca).

Tu peux aussi essayer :
<form action="maj_fin.php" method="post">	
    <input name="fichier" type="file" size="35" />
    <input type="submit" value="Valider" name="send">
</form>


Page de vérification:
<?php
$fichier=$_FILES['fichier'];

if (!empty($fichier))
  {
	echo 'fichier envoyé';
  }
else
  {
	echo 'fichier non envoyé';
  }
?>


Je ne suis pas sur du tout, mais bon....
Je vais aussi tester ca sur mon site quand j'aurais le temps, pour essayer de faire fonctionner ca.

a plus
0
Aquel Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Bonjour Ssylvainsab et désolé de répondre aussi tardivement

Ta technique parrait pour moi aussi être la bonne. Cependant, le champ est encore et toujours considéré comme rempli. Cela doit être parce que la valeur renvoyée par la variable $fichier est toujours ARRAY (même lorsque le champ est rempli d'ailleur).

Je suis aussi de ton avis pour l'apparition de cette valaur ARRAY qui n'a rien à faire là.

Si quelqu'un à une idée, je suis certain que ça en aiderait plus d'un.
Merci
0
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
bonsoir.

J'ai mis le script sur mon site, et effectivement il ne fonctionne pas.
http://ssylvainsab.free.fr/autres/ccmsdz/upload_fichiers/


Sinon, j'ai trouvé ceci qui pourrait t'aider :
http://www.toutestfacile.com/php/cours/printables/PHPFacile.com-fileupload.php

a plus
0
Aquel Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   10
 
Bonsoir Sylvain,

Ton lien est géniale et m'a permis de résoudre mon problème.
Merci beaucoup

A+

ps: le contenu de ton site est très intéressant, ne t'arrêtes pas!
0
Ssylvainsab Messages postés 2884 Date d'inscription   Statut Modérateur Dernière intervention   825
 
ps: le contenu de ton site est très intéressant, ne t'arrêtes pas!
Merci beaucoup :)

a plus
0