Récupérations donnés formulaire checkbox

Fermé
fafafa91 Messages postés 31 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 11 mars 2009 - 26 janv. 2009 à 15:49
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 26 janv. 2009 à 16:48
Bonjour,

Alors voila je débute en html et en PHP, mais j’ai réussi un formulaire en html avec des checkbox et je voudrais récupérer les valeurs de ces checkbox dans un programme PHP pour que celui-ci m’affiche une page avec le récapitulatif de ce que j’ai « commandé » ainsi que le prix total de ma « commande » je tiens à préciser que ce travail et uniquement scolaire.

Donc première question : Que faut il que je fasse pour récupérer les valeurs de mes checkbox ?

2eme : Comment puis-je calculer le prix total de ma commande en fonction de ce que j’ai coché dans mes checkbox ?

3 eme : Faut-il associer une valeur décimale à chaque élément de ma commande ?
Exemple : Volant sport = 150 euros

Mon formulaire HTML :

<head><h1 align="center">Vente par correspondance discount</h1>

<h1 align="center">Votre Bon de Commande:</h1>

<form method="post" action="php.php">

NOM: <input type="text" name="NOM" size="25">
<p>
Prenom: <input type="text" name="Prenom" size="25">
<p>
Adresse 1 <input type="text" name="adresse 1" size="50">
<p>
Adresse 2 <input type="text" name="adresse 2" size="50">
<p>
Code Postal <input type="text" name="code postal" size="12.5">
<p>
Pays <input type="text" name="pays" size="20">
<p>
<h1>Materiels Choisi:</h1>
<p>
<h2>Moteur:</h2>

<input type="checkbox" name="moteur" value="moteurv6"> Moteur V6 <br />
<input type="checkbox" name="moteur" value="bmw"> Moteur BMW 140ch<br />
<input type="checkbox" name="moteur" value="mercedes"> Moteur Mercedes 110ch<br />
<input type="checkbox" name="moteur" value="twingo"> Moteur Renaud Twingo
<p>
<H2>Volant</H2>

<input type="checkbox" name="volant" value="volant sport"> Volant Sport <br />
<input type="checkbox" name="volant" value="volant cuir"> Volant Cuir <br />
<input type="checkbox" name="volant" value="volant plastique"> Volant en plastique <br />
<p>
<h2>Jantes</h2>

<input type="checkbox" name="jante" value="jantes 15"> Jantes 15 pouces<br />
<input type="checkbox" name="jante" value="jantes 18"> Jantes 18 pouces<br />
<input type="checkbox" name="jante" value="jantes 20"> Jantes 20 pouces<br />

<form>
<center><input type="submit" name="envoyer" value="Envoyer"><input type="reset" name="reset" value="Annuler"></center>
</form>

5 réponses

Sandriine Messages postés 1255 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 18 août 2010 283
26 janv. 2009 à 16:28
Pour afficher la valeur de ta checkbox "moteur" qui a été sélectionné :

if (!empty($_POST["envoyer""]))
{
   echo $_POST["moteur"];
}
0
fafafa91 Messages postés 31 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 11 mars 2009 2
26 janv. 2009 à 16:42
Cette commande est à rentrer dans le fichier PHP?

J'ai essayer et sa ne semble pas marcher.

Ensuite pour faire le total de la commande a tu une idée?

J'aimerais qu'une phrase de type: Vous avez commandé sa sa et sa le total est de:..... euros
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 janv. 2009 à 16:44
un petit exemple

attention j'ai fait qqs rectifs dans ton code:

<head><h1 align="center">Vente par correspondance discount</h1>

<h1 align="center">Votre Bon de Commande:</h1>

<form method="post" action="php.php">

NOM: <input type="text" name="NOM" size="25">
<p>
Prenom: <input type="text" name="Prenom" size="25">
<p>
Adresse 1 <input type="text" name="adresse 1" size="50">
<p>
Adresse 2 <input type="text" name="adresse 2" size="50">
<p>
Code Postal <input type="text" name="code postal" size="12.5">
<p>
Pays <input type="text" name="pays" size="20">
<p>
<h1>Materiels Choisi:</h1>
<p>
<h2>Moteur:</h2>

<input type="checkbox" name="moteur[]" value="moteurv6"> Moteur V6 <br />
<input type="checkbox" name="moteur[]" value="bmw"> Moteur BMW 140ch<br />
<input type="checkbox" name="moteur[]" value="mercedes"> Moteur Mercedes 110ch<br />
<input type="checkbox" name="moteur[]" value="twingo"> Moteur Renaud Twingo
<p>
<H2>Volant</H2>

<input type="checkbox" name="volant[]" value="volant sport"> Volant Sport <br />
<input type="checkbox" name="volant[]" value="volant cuir"> Volant Cuir <br />
<input type="checkbox" name="volant[]" value="volant plastique"> Volant en plastique <br />
<p>
<h2>Jantes</h2>

<input type="checkbox" name="jante[]" value="jantes 15"> Jantes 15 pouces<br />
<input type="checkbox" name="jante[]" value="jantes 18"> Jantes 18 pouces<br />
<input type="checkbox" name="jante[]" value="jantes 20"> Jantes 20 pouces<br />
<!-- la tu avait une balise <form en trop -->
<center><input type="submit" name="envoyer" value="Envoyer"><input type="reset" name="reset" value="Annuler"></center>
</form>


ensuite dans la page php.php  tu recupères par

<?php
//recup des valeurs:

if(isset($_POST['envoyer'])){ //si formulaire posté
	//on va parcourir l'array qui contient chaque serie de checkbox  tu as remarqué que j'ai mis name="moteur[]" ce qui veut dire que les valeurs sont dans un array
	$array_moteur=array();
	for($i=0;$i=sizeof($_POST['moteur'];$i++){
		$array_moteur[]=$_POST['moteur'][$i]; //on stocke chaque case cochée dans cet array
		//par ex si case 1 cochée on aura dans $array_moteur[0]   moteurv6  
	}
	$array_volant=array();
	for($i=0;$i=sizeof($_POST['volant'];$i++){
		$array_volant[]=$_POST['volant'][$i]; //on stocke chaque case cochée dans cet array
	}
	$array_jante=array();
	for($i=0;$i=sizeof($_POST['jante'];$i++){
		$array_jante[]=$_POST['jante'][$i]; //on stocke chaque case cochée dans cet array
	}
	
	//tu veux voir ce qu'il y a dans chaque array ?	
	echo '<pre>'; //ça c'est pour la mise en page
		echo 'Moteurs:<br />';
		print_r($array_moteur);
	echo 'Volants:<br />';
		print_r($array_volant);
	echo 'Jnates:<br />';
		print_r($array_jante);
	echo '</pre>'; //ça c'est pour la mise en page

	
	//bon maintenant pour le prix:
	
	$array_prix=array("moteurv6"=>"1000","bmw"=>"1500","mercedes"=>"2500","twingo"=>"500",
		"Volant Sport"=>"55","Volant Cuir"=>"32","Volant en plastique"=>"20");
		//tu completes pour les jantes  separes par des virgules

}
	//affichage
	echo '<br /> Moteurs:<br />';
	for($i=0;$i=sizeof($array_moteur);$i++){
		echo "Command&eacute;: ".$array_moteur[$i]."  prix= ".$array_prix[$array_moteur[$i]];
	}
	//idem pour les autres

?>
0
fafafa91 Messages postés 31 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 11 mars 2009 2
26 janv. 2009 à 16:48
Alors la sincerement jte remercie pour ta réponse aussi clair je test sa tt de suite et je te tiens au courant.

Merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 janv. 2009 à 16:48
petit complement pour le total:

tu modifies la dernière partie

//initialisation $prix_total
	$prix_total=0;
	//affichage
	echo '<br /> Moteurs:<br />';
	for($i=0;$i=sizeof($array_moteur);$i++){
		echo "Command&eacute;: ".$array_moteur[$i]."  prix= ".$array_prix[$array_moteur[$i]];
		$prix_total=$prix_total+$array_prix[$array_moteur[$i]]; //on ajoute au prix total
	}
	//idem pour les autres
	
	//et prix total
	echo '<br /><b>Pour un montant total de: '.$prix_total.'</b>';
0