Formulaire et case à coché

tchoiotaff Messages postés 9 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 1 juillet 2009 - 30 août 2006 à 12:38
yul13 Messages postés 21 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 21 janvier 2009 - 4 janv. 2009 à 20:11
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 se produit et rempli la quantité souhaité
il peut AUSSI vouloire le prix pour
1 tonne de Films techniques
ainsi de suite pour chaque article

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

9 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
31 août 2006 à 07:42
Hello,

tu veux quoi au juste ?
Une checkbox :
...

...

et tu récupères dans le TABLEAU $_POST['produits'] (ou en get heins elon ton formulaire).
En clair, si le mec a coché les 2 cases là, tu as ce tableau :
$_POST['produits'][0] = 'prod_0'
$_POST['produits'][1] = 'prod_1'
0
tchoiotaff Messages postés 9 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 1 juillet 2009
1 sept. 2006 à 12:27
ben en fait je veux récupérer la case cochée et la quantité que l'internaute à saisi pour cette article
voici le bou de code que m'avait  fourni un collègue (qui n'est plus joignable)
----------page de vérification--------
$mailbody = "";
$maxchamps = 20; // 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 == 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("Votre message a bien été envoyé.
Merci de vos commentaires."); echo("&nbsp;

&nbsp;

Retour

"); //affichage d'un message de confirmation.
}
?>


-----page formulaire -------
<tr>
<td></td>
<td><small>produit 1

</small></td>
</tr><tr>
<td></td>
<td><small>produit 2

</small></td>
</tr>
ainsi de suite .....
la basile form-------
<form method ="POST" action="form1.php3" name="AVIS">

voili j'espère que c'est plus claire enfin moi j'y comprends plus rien à force de passer la nuit à modier
J'en peut plus je vais me jetter à l'étang


 




 
0
tchoiotaff Messages postés 9 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 1 juillet 2009
4 sept. 2006 à 14:32
bon personne n'y arrive alors, pourtant je pensais que c'était une demandde pas trop compliqué, il vaut un mieux un qui sait que 10 qui cherchent....AIDER moi svp lol
0
jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
19 sept. 2006 à 17:06
<tr>

    <td>

       

    </td>

    <td>

        <small>produit 1

           

            </small>

       

    </td>

</tr>

<tr>

    <td>

       

    </td>

    <td>

        <small>produit 2

           

        </small>

    </td>

</tr>


Dans ta page pour récupérer les valeurs :

    /*Avec la fonction isset, tu voix si la personne a coché la checkbox car le champ champ1a n'est pas envoyé

      si elle n'est pas cochée, si c'est le
cas tu récupère la valeur de l'autre champ sinon c'est qu'il n'a pas
coché donc

    qu'il en veut 0*/

    if(isset($_POST["champ1a"])){

       $quantite = $_POST["champ1b"];

    }else{

       $quantite = 0;

    }

tu peux bien sûr mettre tout ça dans une boucle ;)
0

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

Posez votre question
tchoiotaff Messages postés 9 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 1 juillet 2009
20 sept. 2006 à 19:25
cool merci je vais voir ça... On m'a aussi parlé de la valeur de ma checkbox qui n'est pas bonne elle doit être 1 ou 0

----

-----
Je vous tiens au jus à pluche
0
jediNoobiewan Messages postés 67 Date d'inscription mardi 25 janvier 2005 Statut Membre Dernière intervention 20 octobre 2010
20 sept. 2006 à 21:28
Il n'est pas utile de mettre le champ value sur ta checkbox, par contre si tu veux la cocher par défaut il faut que tu fasses un truc du genre :

    name="champXa"/>

le value d'une checkbox peut être utile mais à mon avis pas pour ce que tu veux faire, le fait qu'elle soit coché ou non vient de l'attribut checked. Le checked="checked" n'est utile que si tu veux être conforme à la norme XHTML 1.0 sinon checked seul suffit.

Voilou =)
0
yul13 Messages postés 21 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 21 janvier 2009
4 janv. 2009 à 20:10
0
yul13 Messages postés 21 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 21 janvier 2009
4 janv. 2009 à 20:11
0
yul13 Messages postés 21 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 21 janvier 2009
4 janv. 2009 à 20:11
Bonsoir,

Je me permets de relancer ce sujet car mon problème est similaire mais la réponse donnée ici ne me correspond pas.

J'ai un formulaire de commande en html avec un quarantaine de produits (ici un exemple) :



<form action="confirmation.php" method="post" name="command" enctype="multipart/form-data">
<table>
<tr>
<th colspan="2">Feuilletés salés</th></tr>





               <tr>





                <td> Feuilletés au Fromage Feta Kourou</td>





                  <td>2€</td>





                <td>&nbsp;</td>





               
<td>x&nbsp;</td>





                <td></td>





              </tr>





              <tr>





                <td>Feuilletés au Fromage Kaseri</td>





                  <td>2€</td>





                <td>&nbsp;</td>





               
<td>x&nbsp;</td>





                <td></td>





            </tr>





            <tr>
<etc.>




et un php qui renvoie les données par mail :



    <?php

    $verif = '!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!';
   
    $msg =
    '
     
    Titre : $title
    Nom : $nom
    Pr&eacute;nom : $prenom
    Soci&eacute;t&eacute; : $societe
    Rue : $rue
    N&deg; / Bte : $no / $bte
    Code-postal - Ville : $cp - $ville
    Tel/GSM : $tel
    Email : $mail
   
    Commentaires : $comments
    ';

    $recipient = ' machinchose@yahoo.fr ';
    $subject = ' Livraison ';
     
     
    $mailheaders = " Livraison \n ";
   
    if(!preg_match($verif,$mail))
    {
        echo "Votre mail n'est pas valide, veuillez le réintroduire.

";
    }
    elseif (trim($nom)=="")
    {
       echo "Veuillez remplir les champs obligatoires !

";
    }
    elseif (trim($tel)=="")
    {
       echo "Veuillez remplir les champs obligatoires !

";
    }
    elseif (trim($mail)=="")
    {
       echo "Veuillez remplir les champs obligatoires !

";
    }
    else
    {
        mail($recipient, $subject, $msg, $mailheaders);
   
        echo "Merci, $title $prenom $nom

";
        echo "votre commande est en cours de traitement !

";
    }
    ?>


Et donc, voici ma question : comment demander à php d'envoyer les checkbox cochés et le nombre qui y leur est lié ?

Merci d'avance !
0
Rejoignez-nous