Formulaire et case à coché

Signaler
Messages postés
9
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2009
-
Messages postés
21
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
21 janvier 2009
-
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

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
26
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'
Messages postés
9
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2009

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


 




 
Messages postés
9
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2009

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
Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

<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 ;)
Messages postés
9
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2009

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
Messages postés
67
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
20 octobre 2010

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 =)
Messages postés
21
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
21 janvier 2009

Messages postés
21
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
21 janvier 2009

Messages postés
21
Date d'inscription
samedi 9 octobre 2004
Statut
Membre
Dernière intervention
21 janvier 2009

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 !