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 case à cocher


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut Formulaire case à cocher
    Bonjour,

    Je débute et suite à un premier teste j’ai un message d’erreur que j’aimerai ne pas voir apparaître. "Notice: Undefined index: coche1 in C:\Program Files\Apache Group\Apache2\htdocs\index.php on line 23"

    Voici mon 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
    15
    16
    17
    18
    19
    20
    21
    22
     
    <table width="662" height="109" border="0" cellpadding="0" cellspacing="0" id="cadre">
      <tr>
        <td width="186"><form id="form1" name="form1" method="post" action="">
          <label>
          <input type="checkbox" name="coche1" value="1" />
          Choix1 </label><br />
            <label>
            <input type="submit" name="Submit" value="Submit" />
            </label>
        </form>
        </td>
        <td width="199">&nbsp;</td>
        <td width="277">
     <?php 
      $a = $_POST['coche1'];
      if( $a === "1")
       echo $a;
     
     ?>&nbsp;</td>
      </tr>
    </table>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,

    dans php.ini, change la valeur de la variable error_reporting.

    Mets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting  =  E_ALL & ~E_NOTICE

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 551
    Points : 260
    Points
    260
    Par défaut
    essaye d'ajouter cela dans ton fichier php.ini

    error_reporting E_ALL & ~E_NOTICE

    et sinon localement dans le script avec

    error_reporting(E_ALL ^ E_NOTICE);

  4. #4
    Invité
    Invité(e)
    Par défaut
    Plusieurs truc dans ton code :
    1. dans ton formulaire le action n'a aucune valeur
    si tu veux quil revienne sur la meme page met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="<?php $_SERVER["PHP_SELF"] ?>"
    2. c'est normal que ton cohe1 fasse cette erreur
    car tu fais
    sans verifier l'existence de coche1,
    dés que j'arrive la 1iere fois sur la page le post n'est pas fait

    Voila ce que moi je ferais (sans me reservir de $a) sinon tu initialise un $a à 0 au début de ta page puis tu affecte le post à $a et tu fais un echo de $a
    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
     
    <table width="662" height="109" border="0" cellpadding="0" cellspacing="0" id="cadre">
      <tr>
        <td width="186">
        <form id="form1" name="form1" method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
          <label>
          <input type="checkbox" name="coche1" value="1" />
            Choix1 
          </label><br />
          <label>
            <input type="submit" name="Submit" value="Submit" />
          </label>
        </form>
        </td>
        <td width="199">&nbsp;</td>
        <td width="277">
        <?php 
        if(isset($_POST['coche1']) && $_POST['coche1']==1)
        {
        echo $_POST['coche1'];
        }
        ?>
      &nbsp;
      </td>
      </tr>
    </table>

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    @billoum, nath-0-0 => Buzzzz. Mauvaises réponses !

    Enfin si... mais non !
    Oui les réponses sont justes, mais non il ne faut pas faire ça.

    Les warnings et autres notices ne sont pas là pour faire jolis. En règle général ils montrent qu'il y a un problème dans le code. Problèmes mineurs peut-être mais qui peuvent tout à fait devenir sérieux au fil du temps...

    Ce n'est pas en cachant la poussière sous le tapis qu'on fait le ménage

    Donc, en mode développement, on affiche tout : error_reporting(E_ALL)
    Pour ne pas avoir les notices => on teste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST['coche1'])) {
       //coche1 a été coché
    } else {
       //coche1 n'a pas été coché
    }

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Juste... et en plus j'avoue que je n'avais pas même pas regardé le contenu de l'erreur .

    De mon coté, j'avais dû enlever les notices pour une application mais dans ce cas là c'était nécessaire à son fonctionnement. J'ai donc répondu à la question "j’ai un message d’erreur que j’aimerai ne pas voir apparaître", sans réfléchir plus loin ...

    Mea culpa

  7. #7
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 196
    Points : 165
    Points
    165
    Par défaut $thk
    Ok merci à vous. J’ai bien compris le cheminement de l’erreur, et les actions à entreprendre.

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

Discussions similaires

  1. [Formulaire] Case à cocher
    Par cellahugo dans le forum IHM
    Réponses: 2
    Dernier message: 16/04/2007, 22h46
  2. Réponses: 3
    Dernier message: 09/08/2006, 08h25
  3. Formulaire case à cocher
    Par regis94 dans le forum Access
    Réponses: 21
    Dernier message: 03/08/2006, 12h43
  4. Probleme source formulaire case à cocher
    Par regis94 dans le forum Access
    Réponses: 1
    Dernier message: 02/08/2006, 20h20
  5. [formulaire] Case à cocher et disabled
    Par wolflinger dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 17/05/2006, 10h59

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