Formulaire d'upload
Résolu
Aquel
Messages postés
200
Statut
Membre
-
Ssylvainsab Messages postés 2892 Statut Modérateur -
Ssylvainsab Messages postés 2892 Statut Modérateur -
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):
Ma page de vérification:
Voilà, c'est surement une question triviale pour certain mais je sèche complètement.
Merci pour celui qui voudra bien m'aider.
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
-
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.
-
Salut,
le contenu des champs file est accessible avec la variable $_FILES et non $_POST ou $_GET
Bonne journée -
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 -
Bonsoir.
Ce ne serait pas plutôt avec :if(!empty($_FILES['fichier'])) echo 'Le ficher n'est pas vide';
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
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-
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
-
-
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 -
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! -
ps: le contenu de ton site est très intéressant, ne t'arrêtes pas!
Merci beaucoup :)
a plus