Formulaire d'upload

Résolu/Fermé
Aquel Messages postés 199 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 - 13 oct. 2006 à 11:18
Ssylvainsab Messages postés 2884 Date d'inscription samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 - 26 oct. 2006 à 18:03
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 mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
13 oct. 2006 à 11:46
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 jeudi 15 avril 2004 Statut Membre Dernière intervention 28 octobre 2008 282
13 oct. 2006 à 14:07
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 mardi 26 septembre 2006 Statut Membre Dernière intervention 29 septembre 2007 248
13 oct. 2006 à 14:11
Ah oui, tu as carrement raison...
Au temps pour moi... :)
0
Aquel Messages postés 199 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 10
14 oct. 2006 à 15:15
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 samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
16 oct. 2006 à 18:30
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 lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 10
16 oct. 2006 à 20:48
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 lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 10
16 oct. 2006 à 21:03
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 samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
17 oct. 2006 à 21:30
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 lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 10
24 oct. 2006 à 15:20
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 samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
24 oct. 2006 à 18:57
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 lundi 28 novembre 2005 Statut Membre Dernière intervention 1 octobre 2009 10
25 oct. 2006 à 22:48
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 samedi 29 juillet 2006 Statut Modérateur Dernière intervention 15 août 2020 825
26 oct. 2006 à 18:03
ps: le contenu de ton site est très intéressant, ne t'arrêtes pas!
Merci beaucoup :)

a plus
0