Rechercher : dans
Par :

Formulaire à choix multiples

Dernière réponse le 14 avr 2006 à 09:14:04 Alea, le 11 avr 2006 à 11:48:27 
 Signaler ce message aux modérateurs

Bonjour,
Alors je suis en train de concevoir une petite application en php afin de permettre à des gens de reserver du matériel. Le gens peuvent choisir dans le formulaire le matériel qu'ils souhaitent.
Comment faire pour récupérer dans le fichier php lors de l'envoi le bon matériel choisit par la personne?
J'avais pensé faire un tableau en mettant $i comme indice dans le fichier php et en remplaçant les "name='nom du matériel' " par "name=$i" mais ça marche pas...
Auriez vous une idée s'il vous plaît?

Merci d'avance!

1

Ohm-WorK, le 11 avr 2006 à 16:17:52

Salut !

Lorsque ton visiteur valide son choix, le formulaire php est envoyé vers une autre page, tu dois donc récupérer la valeur avec un $_POST['nom_du_champ']...

Tchuss ! La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK

2

Alea, le 11 avr 2006 à 17:03:34

Ben le truc c'est que ça je le sais, c'est dans le cas où je propose des checkbox. Je ne sais pas à l'avance ce que la personne va cocher.
Donc il faut trouver un système pour récupérer la donnée automatiquement.

Répondre à Alea

3

Ohm-WorK, le 13 avr 2006 à 12:09:49

Salut

Ben, que ce soit une check box, ou un champ de texte simple, tu récupère toujours la valeur via un $_POST['nom']...

Je ne comprend pas ou tu bloque, met moi un copier / coller de ton code stp :)

Tchuss La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK

4

Alea, le 13 avr 2006 à 12:58:15

Voici le code du fichier php :

if($_POST['nom']!=""){
$nom=$_POST['nom'];
echo "<b>Votre nom :</b> ".$nom."<br>";
}
else{
$nom=$_POST['nom'];
echo "<b><font color=red>Vous n'avez pas indiqué votre nom...</font></b><br>";
}
if($_POST['prenom']!=""){
$prenom=$_POST['prenom'];
echo "<b>Votre prenom :</b> ".$prenom."<br>";
}
else{
$prenom=$_POST['prenom'];
echo "<b><font color=red>Vous n'avez pas indiqué votre prenom...</font></b><br>";
}

$materiel=$_POST['$i'];

$host="localhost";
$user="root";
$bdd="reservationsdar";

$connection=mysql_connect($host,$user) or die("erreur de connexion au serveur $host");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
if($nom!="" && $prenom!="" && $materiel!="" )
{
mysql_query("INSERT INTO reservation(Nom,Prenom,Materiel) VALUES('$nom','$prenom','$materiel')");
}
else
{
echo "<style type='text/css'>A:link{color:#CC0000;}A:visited{color:#CC0000;}A:hover{color:#FF0000;}</style><br><br><font color=black><b><a href='formulaireservation.php'>Retour au formulaire de reservation</a></b></font>";
}

mysql_close($connection);


//////////////////////////////////////////////////////

Mon formulaire :

$i=0;
echo "<html><head><title>Formulaire - Réservations matériel SDAR</head>";
echo "<body><FORM METHOD='POST' ACTION='reservationSDAR.php' ENCTYPE='x-www-form-urlencoded'><TABLE BORDER=0><TR><TD><b>Nom</b></TD><TD><INPUT type=text name='nom'></TD></TR><TR><td><b>Prénom</b></td><td><INPUT type=text name='prenom'></td></TR>";
echo "<TR><td><br><b>Matériel emprunté :</b></td></TR>";

$host="localhost";
$user="root";
$bdd="reservationsdar";
$connection=mysql_connect($host,$user) or die("erreur de connexion au serveur $host");
mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

$requete=mysql_query("SELECT Materiel FROM materiel WHERE reserver!='oui'");

while ($row = mysql_fetch_row($requete))
{
echo "<TR><td>".$row[0]."<INPUT type='radio' name='$i'></td></TR>";
$i++;
}
echo "</table><br><INPUT type='submit' value='Envoyer'>     <INPUT type='reset' value='Effacer'></form></body></html>";


mysql_close($connection);


//////////////////////////////////

Parce que pour le formulaire, si j'ai dix boutons radio, dans le "$_post[' '] " je vais mettre quoi sachant que ça change selon ce que la personne coche?
je vais pas tester chaque $_post pour voir si il y a quelque chose dedans?

(enfin je sais pas si je suis claire...)

Répondre à Alea

5

Ohm-WorK, le 13 avr 2006 à 16:28:25

Salut

En fait, si, il va falloir que tu test chaque champs...!! Puisqu'en fait, tu propose 6 ou 7 bouton à cliquer, il faut que tu teste la réponse de chaque champs !

Si ton utilisateur ne doit choisir qu'un seul champs, un select conviendrai mieux...

Tchusss La vie est une maladie mortelle, sexuellement transmissible ­(Woody Allen)

Répondre à Ohm-WorK

6

 Alea, le 14 avr 2006 à 09:14:04

Merci beaucoup pour ton aide ! Je vais partir là dessus pour l'instant...

Répondre à Alea