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 :

comment controler tous les champs de mon formulaire ?


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 3
    Points
    3
    Par défaut comment controler tous les champs de mon formulaire ?
    voilà mon problème, j'ai un formulaire php d'inscription en ligne sur lequel j'ai la possibilité de rajouter des champs supplémentaires en fonction du nombre de personnes à inscrire, j'arrive à controler l'envoi quand l'utilisateur ne remplit pas les 2 champs principaux "nom et prénom". Mais comment faire pour que les champs supplémentaires ( nom et prenom) qui porte donc le même nom soit également controlés. Car je me retouve avec des lignes vides dans ma table.

    par avance merci a ceux qui veulent bien m'aider à comprendre .



    la partie du code qui sert à generer des champs supplémentaires.

    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
    23
    24
    <td height="42" colspan="5" align="center" style="vertical-align: center;"><span style="vertical-align: top;">
    Nom*  <input name="nom[]" type="text" size="30" maxlength="30">  Prénom    <input name="prenom[]" type="text" size="30" maxlength="30">
    <br>
    <br>
    <br>
      <input value="Autre(s) participant(s)" onClick="Ajouter()"
     type="button">
    <p><br>
    </p>
    <div id="saisies">
    <script> var nlignes = 1; 
     
     
    function Ajouter() 
     
    { nlignes++;
     if (nlignes <=  <?php echo $nb_de_places_restantes; ?>) { 
     
    saisies.insertAdjacentHTML('BeforeEnd','<BR>Nom*/prénom <input type=text size=20 name=nom[]> <input type=text name=prenom[]>'); 
     
    } }; 
     
     
    </script>

  2. #2
    Membre averti Avatar de hariman
    Homme Profil pro
    Développeur Java, Android
    Inscrit en
    Janvier 2008
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Développeur Java, Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 200
    Points : 413
    Points
    413
    Par défaut
    Bonjour,

    Les noms de tes champs sont identiques !

    As-tu fais exprès d'omettre l'indexe dans nom[] ? Qui doit être, je croix, nom[nlignes] ?
    Les boutons et adorent être cliqués, donc ne les oubliez pas

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Il faut itérer sur la totalité des tableaux noms et prénom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($_POST['nom'] as $nom)
        if(empty($nom) {
            erreurFormulaireMalRempli();
            break;
        }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par grunk Voir le message
    Il faut itérer sur la totalité des tableaux noms et prénom :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach($_POST['nom'] as $nom)
        if(empty($nom) {
            erreurFormulaireMalRempli();
            break;
        }


    merci pour ta réponse, je viens d'essayer et ça fonctionne, mais comment faire pour que le message d'erreur apparaisse sur la page du formulaire ?

    encore merci pour ton aide .

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 230
    Points
    20 230
    Par défaut
    Ca dépend de comment est fait ton script. mais généralement on redirige vers la page de formulaire avec un argument.
    Du genre header('Location: formulaire.php?erreur=nomerreur');Un peu de recherche google devrais te permettre de conserver les données saisie même après redirection
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Comment verifier les champs de mon formulaire
    Par pracede2005 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 17/04/2007, 08h26
  2. recuperer le nom de tous les champs d'un formulaire
    Par phoenix1998 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/05/2006, 11h39
  3. Réponses: 7
    Dernier message: 17/05/2006, 09h09
  4. Obtenir tous les champs d'un formulaire
    Par killprog dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/03/2006, 13h15
  5. Réponses: 4
    Dernier message: 16/08/2003, 13h21

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