[RESOLU] Probleme de formulaire avec des case a cocher

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Probleme de formulaire avec des case a cocher

Re: [RESOLU] Probleme de formulaire avec des case a cocher

par max216 » 02 août 2012, 17:31

merci encore !

en fait j'ai tous coché un par un et coché les réponses par raaport a ce que j'avais coché et j'en suis arrivé a la même conclusion, du coup j'ai tout redécalé et c'est bon.

la prochaine fois je referais tout de A à Z pour gagner du temps :roll:

Re: Probleme de formulaire avec des case a cocher

par Ryle » 02 août 2012, 11:20

Je n'ai pas regardé ton code, mais est-ce que le problème ne serait pas tout simplement l'ordre des informations dans ton tableau $formation ?

En effet, si je coche les case "Caen - Prems 2" (lieu_formation[1]) et "Lille - Prems 1" (lieu_formation[4]), tu vas donc recevoir un tableau $_POST['lieu_formation'] qui aura pour valeur array(1, 4).

Si tu utilises ces informations par rapport à ton tableau $formation, cela correspondrait effectivement à 'Nantes - Prems 1' (en position 1 dans ton tableau) et 'Nantes - Prems 2' (en position 4 dans ton tableau). Alors que si tu remets les données de ton tableau $formation dans le même ordre que tes cases, ça devrait mieux fonctionner (si j'ai bien compris ce à quoi te servait $formation).

Re: Probleme de formulaire avec des case a cocher

par max216 » 02 août 2012, 08:55


Enfin, à quel moment est-ce que dans ton code php tu traites le contenu du tableau $lieu_formation ? C'est surtout cette partie là qu'il faut nous montrer. Logiquement, si tu cocher la 2e et la 4e case, tu dois récupérer un tableau $lieu_formation = array (2, 4). Est-ce bien le cas ? Qu'est ce que tu en fais ? Qu'est ce que tu voudrais obtenir ? ...
désolé j'avais pas fait attention a tes questions :s

en fait pour le code en entier il faut voir plus haut, ce que je veux c'est que si la personne me coche une ou plusieurs villes, les recevoir par mail en plus de son nom, prénom et mail. Le soucis c'est que je ne recois que des villes en décalé.

Re: Probleme de formulaire avec des case a cocher

par max216 » 02 août 2012, 08:13

si quelqu'un a une idée pour une modif même complete avec la premiere ville au moins c'est cool

Re: Probleme de formulaire avec des case a cocher

par max216 » 01 août 2012, 21:31

merci de votre retour !

pour les balises en fait c'est des extraits donc... je me rends compte que cela sors trop du contexte et que ce n'est pas clair...
pour que ce soit plus simple et plus lisible, je joint les 2 fichiers:
http://paf.im/A0oQU -> index.php.
http://paf.im/LiRLP -> le formulaire

en fait c'est une page que j'aimerais modifier, la mise en page et le reste doit rester tel quel. y'a juste en plus les images et un peu de javascript...

Re: Probleme de formulaire avec des case a cocher

par Ryle » 01 août 2012, 20:32

Moui, pis faudrait simplifier le code et tester avec 2 dates voir si ça fonctionne, puis 4, puis ...

Par rapport à ton code, il y a des choses bizarres puisque tu as un input hidden "lieu_formation" avant ton tableau (qui correspond donc à rien ?) et tes cases à cocher lieu_formation[...] ensuite.

A noter qu'à partir de la case 12, tu ne précises plus l'attribut value, donc au lieu de "1" lorsque la case est cochée, tu recevras "on".

Enfin, à quel moment est-ce que dans ton code php tu traites le contenu du tableau $lieu_formation ? C'est surtout cette partie là qu'il faut nous montrer. Logiquement, si tu cocher la 2e et la 4e case, tu dois récupérer un tableau $lieu_formation = array (2, 4). Est-ce bien le cas ? Qu'est ce que tu en fais ? Qu'est ce que tu voudrais obtenir ? ...

Re: Probleme de formulaire avec des case a cocher

par piotrowski-s » 01 août 2012, 17:30

donne le code sans traitement essaye de mettre les balises <?php et ?> pour la coloration syntaxique (plus facile à lire)

Re: Probleme de formulaire avec des case a cocher

par max216 » 01 août 2012, 17:25

idem pour la fonction "value" que j'ai testé sur chaque ligne, toujours des résultats qui ne correspondent pas :(

Re: Probleme de formulaire avec des case a cocher

par max216 » 01 août 2012, 11:31

malgré moultes modifs j'ai toujours les villes décallées :( je comprends vraiment pas :(

je remet mes deux derniers codes modifiés par moi
index

Code : Tout sélectionner

<input type="hidden" name="lieu_formation"> <table class="formation_list" id="formation_zone"> <tr> <td><B>Caen</B><BR><input id="lieu_formation_1" type="checkbox" name="lieu_formation[0]" value="1">Prems 1<span> (mardi 04/09/12)</span> <BR><input id="lieu_formation_2" type="checkbox" name="lieu_formation[1]" value="1">Prems 2<span> (mercredi 05/09/12)</span></td> <td><B>Nantes</B><BR><input id="lieu_formation_3" type="checkbox" name="lieu_formation[2]" value="1">Prems 1<span> (mardi 18/09/12)</span> <BR><input id="lieu_formation_4" type="checkbox" name="lieu_formation[3]" value="1">Prems 2<span> (mercredi 19/09/12)</span></td> <td><B>Lille</B><BR><input id="lieu_formation_5" type="checkbox" name="lieu_formation[4]" value="1">Prems 1<span> (mardi 25/09/12)</span> <BR><input id="lieu_formation_6" type="checkbox" name="lieu_formation[5]" value="1">Prems 2<span> (mercredi 26/09/12)</span></td> </tr> <tr> <td><B>Marseille</B><BR><input id="lieu_formation_7" type="checkbox" name="lieu_formation[6]" value="1">Prems 1<span> (mardi 02/10/12)</span> <BR><input id="lieu_formation_8" type="checkbox" name="lieu_formation[7]" value="1">Prems 2<span> (mercredi 03/10/12)</span></td> <td><B>Clermont-Ferrand</B><BR><input id="lieu_formation_9" type="checkbox" name="lieu_formation[8]" value="1">Prems 1<span> (mardi 09/10/12)</span> <BR><input id="lieu_formation_10" type="checkbox" name="lieu_formation[9]" value="1">Prems 2<span> (mercredi 10/10/12)</span></td> <td><B>Limoges</B><BR><input id="lieu_formation_11" type="checkbox" name="lieu_formation[10]" value="1">Prems 1<span> (mardi 16/10/12)</span> <BR><input id="lieu_formation_12" type="checkbox" name="lieu_formation[11]" value="1">Prems 2<span> (mercredi 17/10/12)</span></td> </tr> <tr> <td><B>Amiens</B><BR><input id="lieu_formation_13" type="checkbox" name="lieu_formation[12]">Prems 1<span> (mardi 23/10/12)</span> <BR><input id="lieu_formation_14" type="checkbox" name="lieu_formation[13]">Prems 2<span> (mercredi 24/10/12)</span></td> <td><B>Poitiers</B><BR><input id="lieu_formation_15" type="checkbox" name="lieu_formation[14]">Prems 1<span> (mardi 13/11/12)</span> <BR><input id="lieu_formation_16" type="checkbox" name="lieu_formation[15]">Prems 2<span> (mercredi 14/11/12)</span></td> <td><B>Bordeaux</B><BR><input id="lieu_formation_17" type="checkbox" name="lieu_formation[16]">Prems 1<span> (mardi 20/11/12)</span> <BR><input id="lieu_formation_18" type="checkbox" name="lieu_formation[17]">Prems 2<span> (mercredi 21/11/12)</span></td> </tr> <tr> <td><B>Toulouse</B><BR><input id="lieu_formation_19" type="checkbox" name="lieu_formation[18]">Prems 1<span> (mardi 22/11/12)</span> <BR><input id="lieu_formation_20" type="checkbox" name="lieu_formation[19]">Prems 2<span> (mercredi 23/11/12)</span></td> <td><B>Lyon</B><BR><input id="lieu_formation_21" type="checkbox" name="lieu_formation[20]">Prems 1<span> (mardi 27/11/12)</span> <BR><input id="lieu_formation_22" type="checkbox" name="lieu_formation[21]">Prems 2<span> (mercredi 28/11/12)</span></td> <td><B>Nancy</B><BR><input id="lieu_formation_23" type="checkbox" name="lieu_formation[22]">Prems 1<span> (mardi 04/12/12)</span> <BR><input id="lieu_formation_24" type="checkbox" name="lieu_formation[23]">Prems 2<span> (mercredi 05/12/12)</span></td> </tr> <tr> <td><B>Montpellier</B><BR><input id="lieu_formation_25" type="checkbox" name="lieu_formation[24]">Prems 1<span> (mardi 11/12/12)</span> <BR><input id="lieu_formation_26" type="checkbox" name="lieu_formation[25]">Prems 2<span> (mercredi 12/12/12)</span></td> <td><B>Dijon</B><BR><input id="lieu_formation_27" type="checkbox" name="lieu_formation[26]">Prems 1<span> (mardi 18/12/12)</span> <BR><input id="lieu_formation_28" type="checkbox" name="lieu_formation[27]">Prems 2<span> (mercredi 19/12/12)</span></td> <td><B>Rennes</B><BR><input id="lieu_formation_29" type="checkbox" name="lieu_formation[28]">Prems 1<span> (jeudi 03/01/13)</span> <BR><input id="lieu_formation_30" type="checkbox" name="lieu_formation[29]">Prems 2<span> (vendredi 04/01/13)</span></td> </tr> <tr> <td><B>Orléans</B><BR><input id="lieu_formation_31" type="checkbox" name="lieu_formation[30]">Prems 1<span> (mardi 08/01/13)</span> <BR><input id="lieu_formation_32" type="checkbox" name="lieu_formation[31]">Prems 2<span> (mercredi 09/01/13)</span></td> <td><B>Rouen</B><BR><input id="lieu_formation_33" type="checkbox" name="lieu_formation[32]">Prems 1<span> (mardi 15/01/13)</span> <BR><input id="lieu_formation_34" type="checkbox" name="lieu_formation[33]">Prems 2<span> (mercredi 16/01/13)</span></td> <td><B>Paris</B><BR><input id="lieu_formation_35" type="checkbox" name="lieu_formation[34]">Prems 1<span> (jeudi 17/01/13)</span> <BR><input id="lieu_formation_36" type="checkbox" name="lieu_formation[35]">Prems 2<span> (vendredii 18/01/13)</span></td> </tr> <tr> <td><B>Besançon</B><BR><input id="lieu_formation_37" type="checkbox" name="lieu_formation[36]">Prems 1<span> (mardi 22/01/13)</span> <BR><input id="lieu_formation_38" type="checkbox" name="lieu_formation[37]">Prems 2<span> (mercredi 23/01/13)</span></td> <td><B>Chalons en Champagne</B><BR><input id="lieu_formation_39" type="checkbox" name="lieu_formation[38]">Prems 1<span> (mardi 29/01/13)</span> <BR><input id="lieu_formation_40" type="checkbox" name="lieu_formation[39]">Prems 2<span> (mercredi 30/01/13)</span></td> <td><B>Strasbourg</B><BR><input id="lieu_formation_41" type="checkbox" name="lieu_formation[40]">Prems 1<span> (jeudi 00/00/00)</span> <BR><input id="lieu_formation_42" type="checkbox" name="lieu_formation[41]">Prems 2<span> (mercredi 00/00/00)</span></td> </tr> </tr> <tr> <td ><input type="checkbox" name="lieu_formation[42]">Autre&nbsp;&nbsp;&nbsp;&nbsp;Précisez votre souhait</td> <td colspan="2"><input type="text" title="Ville de formation souhaitée" name="ville_2" value="Ville" class="type-text-medium left" style="margin-right:0px;"></td> </tr> </table>
form

Code : Tout sélectionner

if (empty($return['msg'])) { $formations = array('Caen - Prems 1', 'Nantes - Prems 1', 'Lille - Prems 1', 'Caen - Prems 2', 'Nantes - Prems 2','Lille - Prems 2', 'Marseille - Prems 1', 'Clermont Ferrand - Prems 1', 'Limoges - Prems 1', 'Marseille- Prems 2', 'Clermont Ferrand - Prems 2', 'Limoges - Prems 2', 'Amiens - Prems 1', 'Poitiers - Prems 1', 'Bordeaux - Prems 1', 'Poitiers - Prems 2', 'Amiens- Prems 2', 'Bordeaux - Prems 2', 'Toulouse - Prems 1', 'Lyon - Prems 1', 'Nancy - Prems 1', 'Toulouse - Prems 2', 'Lyon - Prems 2', 'Nancy - Prems 2', 'Montpellier - Prems 1', 'Dijon - Prems 1', 'Rennes - Prems 1', 'Montpellier - Prems 2', 'Dijon - Prems 2', 'Rennes - Prems 2', 'Orléans - Prems 1', 'Rouen - Prems 1', 'Paris - Prems 1', 'Orléans - Prems 2', 'Rouen - Prems 2', 'Paris - Prems 2', 'Besançon - Prems 1', 'Chalons en Champagne - Prems 1', 'Strasbourg - Prems 1', 'Besançon - Prems 2', 'Chalons en Champagne - Prems 2', 'Strasbourg - Prems 2', 'Autre');

Re: Probleme de formulaire avec des case a cocher

par max216 » 01 août 2012, 10:58

Re j'ai changé dans l'index les valeurs que j'avais oublié "lieu de formation1" 2,3,..... et maintenant il me mets des villes qui ne correspondent pas a mes choix :|

Probleme de formulaire avec des case a cocher

par max216 » 01 août 2012, 10:21

Bonjour,

je me permet un petit post sur un probleme qui doit pas etre compliqué a solutionner :)
J'ai une page avec un formulaire qui demande nom prénom, adresse.... et qui demande de cocher une ou des cases a la fin avec une selection de dates par ville. cette page fonctionne bien et je dois la modifier en mettant deux dates par ville, donc tout est doublé. J'ai doublé mes cases pas de problemes dans le fichier PHP et le fichier du formulaire mais il me donne toujours les 2 dates de la premiere ville lorsque je recois le résultat :s

pourriez vous m'aider ?

Ci après le code original de l'index.php extrait avec les cases a afficher

Code : Tout sélectionner

<tr> <td>Bordeaux<BR><input id="lieu_formation_1" type="checkbox" name="lieu_formation[0]" value="1">Prems 1<span> (10 janvier)</span></td> <td><BR><input id="lieu_formation_2" type="checkbox" name="lieu_formation[1]" value="1">Prems 2<span> (28 février)</span></td> </tr> <tr> <td><input id="lieu_formation_3" type="checkbox" name="lieu_formation[2]" value="1">Limoges<span> (20 mars)</span></td> <td><input id="lieu_formation_4" type="checkbox" name="lieu_formation[3]" value="1">Toulouse<span> (12 janvier)</span></td> <td><input id="lieu_formation_5" type="checkbox" name="lieu_formation[4]" value="1">Reims<span> (1er mars)</span></td> <td><input id="lieu_formation_6" type="checkbox" name="lieu_formation[5]" value="1">Dijon<span> (27 mars)</span></td> </tr> <tr> <td><input id="lieu_formation_7" type="checkbox" name="lieu_formation[6]" value="1">Nantes<span> (26 janvier)</span></td> <td><input id="lieu_formation_8" type="checkbox" name="lieu_formation[7]" value="1">Lyon<span> (6 mars)</span></td> <td><input id="lieu_formation_9" type="checkbox" name="lieu_formation[8]" value="1">Besançon<span> (28 mars)</span></td> </tr> <tr> <td><input id="lieu_formation_10" type="checkbox" name="lieu_formation[9]">Paris<span> (31 janvier)</span></td> <td><input id="lieu_formation_11" type="checkbox" name="lieu_formation[10]">Marseille<span> (7 mars)</span></td> <td><input id="lieu_formation_12" type="checkbox" name="lieu_formation[11]">Nancy<span> (29 mars)</span></td> </tr> <tr> <td><input id="lieu_formation_13" type="checkbox" name="lieu_formation[12]">Orléans<span> (2 février)</span></td> <td><input id="lieu_formation_14" type="checkbox" name="lieu_formation[13]">Montpellier<span> (8 mars)</span></td> <td><input id="lieu_formation_15" type="checkbox" name="lieu_formation[14]">Strasbourg<span> (30 mars)</span></td> </tr> <tr> <td><input id="lieu_formation_16" type="checkbox" name="lieu_formation[15]">Amiens<span> (3 avril)</span></td> <td><input id="lieu_formation_17" type="checkbox" name="lieu_formation[16]">Lille<span> (4 avril)</span></td> <td><input id="lieu_formation_18" type="checkbox" name="lieu_formation[17]">Clermont<span> (18 avril)</span></td> </tr> <tr> <td><input id="lieu_formation_19" type="checkbox" name="lieu_formation[18]">Rennes<span> (22 mai)</span></td> <td></td> <td></td> </tr> <tr>
Ci après le code original de registerform.php extrait les correspondances de case

Code : Tout sélectionner

function write_property($property) { return (isset($_POST[$property]) && !empty($_POST[$property]) && getPropertyName($property) != $_POST[$property]) ? '<b>' . getPropertyName($property) . ' : </b> ' . $_POST[$property] . '<br/>' : ''; } if (empty($return['msg'])) { $formations = array('Bordeaux - Prems 1', 'Bordeaux - Prems 1', 'Rouen - 28 février', 'Limoges - 20 mars', 'Toulouse - 12 janvier', 'Reims - 1er mars', 'Dijon - 27 mars', 'Nantes - 26 janvier', 'Lyon - 6 mars', 'Besançon - 28 mars', 'Paris - 31 janvier', 'Marseille - 7 mars', 'Nancy - 29 mars', 'Orléans - 2 février', 'Montpellier - 8 mars', 'Strasbourg - 30 mars', 'Amiens - 3 avril', 'Lille - 4 avril', 'Clermont - 18 avril', 'Rennes - 22 mai');
Ci après le code modifié par moi de l'index.php extrait avec les cases a afficher
Edit: voir plus bas pour trouver le code

Ci après le code modifié par moi de registerform.php extrait les correspondances de case (j'ai fait que les 3 premiers pour tester)
Edit: voir plus bas pour trouver le code

je pense que j'ai rater un truc :(
merci a vous !