Page 1 sur 2

Posté : 29 juin 2005, 09:30
par elminio
Bonjour voici mon formulaire en HTML
la seule chose qui ne fonctionne pas dans celui-ci c'est les checkbox
tu m'avais montré comment les utilisés mais j'aurais voulu un exemple
plus détaillé.

Code : Tout sélectionner

<form name="form1" id="form1" method="post" action="stock.php"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <th width="10%" scope="col">&nbsp;</th> <th width="345" height="50" colspan="2" scope="col"><span class="Style4">ENTREE UN CONCOURS </span></th> <th width="50%" height="50" scope="col">&nbsp;</th> </tr> <tr> <td width="10%">&nbsp;</td> <td width="345" height="50" colspan="2">&nbsp;</td> <td width="50%" height="50">&nbsp;</td> </tr> <tr> <td width="10%"><span class="Style3">Nom</span></td> <td width="345" height="50" colspan="2"> <input name="nom" type="text" size="66" /> </td> <td width="50%" height="50"><p class="Style4"><strong> IARU HF World Championship </strong></p></td> </tr> <tr> <td width="10%"><span class="Style3">Date</span></td> <td width="345" height="50" colspan="2"> <textarea name="date" cols="50" rows="2"></textarea> </td> <td width="50%" height="50"><div align="justify"><span class="Style6"> 2 nd week-end entier de juillet, du samedi &agrave; 12:00 UTC au dimanche &agrave; 12:00 UTC. </span></div></td> </tr> <tr> <td width="10%"><span class="Style3">Bande</span></td> <td width="10%"> <p class="Style6"> <input type="checkbox" name="bande[]" id="160m" value="1" /> 160 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" id="80m" value="2" /> 80 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="40m" /> 40 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="30m" /> 30 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="20m" /> 20 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="17m" /> 17 m </p></td> <td width="10%"><p class="Style6"> <input type="checkbox" name="bande[]" value="15m" /> 15 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="12m" /> 12 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="10m" /> 10 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="6m" /> 6 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="2m" /> 2 m </p> <p class="Style6"> <input type="checkbox" name="bande[]" value="70cm" /> 70 cm </p></td> <td width="50%"> <p class="Style6"> 160, 80, 40, 20, 15, 10 m&egrave;tres </p> </td> </tr> <tr> <td width="10%"><span class="Style3">Mode</span></td> <td width="345" height="50" colspan="2"> <p class="Style6"> <input type="checkbox" name="mode[]" value="phonie" /> Phonie</p> <p class="Style6"> <input type="checkbox" name="mode[]" value="telegraphie" /> T&eacute;l&eacute;graphie </p> <p class="Style6"> <input type="checkbox" name="mode[]" value="mode digitaux" /> Mode digitaux </p></td> <td width="50%" height="50"><span class="Style6"> Phonie et T&eacute;l&eacute;graphie </span></td> </tr> <tr> <td width="10%"><span class="Style3">Report</span></td> <td height="50" colspan="2"> <textarea name="report" cols="50" rows="6"></textarea> </td> <td width="50%" height="50" class="Style6"><p><strong><em> Soci&eacute;t&eacute; membre IARU </em></strong></p> <p> RST + abr&eacute;viation de la soci&eacute;t&eacute; (ex&nbsp;: 599REF) </p> <p><strong><em>Radio Amateur </em></strong></p> RST + Zone ITU (ex&nbsp;: 59927) </td> </tr> <tr> <td width="10%"><span class="Style3">Infos</span></td> <td height="50" colspan="2"> <input type="text" name="info" size="66" /> </td> <td width="50%" height="50"><p><a href="http://www.arrl.org/contests/rules/2005/iaru.html" class="Style6">http://www.arrl.org/contests/rules/2005/iaru.html</a></p></td> </tr> <tr> <td colspan="4">&nbsp;</td> </tr> <tr> <td colspan="4"><div align="center"> <input type="reset" name="effacer" value="Effacer" > </div></td> </tr> <tr> <td colspan="4"><div align="center"> <input type="submit" name="envoyer" value="Envoyer"> </div></td> </tr> </table> </form>
dois je le laisser en html ou le passer en php dont je connais pas encore bien.

Posté : 29 juin 2005, 09:38
par Cyrano
Bon, je vois que ce sujet traine en longueur: voici un lien vers un formulaire modèle où tu verras comment traiter les cases à cocher, à télécharger ICI

Posté : 29 juin 2005, 09:51
par ouckileou
"ce sujet traine en longueur" ??!!

les checkbox étaient le problème de départ effectivement, mais on s'est surtout occupé d'un problème au niveau de la conception de la base pour le moment

alors excuse nous d'avoir pris le temps d'expliquer certaines choses tranquillement, la prochaine fois effectivement on balancera directement un
http://jmolline.free.fr/*.zip c'est tellement plus simple :roll:

merci de ta remarque

Posté : 29 juin 2005, 09:53
par Cyrano
SI le sujet des checkbox est résolu, ouvre un autre sujet pour le problème de la base, c'est élémentaire il me semble: Quand un sujet dépasse un certain nombre de pages, imagines-tu que tout le monde va se farcir de tout lire pour éventuellement te fournir une réponse ?

Modération : sujet divisé en 3 parties, remises dans les forums appropriés. On se calme.

Posté : 29 juin 2005, 09:59
par ouckileou
effectivement l il aurait pu ouvrir un autre sujet mais :

- checkbox => problème de départ
- au passage, modification de sa base
c'est élémentaire il me semble
non, pas là
Quand un sujet dépasse un certain nombre de pages, imagines-tu que tout le monde va se farcir de tout lire pour éventuellement te fournir une réponse ?
non évidemment, mais là on est déjà deux à s'occuper du problème alors bon, faut peut-être pas pousser la modération à l'extrême non plus

et c'est un peu vexant de passer un peu de temps sur un problème et de voir arriver quelqu'un qui dit "ça traine, voici un exemple que j'ai fait débrouille toi" et qui met le sujet en "délestage"

c'est tout

Posté : 29 juin 2005, 10:14
par Cyrano
... et qui met le sujet en "délestage"
Ça, je n'en suis pas responsable, je nai rien modifié de ce coté là. On ergotera pas 107 ans sur le sujet, je ne fais pas de la modération à l'extrème non plus.

Mais par habitude, je sais que certains sujets pourraient être traités rapidement et quand ça traine en longueur, c'est parce qu'il y a quelqun qui pose mal ses questions ou ne capte pas les réponses enfin bref, ça tourne autour du vide et ça fait un postaflood dont l'intérêt sur le forum est des plus douteux à terme.

Posté : 29 juin 2005, 10:19
par ouckileou
Ça, je n'en suis pas responsable, je nai rien modifié de ce coté là. On ergotera pas 107 ans sur le sujet, je ne fais pas de la modération à l'extrème non plus.
ok désolé si ce n'est pas toi, je pensais.
Mais par habitude, je sais que certains sujets pourraient être traités rapidement et quand ça traine en longueur, c'est parce qu'il y a quelqun qui pose mal ses questions ou ne capte pas les réponses enfin bref, ça tourne autour du vide et ça fait un postaflood dont l'intérêt sur le forum est des plus douteux à terme.
excuse moi "d'ergoter", mais je vois mal comment tu peux juger "par habitude" et sans avoir lu le sujet
les questions n'était pas mal posées je pense et sur la conception on peut prendre son temps pour expliquer
ça ne fait pas un "postaflood", alors si tu modères lis les posts et ne regarde pas uniquement le titre et le nombre de pages, parceque je trouve que c'est modérer à l'extrême

et je ne vois pas en quoi ça peut bien te gêner
intérêt "douteux" à terme peut-être, mais bon ça règle un problème spécifique et c'est déjà ça

bref, je m'incline, mais la modération à la hache ça me saoule

Modération : sujet divisé en 3 parties, remises dans les forums appropriés. On se calme.

Posté : 29 juin 2005, 10:54
par elminio
Bonjour cyrano
et re-coucou ouckileou lol
franchement cyrano si tu avais lu mon premier post tu m'aurais déposé le script en téléchargement et c'est fini,
Par contre ouckileou me montre le chemin sans me donner la finalilté du script, donc j'aime bien son fonctionnement.
D'après toi Cyrano quelle est la meilleur façon d'apprendre php mysql ?
pour moi la modération commence lorsque l'on ne respecte pas les themes d'un forum et les personnes qui post les messages sur celui-ci.
cyrano merci pour ton script il me dépanne bien.
Je ne suis pas la pour la polémique mais la pour apprendre à crée une petite base de donnée.

Modération : sujet divisé en 3 parties, remises dans les forums appropriés. On se calme.

Posté : 29 juin 2005, 12:19
par ouckileou
bon finalement t'en es rendu où avec tes checkbox ?

t'as compris comment faire avec le script de Cyrano ?

Posté : 29 juin 2005, 22:31
par stardust
Bon, je vois que ce sujet traine en longueur: voici un lien vers un formulaire modèle où tu verras comment traiter les cases à cocher, à télécharger ICI
Je viens juste de m'inscrire sur le forum, je débute en php et j'ai trouvé mon bonheur!

Merci beaucoup :D

Posté : 29 juin 2005, 23:31
par elminio
donc actuellement j'ai deux fichiers
l'un appelé form.php et l'autre stock.php

le form.php contient ceci :

D'après le form.php de cyrano pour checkbox

Code : Tout sélectionner

<form action="stock.php" method="post"> <input type="checkbox" value="160 m" name="bande[]" />160 m<br /> <input type="checkbox" value="80 m" name="bande[]" />80 m<br /> <input type="checkbox" value="40 m" name="bande[]" />40 m<br /> <input type="checkbox" value="20 m" name="bande[]" />20 m<br />

le stock.php contient.php

Code : Tout sélectionner

$bande = $_POST['bande']; $query_string="INSERT INTO bande (bande, mesure) VALUES ('$bande, $mesure')"; $query=mysql_query($query_string);
mais ça plante

Posté : 29 juin 2005, 23:52
par ouckileou
c'est normal, tu récupères la variable $bande qui est un tableau, donc tu ne peux pas l'insérer directement dans ta table

il faut que tu fasses une boucle pour récupérer toutes les valeurs et les insérer une par une

Posté : 30 juin 2005, 08:10
par elminio
je ne doit pas être loin de la vérité maintenant

modif dans form.php


Code : Tout sélectionner

function test($choix) { global $bande; for ($i = 0; $i < count($bande); $i++) if($choix==$bande[$i]) return true; } <input type="checkbox" value="160 m" name="bande[]"<?php if(test("160 m")){ echo " checked=\"checked\"";} ?> /> 160 m<br /> <input type="checkbox" value="80 m" name="bande[]"<?php if(test("80 m")){ echo " checked=\"checked\"";} ?> /> 80 m<br />

Posté : 30 juin 2005, 09:02
par ouckileou
effectivement ça va surement marcher si tu veux garder cochées les cases sélectionnées

mais regarde cette fonction :
http://fr2.php.net/manual/fr/function.in-array.php

c'est l'équivalent de ta boucle :)

Posté : 30 juin 2005, 18:47
par elminio
bon celui-ci fonctionne :
$bande = $_POST['bande'];

for ($i=0; $i < count ($bande); $i++)
{
$chainebande .= $separateur . $bande[$i];
$separateur = ",";
}
echo "bande = $chainebande<br>";
et voici le resultat:
bande = 20,15

comment stocker cette donnée dans ma table
bande avec les champs id_bande, bande, mesure