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 :

Utilisation de cases à cocher


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Utilisation de cases à cocher
    Bonjour,

    j'ai un soucis avec les checkbox de mon formulaire:
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="inscription_multiples" value="ON">2 - <i>Inscriptions Multiples</i> : <font size="2">Message</font>

    Mon code php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    // Vérification checkbox 2 - Inscriptions Multiples
    if (isset($_POST['inscription_multiples']))
    {
    /*   echo('checkbox coché'); */
    	$inscription_multiples = "Je souhaite bénéficier des inscriptions multiples";
    }
    else
    {
    /*   echo('checkbox non-coché'); */
    	$inscription_multiples = "Je ne souhaite pas bénéficier des inscriptions multiples";
    }
    Mon problème, c'est lorsque que ma checkbox est coché mon formulaire me renvoie "ON" au lieu de me renvoyer "Je souhaite bénéficier des inscriptions multiples"

    Pouvez-vous me dire ou se trouve mon erreur?

    J'espère avoir été clair,

    merci pour votre aide

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Dans ton formulaire ton VALUE est à ON donc c'est normal que ton formulaire te renvoie ON...

    Tu veux peut-être parler du contenu de ta variable $inscription_multiples dans ta page de traitement peut-être ?

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Meme lorsque que j'enleve value="ON" le contenu de ma variable est $inscription_multiples on

  4. #4
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Je pense que tu trompe sur un point : isset te renvoit vrai si ta variable a une valeur (quelque soit la valeur).

    Avant le isset fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_POST['inscription_multiples']);
    et dis nous ce que ça te renvoit.

    Ton code devrait plutôt être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_POST['inscription_multiples'])) $inscription_multiples=$_POST['inscription_multiples'];
     
    if ($inscription_multiples) echo 'Je souhaite bénéficier des inscriptions multiples';
    else echo 'Je ne souhaite pas bénéficier des inscriptions multiples';

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Seules les checkbox cochées sont transmises à la soumission du formulaire, qu'il y ait une valeur ou pas.
    Donc, c'est 'isset()' ou '! isset()'.

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2005
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut

    Je pense que tu trompe sur un point : isset te renvoit vrai si ta variable a une valeur (quelque soit la valeur).

    Avant le isset fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($_POST['inscription_multiples']);
    et dis nous ce que ça te renvoit.
    ca me renvoit [EDIT] RESOLU

    Goulmak, en mp, m'a proposé de rajouter le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // On test si la variable a été définie et aussi que ça valeur est correcte (pas forcement utile ça)
    if( isset($_POST['inscription_multiples']) && $_POST['inscription_multiples'] == 'on' )
         $msg = 'Je souhaite...';
    else
         $msg = 'Je ne souhaite pas...';
     
    // Ajout de l'option de souscription au mail par une concaténation de chaine de caractère.
    $le_contenu_du_mail .= $msg;
    Tout est rentré dans l'ordre.

    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Utilisation de cases à cocher
    Par blue-fab dans le forum Langage
    Réponses: 5
    Dernier message: 27/06/2007, 13h10
  2. Utilisation de case à cocher avec VB6 dans Datagrid
    Par seyiv dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/05/2007, 16h11
  3. Utilisation des cases à cocher et "switch case"
    Par jarod71 dans le forum Langage
    Réponses: 4
    Dernier message: 21/01/2007, 15h37
  4. [Tableaux] Utiliser en case à cocher en PHP
    Par innova dans le forum Langage
    Réponses: 18
    Dernier message: 17/01/2007, 16h38
  5. Réponses: 24
    Dernier message: 24/11/2005, 11h28

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