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]
<?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>[/code]
Pouvez vous m'aider ? m'apporter vos remarques, vos corrections ? svp merci
Bonne journee
Raphael3922