plusieurs questions sur formulaire de contact

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : plusieurs questions sur formulaire de contact

par alaingpl » 13 juin 2006, 00:31

cela devrait t'aider pour ta newsletter



Code : Tout sélectionner

Les boutons d'option fonctionnent par groupes de 2 minimum. Par exemple : Le code correspondant à cet exemple est le suivant : Code : HTMLAimez-vous les frites ? <input type="radio" name="frites" value="oui" checked="checked" /> Oui <input type="radio" name="frites" value="non" /> Non

par alaingpl » 13 juin 2006, 00:13

Tu as du code php entre les balises <head> et </head>. Je pense qu'il n'a rien à faire là.
Logiquement il doit se trouver entre les balise <body> et </Body>


Pour ta premiere question essaye d'enlever cette condition. Cela devrait fonctionner.
 //test date mariage 
   if (empty($date_mariage) | $date_mariage == "jj/mm/aaaa" ) 
      { 
      $check_date_mariage = "Veuillez saisir votre date de mariage en respectant le formatage"; 
      } 
   else { $champ6 = 1 ; }

par pp51 » 12 juin 2006, 22:26

oui exact désolé, voici le code
merci pour ton aide

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <style type="text/css"> </style> <? //fonction test email function verifie_email($email) { $email = strtolower($email); if (strlen($email) ==0){ return "Veuillez saisir un email pour vous répondre";} if (strlen($email) < 6){ return "$email : Email trop court";} if (strlen($email) > 255) {return "$email : Email trop long";} if (!ereg("@",$email)){ return "$email : L'email n'a pas d'arobase (@)";} if (preg_match_all("/([^a-zA-Z0-9_\@\.\-])/i", $email, $trouve)) { return "$email : caract&egrave;re(s) interdit dans un email (".implode(", ",$trouve[0]).")."; } if (!preg_match("/^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$/i", $email)) { return "$email : forme de l'email invalide."; } list($compte,$domaine)=split("@",$email,2); if (!checkdnsrr($domaine,"MX")){ return "$email : Ce domaine ($domaine) n'accepte pas les emails"; } return "1"; // valeur 1 = email OK } ?> </head> // Test les champs du formulaire si renseignés if ($test==1) { //test de l'email if (verifie_email($email) != 1 ) { $check_email = verifie_email($email); } else { $champ1 = 1;} // sinon ok //test nom if (empty($nom)) { $check_nom = "Veuillez saisir votre nom"; } else { $champ2 = 1 ; } //test prenom if (empty($prenom)) { $check_prenom = "Veuillez saisir votre prenom"; } else { $champ3 = 1 ; } //test ville if (empty($ville)) { $check_ville = "Veuillez saisir votre ville"; } else { $champ4 = 1 ; } //test code postal if (empty($cp)) { $check_cp = "Veuillez saisir votre code postal"; } if (strlen($cp) < 5) { $check_cp = "Veuillez saisir un code postal valide"; } else { $champ5 = 1 ; } //test date mariage if (empty($date_mariage) | $date_mariage == "jj/mm/aaaa" ) { $check_date_mariage = "Veuillez saisir votre date de mariage en respectant le formatage"; } else { $champ6 = 1 ; } $message; } //Si champ date vide inserer le model de formatage if ($date_mariage == "") { $date_mariage = "jj/mm/aaaa"; } //Test si tout les champs sont valide pour envoyer le mail if ( $test==1 && $champ1==1 && $champ2==1 && $champ3==1 && $champ4==1 && $champ5==1 && $champ6==1 ) { // destinataire $to = '[email protected]; // Sujet $subject = 'Demande Adresse Revendeur'; // message $textmail = "EMAIL : $email "; $textmail .="NOM: $nom "; $textmail .="PRENOM : $prenom "; $textmail .="VILLE : $ville "; $textmail .="CP : $cp "; $textmail .="DATE MARIAGE : $date_mariage "; $textmail .="MESSAGE : $message "; //header $headers = "From: $email <$email>"; // Envoi le mail et affiche le contenu du mail mail($to, $subject, $textmail, $headers); echo "<span class=\"Style52\">EMAIL : $email <br>NOM: $nom<br> PRENOM : $prenom<br> VILLE : $ville<br> CP : $cp<br> DATE MARIAGE : $date_mariage<br> MESSAGE : $message<br><br>"; echo "<b>Message Envoyé</b></span>"; } // affichage Formulaire si mail pas envoyé else { echo " <form id=\"form1\" name=\"form1\" method=\"post\" action=\"points-de-vente.php?test=1\" class=\"Style52\"> <label>email<br> <input name=\"email\" type=\"text\" id=\"email\" value=\"$email\" /> </label>$check_email <p> <label>Nom<br> <input name=\"nom\" type=\"text\" id=\"nom\" value=\"$nom\" /> </label>$check_nom </p> <p> <label>Prénom<br> <input name=\"prenom\" type=\"text\" id=\"prenom\" value=\"$prenom\" /> </label>$check_prenom </p> <p> <label>Ville<br> <input name=\"ville\" type=\"text\" id=\"ville\" value=\"$ville\"/> </label>$check_ville </p> <p> <label>Code postal<br> <input name=\"cp\" type=\"text\" id=\"cp\" maxlength=\"5\" value=\"$cp\"/> </label>$check_cp </p> <p> <label>Date Mariage<br> <input name=\"date_mariage\" type=\"text\" id=\"date_mariage\" value=\"$date_mariage\"/> </label>$check_date_mariage </p> <p> <label>Message<br> <textarea name=\"message\" cols=\"30\" rows=\"7\">$message</textarea> </label> </p> <p> <label> <input type=\"submit\" name=\"Submit\" value=\"Envoyer\" /> </label> </p> </form> "; } ?>

par alaingpl » 12 juin 2006, 22:22

salut,

même si je ne suis pas pro il nous faut ton formulaire et ton code avec lequel tu enregistres dans la bd.

Comme cela avec tes seules explications ça va être très difficile.

plusieurs questions sur formulaire de contact

par pp51 » 12 juin 2006, 21:45

Bonjour,

Je suis ultra débutant en php, aussi soyez indulgents :oops:

Je suis entrain de faire un formulaire de contact (hé oui, j'en suis encore là...)

Vous pouvez le voir ici: http://princessedunjour.com/test/points-de-vente.php

J'ai plusieurs questions sur cette page:
1. Je souhaite que le champ "date de mariage" soit facultatif. Or pour l'instant, il est obligatoire... comment faire ?

2. idem pour le champ code postal

3. Je souhaiterai ajouter une case à cocher du type "cochez cette case pour vous inscrire à la newsletter". Comment le faire et comment récupérer la valeur "oui"/"non" dans l'email ?

4. Lorsque l'on clique sur "Envoyer", tous les champs remplis sont réaffichés et on dit après "Message envoyé". Savez vous comment faire pour n'afficher que "Message envoyé" et pas ce que l'internaute à saisi dans le formulaire ?

5. Quand je reçois l'email, il n'y a aucune mise en page, c'est à dire que tous les champs se suivent sur la même ligne...
Comment faire pour que chaque champ dans l'email soit sur une ligne ?

Merci à tous :wink:

et dernière question, en parallèle de l'envoi du formulaire par email, est-il possible de stocker ces données dans un fichier (excel ou autre ?)