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

Langage PHP Discussion :

[Upload] Type hidden et enctype


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut [Upload] Type hidden et enctype
    Salut

    j'ai un formulaire pour uploader un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    echo "<form enctype='multipart/form-data' action='action.php' method=post>\n";
    echo "<input type='hidden' name='var1' value='1'>";
    echo "<input type='hidden' name='var2' value='2'>";
    echo "<input type='file' name='file1'>";
    echo "<input type='submit' value='upload'>";
    echo "</form>";
    Problème quand je veux récupérer la variable var1 sur la page action.php, elle est vide,
    par contre var2 est bien remplie.

    Si j'enleve le enctype='multipart/form-data', j'arrive à récupérer les 2 variables.

    Apparement le premier type hidden, n'est pas retourné,
    je m'en sors en mettant en 1er un hidden avec une variable bidon mais bon j'aimerais comprendre.

    avez vous une idée ?

    Merci
    Corentin

  2. #2
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Salut

    Tu devrais pas pouvoir mixer des type="file" et d'autres types dans un même formulaire.
    Oui, je sais, certains sites le font (Gmail et le nouveau site d'upload de Free par exemple) mais ils s'y prennent autrement. Avec un formulaire simple, ce n'est pas possible (à moins que l'on m'ait caché quelque chose).
    Si tu dois absolument le faire, je pense qu'Ajax sera ton ami.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    je suis obligé de développer en php, et dans mon formulaire si je veux donner un titre à mon fichier et passer quelques paramètres, je suis bien obligé de faire comme cela.

  4. #4
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Citation Envoyé par Kirkis
    Tu devrais pas pouvoir mixer des type="file" et d'autres types dans un même formulaire.
    C'est faux, je le fais tous les jours.
    Tout dépends de la manière dont tu récupères tes données, montre-nous un peu de code ?

  5. #5
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Eh bien, j'ai peur que tu ne sois obligé de faire autrement pour cause de contrainte technique...
    Si personne ne sait comment tu pourrais faire, il te reste deux options : soit tu fais deux formulaires (c'est pénible pour l'utilisateur mais ça fonctionne), soit tu utilises Javax comme proposé ci-dessus.

  6. #6
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Mais non, mais non !

    Si dans action.php tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    	echo '<pre>' ;
    	print_r ( $_POST ) ;
    	print_r ( $_FILES ) ;
    	echo '</pre>' ;
    ?>
    Tu verras que toutes tes données sont transmises.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    ça ne va pas vous plaire mais je suis en register_global à On,
    donc je récupère mes variables sans $_POST ou $_GET ou $_FILES.

    ce qui est étrange c'est pourquoi le 1er élément de formulaire coince et pas les autres ?

    ça pourrait venir d'une config dans php.ini ?

  8. #8
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Par défaut
    Oh, je ne crois pas que cela t'empêche de faire ce que suggère l'ami macbook. As-tu essayé ? Qu'est-ce que cela donne ?

  9. #9
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Moi aussi je suis en register global = ON et je ne traite QUE les superglobales.

    Fais un essai quand même.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    ouais ça marche en passant par les variables globales,

    par contre j'aimerais bien comprendre pourquoi ça ne prend jamais le 1er element en variable normale, mystère.

  11. #11
    Membre expérimenté
    Inscrit en
    Septembre 2005
    Messages
    185
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 185
    Par défaut
    slt cbroissa,
    envoie nous ton code

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    ça va pas servire à grand chose,
    dans action.php,

    je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo $var1;
    echo $var2;
    et j'uploade le fichier aussi.

  13. #13
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Et ceci donne quoi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo $_POST['var1'] ;
    echo $_POST['var2'] ;
    :

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    ça marche bien, je l'ai dis, 2 messages plus haut.

  15. #15
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Donc c'est résolu ou pas ?

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 42
    Par défaut
    oui mais comme je le dis, je ne comprends pas pourquoi cela ne fonctionne pas en variable normale, pour le 1er element du formulaire, j'aurais bien aimé comprendre.

  17. #17
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    les mystères de l'informatique....
    j'ai souvent des erreurs impossibles a comprendre ...
    comme session_start() qui buge si je ne le met pas a la première ligne du code php, c'est a dire qu'a la 2eme ligne il m'affiche une erreur de 5 lignes...

  18. #18
    Membre émérite Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Par défaut
    Citation Envoyé par Gimmly
    lcomme session_start() qui buge si je ne le met pas a la première ligne du code php, c'est a dire qu'a la 2eme ligne il m'affiche une erreur de 5 lignes...
    Ca c'est pas un mystère, c'est un bizut. On est tous passé par là.

  19. #19
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 57
    Par défaut
    bah non, sur la doc il disent que session_start doit être aveant tout html, cependant moi je dois le mettre sur la première ligne du code php, je peux pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <? //voila une page...
    session_start(); ?>
    mais bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <? session_start(); // page chargée de faire blalba... ?>
    bon c'est assez étonnant comme erreur j'ai quand même mis une semaine a comprendre

  20. #20
    Membre chevronné Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Par défaut
    le session_start() tu le mets au tout début de ton document, cherche pas à comprendre, c'est comme ça.

    ça ne devrait géner en rien le fonctionnement de ton appli que de le faire de la sorte. donc fais tout commeon te dit dans les manuels ^^

Discussions similaires

  1. [Upload] $_POST d'un input type=hidden
    Par polothentik dans le forum Langage
    Réponses: 16
    Dernier message: 05/05/2008, 15h56
  2. [Upload] Type MIME de fichiers à uploader
    Par franculo_caoulene dans le forum Langage
    Réponses: 6
    Dernier message: 27/10/2005, 09h49
  3. <input type="password" & type="hidden&
    Par Thierry8 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 21/08/2005, 13h38
  4. créer un type hidden dans une fonction javascript
    Par amelhog dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/05/2005, 12h17
  5. [input type hidden] devient nul
    Par Nadine dans le forum ASP
    Réponses: 17
    Dernier message: 25/04/2005, 20h26

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