IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Variable $_FILES vide


Sujet :

PHP & Base de données

  1. #1
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 672
    Points : 5 476
    Points
    5 476
    Par défaut Variable $_FILES vide
    J'ai un petit souci dont je ne trouve pas l'origine.

    J'ai un formulaire avec un champ de type file et au traitement de ce formulaire, les variables $_FILES ne sont pas valorisées ( => un print_r($_FILES) donne Array ( ) soit le vide complet).

    Mon formulaire contient bien le enctype :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form name='f_page' method='POST' enctype='multipart/form-data'>
    mon input file est créé via du javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Parcourir
    td = document.createElement('td');
    input = document.createElement('input');
    input.name = 'f_fichier';
    input.id = 'f_fichier';
    input.type = 'file';
    td.appendChild(input);
    tr.appendChild(td);
    et $_POST['f_fichier'] me renvoi bien le nom du fichier passé dans le champ (enfin, le chemin+fichier sous IE et le fichier seulement sous firefox...).

    Si quelqu'un a une piste, je suis preneur.

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de Séb.
    Profil pro
    Inscrit en
    mars 2005
    Messages
    4 001
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : mars 2005
    Messages : 4 001
    Points : 5 674
    Points
    5 674
    Par défaut
    J'ai essayé de reproduire le bug avec les éléments que tu as fourni :

    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
    <?php
     
    echo '$_FILES = ' ;
    print_r($_FILES) ;
     
    ?>
     
    <script>
    window.onload = function( )
    {
        // Parcourir
        input = document.createElement('input');
        input.name = 'f_fichier';
        input.id = 'f_fichier';
        input.type = 'file';
        document.getElementById("myForm").appendChild(input) ;
    }
    </script>
     
    <form method="post" enctype="multipart/form-data" id="myForm">
    <input type="submit">
    </form>
    ... mais sans succès, ça fonctionne correctement.

    J'obtiens sous Firefox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $_FILES = Array
    (
        [f_fichier] => Array
            (
                [name] => ND.jpg
                [type] => image/jpeg
                [tmp_name] => C:\WINDOWS\Temp\phpCF.tmp
                [error] => 0
                [size] => 431
            )
     
    )
    Essaie d'élaguer ton script davantage.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 672
    Points : 5 476
    Points
    5 476
    Par défaut
    Effectivement, en testant ton cas, ça fonctionne.

    Si je rajoute un bouton submit et une action au niveau du form vers mon fichier de traitement, $_FILES est bien renseigné.

    Dans le cas qui ne fonctionne pas, je passe par la génération d'un formulaire de copie et que je lance le submit par la suite ( via formulaire_copie.submit(); ). Je vais chercher de ce côté même si la gestion du champ file semblait fonctionner sur une autre page.

    Merci pour l'aide. Je vous tiens au courant.

  4. #4
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : novembre 2004
    Messages : 2 672
    Points : 5 476
    Points
    5 476
    Par défaut
    Le problème venait bien de la génération du formulaire de copie qui gère mal les champs de type file.

    Du coup je fais autrement pour les cas avec un champ de ce type et maintenant tout fonctionne

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Variable $_FILES vide
    Par Deathankou dans le forum Langage
    Réponses: 5
    Dernier message: 17/02/2013, 21h16
  2. [PHP 5.3] Variable $_POST et $_FILES vide sir fichier trop grand
    Par bubulemaster dans le forum Langage
    Réponses: 2
    Dernier message: 26/11/2009, 17h34
  3. Valoriser manuellement la variable $_FILES
    Par fadeninev dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 12h34
  4. [VB6]Les variables se vide sans aucun raison !
    Par themik dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/03/2006, 20h59
  5. variable se vide !?
    Par georgeabitbol dans le forum ASP
    Réponses: 10
    Dernier message: 04/06/2004, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo