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 :

Garder la valeur d'un champ d'upload


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut Garder la valeur d'un champ d'upload
    Bonjour,

    Je créé un site internet en php / xhtml et j'ai un petit souci de formulaire.

    lorsque l'utilisateur saisie certaines données dans mon formulaire, je test la validité de ses données. AU cas ou elles ne seraient pas bonne, grâce à la variable $_POST je ré affiche ce qu'il à saisie. seulement, cela ne marche pas avec les champs input de type file. voila un bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    [...]
    <?php 
       $fichier = $_POST['fichier'];
     
    ?>
    [...]
                    <p>
                        <span class="label" >nom du champ</span>
                        <span class="erreur"><?php echo $message_erreur_du_champ;?></span>
                        <input type="hidden" name="taille_max_fichier" value="<?php echo $taille_max_fichier;?>">
                           <input type="file" name="fichier" value="<?php echo $fichier ?>"/>
                    </p>
    [...]
    Mon souci est assez embêtant parce que l'utilisateur devra a chaque fois rechoisir son fichier, et si il est rangé dans un dossier, qui est dans un dossier qui est dans un dossier etc... il va très vite se lasser et abandonner.

    Comment puis-je éviter cela ?

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Sur tous les navigateurs serieux, on ne peut pas forcer la valeur du fichier.
    Tu peux par contre prendre quand meme en compte le traitement du fichier meme si d'autres paramètres sont mal remplis, tu affiches alors le nom du fichier a la place du champ par exemple pour qu'il n'y ait pas de confusion.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    Dans la façon actuelle dont sont conçues mes pages, je test la validité du fichier une fois que tous les autres champs ont été validé. Donc si je comprends bien il faudrait que je test d'abord la validité du fichier, puis, que je teste le reste. Ainsi une fois que le fichier serait valide, j'enlèverai le champs input et metrait un simple texte indiquant le nom du fichier, puis l'utilisateur saisierait ensuite ses données. Mais cela n'est pas très pratique à mon sens. SI jamais l'utilisateur veut changer le fichier finalement, il va falloir rajouter un bouton pour faire réapparaitre le champs imput, etc etc.. cela fait au final beacoup de travail...

    ( mon problème est situé sur un grand nombre de pages de mon site, c'est une amélioration que j'aimerai apporter )

    Je précise aussi que je n'ai pas droit à l'utilisation de javascript.

    Y a t-il un moyen plus simple ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    SI jamais l'utilisateur veut changer le fichier finalement
    Dans ton systeme actuellement il fait comment s'il veut changer le fichier ?

    puis l'utilisateur saisierait ensuite ses données.
    Non l'ordre de saisie n'a pas besoin d'être changé.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    En fait je me suis mal expliqué.
    Pour vérifier la validité des données saisies dans le formulaire, 'utilise deux fonctions.

    La première test si les valeurs saisies sont valides
    La seconde vérifie certains points du fichier avant de faire rééllement l'upload.
    Tant que les valeurs saisies ne sont pas valides, je ne teste pas les valeurs du fichier

    Utilisant PHP 4 et non PHP 5 malheureusement, je ne peut pas utiliser les exceptions. J'ai donc concu mon propre systeme de validation :

    Algo :

    Début
    [...]
    | if (Test_champs_saisis()==true)
    | | if (test_fichier()==true)
    | | | suite du traitement
    | | endif
    | endif
    [...]
    fin


    Voila pourquoi, le fait que je ne garde pas la valeur du file upload pose problème.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    On en revient a ce que je disais au début : il faut que le fichier soit accepté meme si les champs ne sont pas bien remplis.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    Désolé Sabotage, je n'ai plus besoin de cela. Je te remercie néanmoins pour l'aide que tu as bien voulu m'apporter, et encore désolé.

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/05/2009, 14h09
  2. [AJAX] Garder les valeurs des champ d'un formulaire en mémoire
    Par joss91 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/04/2008, 10h56
  3. garder les valeurs d'un champs texte après ajout d'autres
    Par ke2007 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/09/2007, 10h28
  4. Garder en memoire la valeur d'un champ
    Par Akim13 dans le forum Langage
    Réponses: 3
    Dernier message: 18/07/2007, 15h05
  5. garder les valeurs de champs de type input
    Par 18Marie dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 04/08/2006, 01h42

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