Votre question

Undefined index à tous les coups

Tags :
  • Easyphp
  • Programmation
Dernière réponse : dans Programmation
16 Mai 2011 07:07:46

Bonjour,


J'essaie de faire un simple formulaire type checkbox, mais ça n'a pas l'air de fonctionner. Il me renvoit à chaque fois "undefined index:"


Par exemple si je clic sur la première réponse - Haggis , il me renvoit bien haggis mais avec des erreurs undefined index pour les deux autres en dessous. J'ai essayer avec un isset, mais rien à faire.


  1. Haggis
  2.  
  3. Notice: Undefined index: Choice2 in C:\Program Files\EasyPHP-5.3.6.0\www\checkboxes.php on line 6
  4.  
  5.  
  6. Notice: Undefined index: Choice3 in C:\Program Files\EasyPHP-5.3.6.0\www\checkboxes.php on line 7







J'utilise easyphp en local host.


Avez vous une idée pourquoi ça ne marche pas?



  1. <html>
  2. <head><title></title></head>
  3. <body>
  4. <form method="POST" action=" checkboxes.php">
  5. Have you ever eaten haggis before?
  6. <input name="Choice1" type="checkbox" value="Haggis">
  7. <br>
  8. Have you ever eaten snails before?
  9. <input name="Choice2" type="checkbox" value="Snails">
  10. <br>
  11. Have you ever eaten locusts before?
  12. <input name= "Choice3" type="checkbox" value="Locusts">
  13. <br>
  14. <br>
  15. <input type="submit" value=" Submit">
  16. </form>
  17. </body>
  18. </html>





  1. <html>
  2. <head><title></title></head>
  3. <body>
  4. <?php
  5. echo "$_POST[Choice1]<br>";
  6. echo "$_POST[Choice2]<br>";
  7. echo "$_POST[Choice3]<br>";
  8. ?>
  9. </body>
  10. </html>









Autres pages sur : undefined index coups

16 Mai 2011 09:28:03

Il ne faut pas faire $_POST['Choice1'] plutôt que $_POST[Choice1] ?
m
0
l
a c 145 L Programmation
16 Mai 2011 11:42:50

Règle de base: les checkboxes ne sont envoyées que si elles sont cochées.
Donc, pour récupérer la valeur d'une checkbox sans warning, il faut faire:
  1. if (isset($_POST['Choice1'])) { ... }

Ou pour ressembler à ton code:
  1. <html>
  2. <head><title></title></head>
  3. <body>
  4. <?php
  5. echo (isset($_POST['Choice1']) ? $_POST['Choice1'] : ''), '<br />';
  6. echo (isset($_POST['Choice2']) ? $_POST['Choice2'] : ''), '<br />';
  7. echo (isset($_POST['Choice3']) ? $_POST['Choice3'] : ''), '<br />';
  8. ?>
  9. </body>
  10. </html>
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS