cache à cocher vide renvoi Undefined index: Loisirs7

cache à cocher vide renvoi Undefined index: Loisirs7 - PHP - Programmation

Marsh Posté le 09-12-2004 à 22:20:38    

Bonjour à tous
 
Voila je suis un newbee en php j'ai une petit formulaire avec des case à cocher pour choisir les loisirs ex (sports, cinema....). Voici un bout de mon code sur une des cases à cocher

Code :
  1. <INPUT
  2.       name=Loisirs7 type=checkbox id="Loisirs7" value=Informatique>


 
Je ne comprend pas pourquoi mon script php me renvoi Undefined index: Loisirs7 car si la case n'est pas cocher pourquoi ne stocke t'il pas vide dans ma base sans mettre ce message d'erreur
 
Merci d'avance pour votre aide

Reply

Marsh Posté le 09-12-2004 à 22:20:38   

Reply

Marsh Posté le 09-12-2004 à 22:24:38    

tu lui demandes de te renvoyer une variable qui n'est pas défini.
 

Code :
  1. if(isset($_REQUEST['Loisirs7'])) $var=$_REQUEST['Loisirs7']; else $var="";
  2. echo $var


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 09-12-2004 à 23:20:58    

korben2003 a écrit :

Bonjour à tous
Je ne comprend pas pourquoi mon script php me renvoi Undefined index: Loisirs7 car si la case n'est pas cocher pourquoi ne stocke t'il pas vide dans ma base sans mettre ce message d'erreur
 
Merci d'avance pour votre aide


 
Une checkbox non cochée correspond à une variable non définie à la réception du formulaire et non à une variable "vide".
 
Ce qu'a dit simogeo donc.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 11-12-2004 à 15:32:12    

Bonjour à tous
 
Tout merci de vos réponses par contre je ne vois pas ou placer cette ligne (corriger par mes soins pour mon appli
 
if(isset($_POST['Loisirs7'])) $var=$_POST['Loisirs7']; else $var="";  
 
Voici un petit bout de mon code en espérant que vous pourrez m'aider
 

Code :
  1. <?
  2. $jourinscrip=$_POST['Jourinscrip'];
  3. $moisinscrip=$_POST['Moisinscrip'];
  4. $anneeinscrip=$_POST['Anneeinscrip'];
  5. $loisirs1=$_POST['Loisirs1'];
  6. $loisirs2=$_POST['Loisirs2'];
  7. $loisirs3=$_POST['Loisirs3'];
  8. $loisirs4=$_POST['Loisirs4'];
  9. $loisirs5=$_POST['Loisirs5'];
  10. $loisirs6=$_POST['Loisirs6'];
  11. $loisirs7=$_POST['Loisirs7'];
  12. $loisirs8=$_POST['Loisirs8'];
  13. $loisirs9=$_POST['Loisirs9'];
  14. $loisirs10=$_POST['Loisirs10'];
  15. $loisirs11=$_POST['Loisirs11'];
  16. $loisirs12=$_POST['Loisirs12'];
  17. /* connection a une base mysql en local */
  18. $connect = mysql_connect("localhost","root","" );
  19. /* selection de la base de donnée mysql */
  20. mysql_select_db("action", $connect);
  21. /* la requête. */
  22. mysql_query ("INSERT INTO personnes
  23. (Jourinscrip,
  24. Moisinscrip,
  25. Anneeinscrip,
  26. Loisirs1,
  27. Loisirs2,
  28. Loisirs3,
  29. Loisirs4,
  30. Loisirs5,
  31. Loisirs6,
  32. Loisirs7,
  33. Loisirs8,
  34. Loisirs9,
  35. Loisirs10,
  36. Loisirs11,
  37. Loisirs12)
  38. VALUES
  39. ('$jourinscrip',
  40. '$moisinscrip',
  41. '$anneeinscrip',
  42. '$loisirs1',
  43. '$loisirs2',
  44. '$loisirs3',
  45. '$loisirs4',
  46. '$loisirs5',
  47. '$loisirs6',
  48. '$loisirs7',
  49. '$loisirs8',
  50. '$loisirs9',
  51. '$loisirs10',
  52. '$loisirs11',
  53. '$loisirs12')", $connect);
  54. echo 'Les informations suivantes ont bien été ajoutée à la base';


Message édité par korben2003 le 11-12-2004 à 15:36:02
Reply

Marsh Posté le 11-12-2004 à 18:35:28    

Code :
  1. <?
  2. $jourinscrip=$_POST['Jourinscrip'];
  3. $moisinscrip=$_POST['Moisinscrip'];
  4. $anneeinscrip=$_POST['Anneeinscrip'];
  5. $loisirs1=(isset($_POST['Loisirs1']))? $_POST['Loisirs1'] : "";
  6. $loisirs2=(isset($_POST['Loisirs2']))? $_POST['Loisirs2'] : "";
  7. ...


cela permet de donner une valeur vide à $loisirs si la variable n'est pas défini. Mais franchement, tu devrais passer tes cases à cocher dans un tableau.....


Message édité par xelad le 11-12-2004 à 18:36:40
Reply

Marsh Posté le 11-12-2004 à 18:43:57    

Merci pour ta reponse peux tu me preciser ce que tu entend par un tableau

Reply

Marsh Posté le 11-12-2004 à 19:21:04    

Code :
  1. <input type=checkbox name=loisirs[] value=informatique>


comme ça tu recuperes un tableau $_POST['loisirs'][] avec toutes les cases qui sont cochées (attention je vais être méchant...) mais c'est pratique seulement si la base est vraiment bien faite : je pense que tu aurais peut-être dû faire trois tables (loisir, pratiquer, membre)...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed