Nils Posté 1 Avril 2005 Posté 1 Avril 2005 Bonjour, avec le code suivant : <div id="corps_de_la_page"><form name="form_ajout_resa" action="user_proc_act_ajout-resa.php" method="post"> <p> <input type="text" name="baba" value="teste"> <input type="checkbox" name="clause" value="1"> </p><p align="center"><input type="submit" name="envoyer" value="Valider"></p></form></div> j'obients "index non défini" pour la checkbox "clause", alors que la zone de texte "baba" passe bien, dans le fichier appelé par le bouton submit. Quelqu'un aurait-il des idées à me soumettre ? Merci beaucoup. Nils.
MarvinLeRouge Posté 1 Avril 2005 Posté 1 Avril 2005 Tu obtiens ce message d'erreur en quoi faisant, en tulisant quel programme, quel valideur ? Qu'entends-tu par "passe bien" ? Sois plus précis
Nils Posté 1 Avril 2005 Auteur Posté 1 Avril 2005 dans le fichier user_proc_act_ajout-resa.php j'utilise des variables $_POST["..."] pour récupérer le contenu des champs, la variable $_POST["clause"] donne le message d'erreur "index indéfini", alors, que la variable $_POST["baba"] me retourne bien "teste". Est-ce que cela peut t'aider ? Merci. (par contre, je ne sais pas ce qu'est un valideur)
Nils Posté 1 Avril 2005 Auteur Posté 1 Avril 2005 je viens de découvrir autre chose : quand je positionne l'attribut "checked" dans mon input type="checkbox", la variable $_POST["clause"] existe, et quand j'enlève l'attribut "checked", j'obient le message d'erreur (index indéfini), est-ce normal ?, si oui, comment faut-il faire pour ne pas avoir d'erreur, même si la case n'est pas cochée ? Merci.
Nils Posté 1 Avril 2005 Auteur Posté 1 Avril 2005 et je viens de trouver encore autre chose sur la page : http://www.phpindex.com/trucsetastuces/tru...php3?element=90 => "La difficulté dans ce genre de cas est qu'une case non cochée n'est pas du tout envoyée a la validation du formulaire. " est-ce que ce mode de fonctionnement est juste ?, en tout cas il semble que oui, mais ça parait abérant de ne pas avoir la case non cochée envoyée. merci de me dire si cela est bien vrai. Nils.
Portekoi Posté 1 Avril 2005 Posté 1 Avril 2005 Bonjour, Au contraire, si la case n'est pas cochée, donc non activée ou non choisie par l'utilisateur, pourquoi veux tu la passer à ton fichier de traitement... Logique Sinon, tu peux utiliser ceci si tu veux : reset ($_POST);$cpt = 0;while (list ($key, $val) = each ($_POST)){ if (strpos("_".$key,"case")==0) { //Ton traitement pour les champs de type NON Checkbox } //Sinon si c'est un checkbox else if(strpos("_".$key,"case")>0) { //Ton traitement ici }} Et dans ton formulaire : <input type="checkbox" name="case_valeur1" value="1"> 1<br><input type="checkbox" name="case_valeur2" value="1"> 2<br> J'ai pas testé le code car je n'ai pas php au boulot A toi de jouer Portekoi
Nils Posté 1 Avril 2005 Auteur Posté 1 Avril 2005 Merci Portekoi, oui, effectivement, comme value est la valeur quand c'est coché, on ne peut pas retourner value, quand c'est pas coché, sinon, on aurait la même valeur. En fait, je me suis débrouillé avec un isset(), et ça marche. Merci en tout cas. à+. Nils.
MarvinLeRouge Posté 1 Avril 2005 Posté 1 Avril 2005 Salut, Tu peux aussi récupérer l'ensemble des index de ton tableau $_POST grâce à la fonction array_keys, et faire en fonction.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant