Pb de code 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 : Pb de code formulaire de contact

Pb de code formulaire de contact

par Raphael3922 » 14 juin 2017, 09:40

Bonjour,

Je viens vers vous car j'élabore un formulaire de contact pour un site et j'ai deux problemes :
1°) d'envoi de mail quand on valaide (en cliquant sur le bouton du formulaire) : la personne (sender) qui rempli le formulaire ne recoit pas de mail de confirmation alors que les deux autres les recoivent.
2°)quand les personne qui recoivent le mail (secretariat et webmaster) clique sur le bouton (de leur logiciel de messagerie) repondre, ils voient apparaitre deux fois l'adresse correspondante a reply.

Voici mon code :

Code : Tout sélectionner

<?php //WF SIP 04 2017 //WF SIP 06 2017 // remplacement de cleanInput et sanitize par la fonction intégrée FILTER_SANITIZE_STRING // reprise gestion de la variable $message en la découpant en trois partie // $coprs_mail1, $message et $coprs_mail2 // connexion SGBD $host="localhost"; $db= "formulairesi"; $user= "si"; $pass="tPNt7T5JXe" ; $connexion = mysql_connect($host, $user, $pass) or die("erreur de connexion !") ; mysql_select_db($db) or die("erreur de connexion a la base ".$db) ; // ##################################################################### // ## FUNCTIONS DIVERSES $_POST = filter_var_array($_POST, FILTER_SANITIZE_STRING); /* function cleanInput($input) { $search = array( '@<script[^>]*?>.*?</script>@si', // Strip out javascript '@<[\/\!]*?[^<>]*?>@si', // Strip out HTML tags '@<style[^>]*?>.*?</style>@siU', // Strip style tags properly '@<![\s\S]*?--[ \t\n\r]*>@' // Strip multi-line comments ); $output = preg_replace($search, '', $input); return $output; } function sanitize($input) { if (is_array($input)) { foreach($input as $var=>$val) { $output[$var] = sanitize($val); } } else { if (get_magic_quotes_gpc()) { $input = stripslashes($input); } $input = cleanInput($input); $output = mysql_real_escape_string($input); } return $output; } */ if ( isset ($_POST['envoi'])) { // ##################################################################### // ## V A R I A B L E S $webmaster = "[email protected]"; $secretariat = "[email protected]"; $reply = "[email protected]"; $from = "[email protected]"; // NE RIEN CHANGER ci dessous $date_recept = date("Y-m-d"); // date du jour $mail_mime = "From:Emailer-SI< $from>\n"; $mail_mime .= "Reply-to:$reply\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-type: text/html; charset=utf8\n"; $email = $_POST['email']; $nom = $_POST['nom']; $prenom = $_POST['prenom']; $message = $_POST['message']; $antispam = $_POST['noPollution'] ; $remote_adr = $_SERVER['REMOTE_ADDR'] ; $message_blocage = "email : ". $email ." - antispam : ". $antispam ." - remote adr : ".$remote_adr ; // test DNS et antispam pour fausses inscriptions $domain = strstr($email, '@'); $domain = trim($domain, " @"); $dnsr = dns_get_record($domain, DNS_ALL - DNS_PTR); if (!$dnsr) { $sujet = "erreur de DNS"; echo "THIS EMAIL IS NOT AVALAIBLE. PLEASE CHECK IT" ; mail($webmaster,"contact - SI - erreur de DNS",$message_blocage) ; exit; } if ($antispam != "") { mail($webmaster, "contact - SI - SPAM", $message_blocage) ; exit ; } // M E S S A G E $corps_mail1 = " \n\n\n\n Merci pour votre message du ".$date_recept."\n\n" ; $corps_mail1 .= "Nom : ".$nom." ".$prenom."\n"; $corps_mail1 .= "email : ".$email."\n\n"; $corps_mail1 .= "Nous répondons à votre message dès que possible par mail à cette adresse : ".$email."\n\n"; $corps_mail2 .= "\n\n L'équipe du SI \n\n\n\n"; // E N V O I $adherent = $_POST['adherent']; $objet = $_POST['objet']; $sujet = "CONTACT SI ". $adherent ." - ". $objet ; $mail_mime .= "From:Emailer-SI <$from>\n"; $mail_mime .= "Reply-to:$reply\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-type: text/html; charset=utf8\n"; // texte pour les navigateurs qui acceptent le HTML $texte_HTML = nl2br($corps_mail1)."<hr>".nl2br($message)."<hr>".nl2br($corps_mail2); mail($email, $sujet, $texte_HTML, $mail_mime); // ENVOIE MAIL A SENDER mail($webmaster, $sujet, $texte_HTML, $mail_mime);// ENVOIE MAIL A WEBMASTER mail($secretariat, $sujet, $texte_HTML, $mail_mime);// ENVOIE MAIL A SECRETARIAT // connexion SGBD $texte = addslashes($texte_HTML); $host="localhost"; $db= "formulairesi"; $user= "si"; $pass="tPNt7T5JXe" ; $connexion = mysql_connect($host, $user, $pass) or die("erreur de connexion !") ; mysql_select_db($db) or die("erreur de connexion a la base ".$db) ; $sql = "INSERT INTO formulaire SET date_recept='$date_recept',nom='$nom',prenom='$prenom',mail='$email',objet='sujet',texte='$texte'" ; $resultat = mysql_query($sql); // echo $sql ; if ( mysql_error() !="") {echo $sql . "<br>" . mysql_error();} mysql_close(); mysql_free_result(); echo $texte_HTML ; exit ; } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Contact -SI</title> <style type="text/css"> label { width: 200px; float: left; text-align: right; font-weight: 400; padding-right: 8px; } legend{ color: #00A0FE; font-size: 1.2em; padding-left: 40px; } </style> <script src="/_js/jquery-3.2.1.min.js"></script> <script src="/_js/jalertable/jquery.alertable.js"></script> <link href="/_js/jalertable/jquery.alertable.css" rel="stylesheet"> <script> $( document ).ready(function() { $(":input").change(function(){ $( this ).css( "background-color", "white" ); $(this).css('color','black'); }); }); function ctrlText(champ,texte) { if ( $('#'+champ).val() =="" ){ $.alertable.alert(texte); $( '#'+champ ).css( "background-color", "red" ) ; $('#'+champ).css("color","white") ; return false; } } function ctrlRadio(champ,text) { nb = $('input[type=radio][name='+champ+']:checked').length; if (nb == 0 ) { $.alertable.alert(text); $('#'+champ).css("background-color","red") ;return false ; } } function ctrlEmail(champ) { var email = $('#'+champ).val() ; var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/; var result = emailReg.test(email ); if (result == false) { $.alertable.alert("Email non valable"); $('#'+champ).val(""); $('#'+champ).css("background-color","red"); } return result ; } function validation() { tmp = ctrlText("nom", "Saissisez votre nom"); if (tmp == false ){return false ; } tmp = ctrlText("prenom", "Saissisez votre prénom"); if (tmp == false ){return false ; } tmp = ctrlText("email", "Saissisez votre email"); if (tmp == false ){return false ; } tmp = ctrlEmail("email") if (tmp == false ){return false ; } tmp = ctrlRadio("adherent","Merci de noter si vous êtes adhérent ou non") if (tmp == false ){return false ; } tmp = ctrlRadio("objet","Merci de noter l\'objet de votre message") if (tmp == false ){return false ; } tmp = ctrlText("message", "Saissisez votre message"); if (tmp == false ){return false ; } } </script> </head> <body> <div id="formContact"> <form enctype="multipart/form-data" action="#" method="POST" id="contact" name="ocntact" accept-charset="UTF-8" onsubmit="javascript: return validation();"> <fieldset><legend>Votre identite :</legend> <p><label> Nom</label> <input id="nom" name="nom" type="text" size "60"></p> <p><label> Prénom</label> <input id="prenom" name="prenom" type="text" size "60"></p> <p><label> Email </label> <input id="email" name="email" type="text" size "60"></p> </fieldset> <fieldset><legend>Etes vous adhérent ?</legend> <p><label>Oui</label><input id="adherentOui" name="adherent" value="adherent" type="radio"></p> <p><label>Non</label><input id="adherentNon" name="adherent" value="non_adherent" type="radio"></p> </fieldset> <fieldset><legend>Objet de votre message :</legend> <p><label>Salaire Traitement</label><input id="objetST" name="objet" value="Salaire" type="radio"></p> <p><label>Carrière</label> <input id="objetCA" name="objet" value="Carriere" type="radio"></p> <p><label>Grève</label> <input id="objetGR" name="objet" value="Greve" type="radio"></p> <p><label>Divers</label> <input id="objetDI" name="objet" value="Divers" type="radio"></p> </fieldset> <fieldset> <p><label>Votre Message</label></p> <textarea id="message" name="message" placeholder="écrivez-nous" cols="60" rows="5"></textarea> </fieldset> <input type="hidden" id="noPollution" name="noPollution" size="40" value=""> <p align="center"><input type="submit" name = "envoi" id = "envoi" value ="Ecrire au SI"/></p> </form> </div> </body> </html>
Pouvez vous m'aider ? m'apporter vos remarques, vos corrections ? svp merci

Bonne journee

Raphael3922