Version complète: sur le forum Webmaster Hub : formulaire et case à cocher (checkbox)
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
tchoiotaff
Bonjour à tous
voila je cherche une solution pour un formualaire assez complexe.
Explication c'est pour une demande de prix en ligne.
L'internaute rempli les champs normaux genre nom adresse email etc ça c'est bon je sais faire en php.
ensuite je veux qu'il me tranmette la quantité qu'il souhaite pour UN OU PLUSIEURS produits différents.
exemple ici

http://www.empreinte13.fr/test.htm

explication l'internaute veut
1 tonnes de Films bâtiments
il coche la case de ce produit et rempli la quantité souhaité
il peut AUSSI vouloir le prix pour
1 tonne de Films techniques
ainsi de suite pour chaque article

le mail de retour doit me transmettre un truc du genre
Films bâtiments = 1000
Films techniques = 2000
etc....
j'espère être clair, merci de votre aide car je galère
Poppy
Bonjour,

Je ne comprends pas où tu bloques. Tu veux une solution toute faite ?
tchoiotaff
non non je ne veux pas d'une solution toute faite bien sur je veux mettre la mains dans le camboui et comprendre.
Jeromnimo
Bonjour,

Et a quel moment bloques-tu ? Au moment de traiter le formulaire ? d'envoyer le mail ?
Qu'as tu réussi à faire au total ?
tchoiotaff
ce que j'ai réussi c'est utiliser un form qui vérifie tous les style de champs d'un formulaire.
menu déroulant - case à cocher - champs etc. pour les information général genre nom prénom ....
mais lorsque j' ajoute la partie produit plus rien ne marche.

<html>
<head></head>
<body>
<?
$MailTo = "webmaster_AT_empreinte13.fr";
$MailCc = " ";
$MailSubject = "demande d'informations";
$MailHeader = "From: expediteur_AT_nom_domaine.com";


$Envoi = 1; //initialisation de la variable envoi à 1

if ($champ1 == ""){ //nom du champ1
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 1.</font><br>");
$Envoi = 0; //si le champ1 n'a pas été rempli, la variable envoi prend la valeur de 0
}
else {
$MailBody .= "Question 1 : $champ1\n";
}
if ($champ2 == ""){
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 2.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 2 : $champ2\n";
}
if ($champ3 == ""){
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 3</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 3 : $champ3\n";
}
if ($champ4 == ""){
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 4</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 4 : $champ4\n";
}
if ($champ5 == "0"){
echo("<font face=verdana size=2>Vous avez oublié de choisir une valeur.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 5 : $champ5\n";
}
if ($champ6 == ""){
echo("<font face=verdana size=2>Vous n'avez pas complété le champ 6.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 6 : $champ6\n";
}
if ($champ7 == ""){
echo("<font face=verdana size=2>Vous n'avez pas précisé votre choix à la question 7.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= "Question 7 : $champ7\n";
}
////c'est la que je fait les boucles pour les cases à cocher et pour les champs quantité à saisir (c'est un bou de code que m'as fourni un ami )


$maxchamps = 40; // nombre de champs maxi
for ($i = 1; $i <= $maxchamps; $i++) {
if (${"champ".$i."a"} == 1 AND ${"champ".$i."b"} <> NULL)
{
$MailBody .= "Question " . $i . " : " . ${"champ".$i."b"} . "\n";
$Envoi = 1;
}
}
if ($Envoi == 0) echo("<p> </p><p> </p><p align=\"center\"><a href=\"formulaire.htm\"><strong>Retour</strong></a></p>");
//Envoi du message

if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
mail($MailCc, $MailSubject, $MailBody, $MailHeader); //envoi du communiqué (enlever // pour le rendre opérationnel
echo("<p><font face=verdana size=2>Votre message a bien été envoyé.<br>Merci de votre demande.</font>"); echo("<p> </p><p> </p><p align=\"center\"><a href=\"formulaire.htm\"><strong>Retour</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>

[color=#FF0000]////
Dans la page formulaire.php c'est champs sont nomé ainsi

------
<input type="checkbox" name="champ1a" value="nom du produit 1">
Produit 1
<input name="champ1b" type="text" size="20"><br>
<input type="checkbox" name="champ2a" value="nom du produit 2">
Produit 2
<input name="champ2b" type="text" size="20">

------------------

ma balise form est
<form method="POST" action="form2.php3" name="AVIS">

j'ai fait tellement d'essai toute la nuit que plus rien ne marche en fait l'email ne part jamais et je n'ai pas de message d'erreur....
Merci de votre aide
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.