Formulaire PHP

Bonjour à tous,

Voici un formulaire PHP (boutons radio) qui semble fonctionner mais qui retourne le message d'erreur suivant lorsqu'aucun choix n'est fait :
Notice: Undefined index: choix in c:\program files\easyphp1-7\www\monfichier.php on line x

Voici le formulaire en question :
<FORM action="thisfile.php" method="POST">
<font size="-2">

</p>
<br><INPUT type="radio" name="choix" value="choix1">Texte1
<br><INPUT type="radio" name="choix" value="choix2">Texte2
<br><INPUT type="radio" name="choix" value="choix3">Texte3
<br><INPUT type="radio" name="choix" value="choix4">Texte4
<br><input type="submit" value="Soumettre"/>

</font>

</FORM>

<?

if ($_POST["choix"] != "")

print $_POST["choix"];
else
echo "Aucun choix sélectionné";
?>

Quelqu'un peut-il m'aider à identifier ce qui cloche?

Merci à l'avance!
Catherine

5 réponses

  1. Salut,
    Moi, j'aurais modifié les derniere ligne comme suit:

    <? 
    
    if (isset($_POST["choix"])) {
    print $_POST["choix"]; 
    }
    else {
    echo "Aucun choix sélectionné"; 
    }
    ?> 

    A++ !

    Kalamit,
    Parle à ma culasse, mon carter est malade. :)
    0
    1. La référence que donne ScoobBee fait pas mal le tour de la question et l'utilisation de isset résout effectivement le problème.
      Merci à vous deux!
      Si je comprend bien c'est une particularité de la plus récente version de PHP? Pcq j'ai téléchargé des exemples de O'Reilly et j'obtiens également ce message "d'erreur".

      cath
      0
      1. Ben, disons que c'est plus propre comme ca... :) Mais, théoriquement, ca devrait fonctionner aussi. J'me pose jamais la question, j'utilise toujours isset( ).

        A+

        Kalamit,
        Parle à ma culasse, mon carter est malade. :)
        0
        1. Bonjour,

          Je suis débutant et je n'arrive pas a faire fonctionner mon formulaire newsletter. Pouvez vous me donner un coup de main sur ce problème de premier choix.

          Je ne reçois pas l' Email de confirmation

          Pouvez-vous adapter <?php……?> avec <form>……</form>

          Le lien de ma page: http://www.cijoint.fr/cjlink.php?file=cj200910/cijyw5NMrK.txt

          <head>

          <?php if($_POST['action'] == "formok")
          {
          $e_mail = $_POST['email'];
          if($e_mail == ""|| $e_mail == "e-mail")
          {
          $txt = " votre e-mail";
          }
          else
          {
          $destinataire= "bwba@hotmail.fr";
          $objet = "Demande d'inscription";
          $headers = "From: bwba@hotmail.fr \n\r";
          $headers.= "Content-Type: text/html; charset=utf-8";
          $headers .= "MIME-Version: 1.0 ";
          $msg = "Nous vous informons d'une demande d'inscription suivant : ". $e_mail ."";
          $msg = nl2br($msg);
          mail($destinataire, $objet, $msg, $headers);
          $msg2= "
          Nous avons bien pris en compte votre demande d'inscription ? la newsletter.
          Pour vous d?sinscrire, contactez nous

          ";
          mail($e_mail, $objet, $msg2, $headers);
          $txt = "Vous avez un message";
          }
          }
          ?>
          </head>

          <style type="text/css">
          body {
          font-family:Verdana, Arial, Helvetica, sans-serif;
          font-size:60%;
          margin:50px;
          color:#666666;}
          .fieldset {
          width:300px;
          border: 0px solid red;
          }
          .fieldset label {
          text-align:right;
          width:70px;
          float:left;
          padding:0.2em;
          margin:0;
          margin-top:0.3em;
          }
          .fieldset .nobr {display:none;} .fieldset .textfield {
          margin:3px;
          height:20px;
          width:200px;
          border:solid 1px #8caf10;
          background: transparent url("http://") no-repeat;
          }
          .fieldset .textarea {
          margin:3px;
          height:165px;
          width:200px;
          border:solid 0 #fff;
          }
          .submit {
          margin:3px;
          height:20px;
          border:solid 1px #8caf10;
          width:80px;
          font:1.1em Verdana, Arial, Helvetica, sans-serif;
          color:#000000;
          text-transform:uppercase;
          background: transparent url("http://") no-repeat;
          }
          }
          </style>

          <body>

          <form action="" method="post">
          <fieldset class="fieldset"><br>
          <span class="" style="direction: ltr; text-align: left;"><label
          for="email"></label></span> <br class="nobr">
          <input name="email" class="textfield" id="email"
          type="text"> <span class=""
          style="direction: ltr; text-align: left;"><br>
          <span class="" style="direction: ltr; text-align: left;">
          <br class="nobr">
          <br>
          <label for="submit"> </label><br
          class="nobr">
          <input name="submit" class="submit" id="submit"
          value="envoyer" type="submit"></span></span></fieldset>
          </form>

          </body>
          0