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 :

Formulaire et checkbox


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
    Mars 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 31
    Par défaut Formulaire et checkbox
    Bonjour

    J'ai créé un formulaire avec option checkbox avec plusieurs cases a cochées (jours), le problème est le code coté PHP comment récupérer les checkbox selectionnés, voici les codes, merci d'avance...

    CODE PHP je pense que le probleme vient de là
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
     
    // Envoi du message sur ma boite mail
     
        $email = $_POST['peremail'];
        $name = $_POST['name'];
     
        $subject="Préinscription depuis le site";
        $mailDestinataire="info@********.fr";
     
    	$from = "From: ".$peremail." \nMime-Version:\n"; 
    	$header= $subject;
     
    	$messageMail = "
               <strong> Préinscription  envoyée depuis le site:</strong><br><br>
                Information sur l'enfant<br>
                Nom :   <strong> ".$_POST['enfantnom']."</strong><br>
                Prénom :   <strong> ".$_POST['enfantprenom']."</strong><br>
                Date de naissance ou du terme :  <strong> ".$_POST['enfantnaissance']."</strong><br>
    			Date entrée en crèche :  <strong> ".$_POST['dateentree']."</strong><br>
                Mode de garde :  <strong>".Stripslashes($_POST['modedegarde'])."</strong><br>
    			 Mode de garde :  <strong>".Checkbox($_Tab[]['jours'])."</strong><br>
    
    
    
                Information sur le père<br>
                Nom :   <strong> ".$_POST['perenom']."</strong><br>
                Prénom :   <strong> ".$_POST['pereprenom']."</strong><br>
                Profession :  <strong> ".$_POST['pereprofession']."</strong><br>
    			Employeur :  <strong> ".$_POST['pereemployeur']."</strong><br>
                Téléphone :  <strong> ".$_POST['peretelephone']."</strong><br>
    			Mail :  <strong> ".$_POST['peremail']."</strong><br><br>
    			
    			Information sur la mère<br>
                Nom :   <strong> ".$_POST['merenom']."</strong><br>
                Prénom :   <strong> ".$_POST['mereprenom']."</strong><br>
                Profession :  <strong> ".$_POST['mereprofession']."</strong><br>
    			Employeur :  <strong> ".$_POST['mereemployeur']."</strong><br>
                Téléphone :  <strong> ".$_POST['meretelephone']."</strong><br>
    			Mail :  <strong> ".$_POST['meremail']."</strong><br><br>
    			
    			Coordonnées de la famille<br>
                Adresse :   <strong> ".$_POST['adresse']."</strong><br>
                CP et ville :   <strong> ".$_POST['ville']."</strong><br>
                ";
     
    	mail($mailDestinataire, $subject, $messageMail, $from);
     
    ?>


    CODE HTML
    Code html : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    <form class="nobottommargin" id="template-contactform" name="template-contactform" action="reservation/preinscription.php" method="post">
        <h3>Information sur  <span>l'enfant</span></h3>
        <div class="col_one_third nobottommargin">
            <label for="enfantnom">Nom <small>*</small></label>
            <input type="text" id="enfantnom" name="enfantnom" value="" class="required input-block-level" />
        </div>
        <div class="col_one_third nobottommargin">
            <label for="enfantprenom">Prénom <small>*</small></label>
            <input type="text" id="enfantprenom" name="enfantprenom" value="" class="required input-block-level" />
        </div>
        <div class="col_one_third nobottommargin col_last">
            <label for="modedegarde">Mode de garde</label>
            <select id="modedegarde" name="modedegarde" class="input-block-level">
                <option value="">-- Sélectionnez --</option>
                <option value="Temps plein">Temps plein</option>
                <option value="Temps partiel">Temps partiel</option>
                <option value="A déterminer">A déterminer</option>
            </select>
        </div>
        <div class="clear"></div>
        <div class="col_half nobottommargin">
            <label for="enfantnaissance">Date de naissance ou du terme <small>*</small></label>
            <input type="text" id="enfantnaissance" name="enfantnaissance" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="dateentree">Date entrée en crèche</label>
            <input type="text" id="dateentree" name="dateentree" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>
        <label>Plannings</label>
        <div>
    <input type="checkbox" name="jours" value="lundi"/> lundi
    <input type="checkbox" name="jours" value="mardi"/> mardi
    <input type="checkbox" name="jours" value="mercredi"/> mercredi
    <input type="checkbox" name="jours" value="jeudi"/> jeudi
    <input type="checkbox" name="jours" value="vendredi"/> vendredi
        </div>
        <div class="clear"></div> <br>
        <h3>Information sur  <span>le père</span></h3>
        <div class="col_half nobottommargin">
            <label for="perenom">Nom <small>*</small></label>
            <input type="text" id="perenom" name="perenom" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="pereprenom">Prénom</label>
            <input type="text" id="pereprenom" name="pereprenom" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>   
        <div class="col_half nobottommargin">
            <label for="pereprofession">Profession <small>*</small></label>
            <input type="text" id="pereprofession" name="pereprofession" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="pereemployeur">Employeur</label>
            <input type="text" id="pereemployeur" name="pereemployeur" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>           
        <div class="col_half nobottommargin">
            <label for="peretelephone">Téléphone <small>*</small></label>
            <input type="text" id="peretelephone" name="peretelephone" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="peremail">Email</label>
            <input type="text" id="peremail" name="peremail" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>     
        <h3>Information sur  <span>la mère</span></h3>
        <div class="col_half nobottommargin">
            <label for="merenom">Nom <small>*</small></label>
            <input type="text" id="merenom" name="merenom" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="mereprenom">Prénom</label>
            <input type="text" id="mereprenom" name="mereprenom" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>   
        <div class="col_half nobottommargin">
            <label for="mereprofession">Profession <small>*</small></label>
            <input type="text" id="mereprofession" name="mereprofession" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="mereemployeur">Employeur</label>
            <input type="text" id="mereemployeur" name="mereemployeur" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>           
        <div class="col_half nobottommargin">
            <label for="meretelephone">Téléphone <small>*</small></label>
            <input type="text" id="meretelephone" name="meretelephone" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="mereemail">Email</label>
            <input type="text" id="meremail" name="meremail" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>     
        <h3>Adresse <span>de la famille</span></h3>
        <div class="col_half nobottommargin">
            <label for="adresse">Adresse <small>*</small></label>
            <input type="text" id="adresse" name="adresse" value="" class="required input-block-level" />
        </div>
        <div class="col_half nobottommargin col_last">
            <label for="ville">CP et Ville</label>
            <input type="text" id="ville" name="ville" value="" class="input-block-level" />
        </div>
        <div class="clear"></div>  
        <div class="col_full nobottommargin hidden">
            <input type="text" id="template-contactform-botcheck" name="template-contactform-botcheck" value="" class="input-block-level" />
        </div>
        <div class="col_full nobottommargin">
            <button class="simple-button nomargin" type="submit" id="template-contactform-submit" name="template-contactform-submit" value="submit">Préinscription</button>
        </div>
    </form>

  2. #2
    Membre extrêmement actif
    Avatar de Muchos
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 704
    Billets dans le blog
    6
    Par défaut
    CODE PHP je pense que le probleme vient de là
    Et vous avez posté votre message sur le forum PHP?

  3. #3
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Bonjour,
    de mémoire, essaye de mettre un crochet dans le nom de ta checkbox

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <input type="checkbox" name="jours[]" value="lundi"/> lundi
    <input type="checkbox" name="jours[]" value="mardi"/> mardi
    <input type="checkbox" name="jours[]" value="mercredi"/> mercredi
    <input type="checkbox" name="jours[]" value="jeudi"/> jeudi
    <input type="checkbox" name="jours[]" value="vendredi"/> vendredi


    A la soumission, ton $_post['jours'] devrait être un tableau contenant la liste des cases cochées, soit par exemple lundi, jeudi, vendredi.

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 333
    Par défaut
    Oui c'est un bon début,
    mais le code php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Checkbox($_Tab[]['jours'])
    vient de l'espace ?

    a la rigueur un print_r() si le mail n'est pas pour le visiteur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'Jours de garde: '.print_r($_POST['jours'],true)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 31
    Par défaut erreur
    Bonjour merci a tous


    Bebel pourrais tu me montrer car je ne capte pas LOL désolé


    Papajoker j'ai essayé ta solution mais dreamweaver me marque "une erreure de synthaxe"

    Encore merci de votre contribution

    Steeve

  6. #6
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Dans ton code html à la ligne 32, tu rajoutes les [] dans le nom de tes checkbox.

    pour un test, j'ai repris ton fichier html et dans ma page php, j'ai simplement mis ce code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
     
         echo '<pre>';
         var_dump($_POST);
     
    ?>

    le résultat est le suivant :
    array (size=22)
    'enfantnom' => string '' (length=0)
    'enfantprenom' => string '' (length=0)
    'modedegarde' => string '' (length=0)
    'enfantnaissance' => string '' (length=0)
    'dateentree' => string '' (length=0)
    'jours' =>
    array (size=2)
    0 => string 'mardi' (length=5)
    1 => string 'jeudi' (length=5)
    'perenom' => string '' (length=0)
    'pereprenom' => string '' (length=0)
    'pereprofession' => string '' (length=0)
    'pereemployeur' => string '' (length=0)
    'peretelephone' => string '' (length=0)
    'peremail' => string '' (length=0)
    'merenom' => string '' (length=0)
    'mereprenom' => string '' (length=0)
    'mereprofession' => string '' (length=0)
    'mereemployeur' => string '' (length=0)
    'meretelephone' => string '' (length=0)
    'meremail' => string '' (length=0)
    'adresse' => string '' (length=0)
    'ville' => string '' (length=0)
    'template-contactform-botcheck' => string '' (length=0)
    'template-contactform-submit' => string 'submit' (length=6)
    D'un côté, on récupère bien la liste des cases à cocher sélectionnées.
    Et la facon dont tu récupère ta valeur qui pose problème :

    Checkbox($_Tab[]['jours']) comme le disait papajoker.
    Pour l'afficher simplement dans un mail, tu peux aussi faire un implode sur ta table de post['jours'].

Discussions similaires

  1. formulaire et checkbox
    Par whaau dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2006, 21h02
  2. Trier données dans formulaire par checkbox
    Par Sofie109 dans le forum Access
    Réponses: 9
    Dernier message: 27/07/2006, 09h56
  3. Timeout sur POST formulaire avec checkbox
    Par shyangel dans le forum Langage
    Réponses: 16
    Dernier message: 11/05/2006, 13h59
  4. formulaire multicritère - checkbox
    Par Nabouille dans le forum Access
    Réponses: 1
    Dernier message: 12/04/2006, 12h51
  5. Pb validation formulaire avec checkbox
    Par wolfe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2005, 09h50

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