Page 1 sur 1

[PHP] Probleme de formulaire

Posté : 14 juin 2007, 12:27
par gloop1
Bonjour voila j'ai créé un formulaire en html auquel j'ai associer un php pour l'envoi. Mon formulaire possede des "chekbox". Est il possible de NE PAS RECEVOIR les cases NONcoché ??

Voila par exemple pvc bois et alu sont 3 cases le client en coche une je veux recevoir que celle la par mail !
MERCI d'avance...
mon
 : 

<?php

 $msg .= "[color=red]PVC fenetre[/color]:\t$pvc_fenetre\n";
 $msg .= "[color=red]BOIS fenetre[/color]:\t$bois_fenetre\n";
 $msg .= "[color=red]ALU fenetre[/color]:\t$alu_fenetre\n";
 $msg .= "Nombre de fenetre:\t$fenetre\n";
 $msg .= "PVC Porte fenetre:\t$pvc_pf\n";
 $msg .= "BOIS porte fenetre:\t$bois_pf\n";
 $msg .= "Alu porte fenetre:\t$alu_pf\n";
 $msg .= "Nombre de porte fenetre:\t$pf\n";
 $msg .= "PVC Volet Battant:\t$pvc_vb\n";
 $msg .= "BOIS Volet Battant:\t$bois_vb\n";
 $msg .= "Alu Volet Battant:\t$alu_vb\n";
 $msg .= "Nombre de volet battant:\t$vb\n";
 $msg .= "PVC Volet Roulant:\t$pvc_vr\n";
 $msg .= "BOIS Volet Roulant:\t$bois_vr\n";
 $msg .= "Alu Volet Roulant:\t$alu_vr\n";
 $msg .= "Nombre de volet Roulant:\t$vr\n";
 $msg .= "PVC Porte:\t$pvc_porte\n";
 $msg .= "BOIS Porte:\t$bois_porte\n";
 $msg .= "Alu Porte:\t$alu_porte\n";
 $msg .= "Nombre Porte:\t$porte\n";
 $msg .= "PVC Portail:\t$pvc_portail\n";
 $msg .= "BOIS Portail:\t$bois_portail\n";
 $msg .= "Alu Portail:\t$alu_portail\n";
 $msg .= "Nombre de Portail:\t$portail\n";

 $msg .= "Civilité:\t$Contact_Civilite\n";
 $msg .= "Prenom:\t$Contact_Prenom\n";
 $msg .= "Nom:\t$Contact_Nom\n";
 $msg .= "Adresse:\t$Contact_Adresse\n";
 $msg .= "Adresse (suite):\t$Contact_Adresse2\n";
 $msg .= "Ville:\t$Contact_Ville\n";
 $msg .= "Code Postal:\t$Contact_CodePostal\n";
 $msg .= "Telephone Portable:\t$Contact_TelephonePortable\n";
 $msg .= "Telephone Personnel:\t$Contact_TelephoneDomicile\n";
 $msg .= "Courrier électronique:\t$Contact_Email\n";
 $msg .= "Projet:\t$Contact_projet\n";

 $msg .= "Technicien :\t$choix_technicien\n";
 $msg .= "Devis par email:\t$choix_email\n";
 $msg .= "Devis par courrier:\t$choix_courrier\n";
 
 
 $recipient = "[email protected]";
 $subject = "Demande de devis";


 $mailheaders .= "Reply-To: $Contact_Email\n\n";

 mail($recipient, $subject, $msg, $mailheaders);

 echo "<HTML><HEAD>";
 echo "<TITLE>Demande de devis envoyée!</TITLE></HEAD><BODY>";
 echo "<H1 align=center>Merci </H1>";
 echo "<P align=center>";
 echo "Votre demande de devis à bien été envoyée !</P>";
 echo "</BODY></HTML>";

?>


Posté : 22 juin 2007, 19:27
par gloop1
???? :shock:

Posté : 22 juin 2007, 19:49
par Cyrano
T'es-tu posé la question de pourquoi personne n'a répondu ?

Pour autant qu'on puisse en juger d'après ton code, il faudrait que tu ne rajoutes QUE les lignes quand la variable associée contient une valeur. DOnc pour chaque ligne :
 if(isset($pvc_fenetre))
{
    $msg .= "PVC fenetre:\t". $pvc_fenetre ."\n";
}

Posté : 24 juin 2007, 16:37
par Gloop1
Okai super ca marche pour les checkboxs mais c'est possible avec une case champs ( c'est a dire de ne pas envoyer un blanc ) ?
$msg .= "Nombre de fenetre:\t$fenetre\n";
j'ai essayé :
if(isset($fenetre)) {$msg .= "Nombre de fenetre:\t". $fenetre ."\n";}
Mais cela ne marche pas....

Une idée ??

Posté : 24 juin 2007, 18:39
par Cyrano
pour les zones de saisie, au lieu de isset(), utilise empty().

Une case à cocher ou un bouton radio ne renvoie de valeur que s'il est coché. Une zone de saisie renverra toujour quelque chose, y compris une chaine vide.
Donc :
if(!empty($fenetre)) {$msg .= "Nombre de fenetre:\t". $fenetre ."\n";}

Posté : 26 juin 2007, 17:42
par gloop1
pour les zones de saisie, au lieu de isset(), utilise empty().

Une case à cocher ou un bouton radio ne renvoie de valeur que s'il est coché. Une zone de saisie renverra toujour quelque chose, y compris une chaine vide.
Donc :
if(!empty($fenetre)) {$msg .= "Nombre de fenetre:\t". $fenetre ."\n";}

Alors si le camp est vide il n'y a pas de moyen de ne pas recevoir ce vide ???

Posté : 26 juin 2007, 17:47
par orgerix
Non, le formulaire envoie toujours les champs text, quelque soit leur valeur. Cependant, tu peux traiter avec ton script le cas des champs vides.