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 :

Contrôle des champs de mon formulaire


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut Contrôle des champs de mon formulaire
    bonjour ,
    je travaille sur le formulaire commande actuellement je fais le controle des saisies .
    problémes rencontrés le test des champs s'exécute automatique avant méme que je clique sur le bouton valider
    ça s'explique du fait que lorsque je choisis une categorie de produit la page est rechargées (correspondant ainsi au bouton valider)
    pour afficher automatiquementles produits présent dans la base ceci provoque le test des champs du formulaire
    quelle est la solution pour rémédier à ça ?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 44
    Points
    44
    Par défaut
    Tu peux ajouter un champ caché contenant la valeur originelle de ta catégorie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $categorie_prec = /* l'id de la catégorie précédente ou un code de ton choix (ex : -1) si aucun catégorie n'avait encore été choisie */
    ?>
    <input type="hidden" name="categorie_prec" value="<?=$categorie_prec?>">
    Ensuite, lors de l'analyse de ton formulaire, tu testes la valeur de ce champ :
    • s'il vaut -1 (par exemple), c'est que l'utilisateur choisit la catégorie pour la première fois : il ne faut pas valider les champs
    • s'il a une valeur différente de l'id de la catégorie postée, c'est que l'utilisateur a changé de catégorie : il ne faut pas valider les champs
    • s'il est égal à l'id de la catégorie postée, alors c'est que l'utilisateur a posté une seconde fois le formulaire sans changer la catégorie : il faut valider les champs

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut
    merci de votre réponse mais j'ai pas bien saisi ce que vous dites
    moi catégorie est un liste deroulante si on choisit une catégorie elle rafraichit la deuxiéme liste qui contient les produits correspondants à cette catégorie
    c'est cette rafraichissement qui entraine automatiquement l'exécution des tests des champs du formulaire .

    merci de m'expliquer clairement

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 44
    Points
    44
    Par défaut
    J'avais bien compris ta situation. Ton formulaire est donc soumis plusieurs fois : à chaque fois qu'on change la valeur de la liste des catégories et quand on valide le formulaire lui-même. Le contenu de mon post précédent devrait t'aider à distinguer dans quel cas tu te situes : envoi du formulaire à cause de la liste ou envoi du formulaire via le bouton valider. Avec ce champ supplémentaire, tu dois pouvoir poser des conditions et selon ces conditions, exécuter soit le code pour valider les champs, soit le code pour rafraîchir la liste des produits.
    Si vraiment tu n'y arrives pas, poste-nous ton code (entre balises [code]) et on verra ce qu'on peut faire pour toi.

  5. #5
    Futur Membre du Club
    Inscrit en
    Juin 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 16
    Points : 6
    Points
    6
    Par défaut probleme d'affichage des choix de l'utilisateur
    merci pour ta réponse j'ai bien compris votre méthode et je la trouve trés ingenieuse .j'ai aussi une autre methode en testant le bouton valider et ça marche bien maintenant
    le petit probléme c'est qu' en rechargeant la page les choix antérieurs sont perdus alors que je voudrais que ça s'affiche les choix de l'utilisateur jusqu'a ce qu'il clique sur le bouton valider

    merci pour Tout

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Points : 44
    Points
    44
    Par défaut
    (Désolé pour le délai de réponse.)


    Lorsqu'on recharge une page avec un formulaire fraîchement posté, les navigateurs demandent à l'utilisateur s'il veut renvoyer les données POST. En général, il répond oui et dans ce cas tu peux récupérer les valeurs POST classiquement, dans $_POST.
    Je pense que la seule chose qui te manque c'est de configurer tes champs pour qu'ils raffichent ces données.
    Prenons l'exemple d'un champ de texte qui peut rafficher sa valeur après avoir été posté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <form method="post" action=<?=$_SERVER['PHP_SELF']?>>
            <input type="text" name="mon_champ" value="<?=@$_POST['mon_champ']?>">
            <input type="submit" name="submit" value="Valider">
        </form>
    Variante : la même chose avec une valeur par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <form method="post" action=<?=$_SERVER['PHP_SELF']?>>
            <input type="text" name="mon_champ" value="<?=isset($_POST['mon_champ']) ? $_POST['mon_champ'] : 'valeur par defaut'?>">
            <input type="submit" name="submit" value="Valider">
        </form>
    Dernier exemple : avec une liste déroulante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
        <form method="post" action=<?=$_SERVER['PHP_SELF']?>>
            <select name="liste">
    <?php
        foreach($propositions as $proposition) {
            $option_selectionnee = (isset($_POST['list']) && $_POST['list'] == $proposition['valeur']);
            echo '<option value="'.$proposition['valeur'].'"';
            if ($option_selectionnee) echo ' selected';
            echo '>'.$proposition['texte'].'</option>';
        }
    ?>
            </select>
            <input type="submit" name="submit" value="Valider">
        </form>

Discussions similaires

  1. contrôles des champs saisis dans un formulaire
    Par barouz dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 06/12/2013, 13h55
  2. [1.x] des champs de mon formulaire n'aparaissent pas
    Par azertyqwerty007 dans le forum Symfony
    Réponses: 1
    Dernier message: 06/10/2011, 12h02
  3. Réponses: 1
    Dernier message: 22/06/2011, 10h03
  4. Contrôle des champs d'un formulaire
    Par nechi.zakaria dans le forum Langage
    Réponses: 5
    Dernier message: 30/06/2008, 14h23
  5. Verification des champs d'un formulaire
    Par 164emie dans le forum ASP
    Réponses: 5
    Dernier message: 19/11/2003, 14h03

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