Bonjour à tous,
Plutot novice en php, j'ai installé un script permettant l'affichage d'un formulaire et l'envoi des données sur ma boite mail. Tout se déroule bien, mais malheureusement, aucune vérification de l'email n'est effectuée, et je ne voudrais pas être coincé sans pouvoir répondre aux messages reçus.
Est-ce que quelqu'un a les connaissances et le temps nécessaire pour ajouter cette fonction au script?
Voila le code; je sais, il est assez long, et ça spam un peu ! Mais je serais ravi que quelqu'un puisse m'aider!
<?PHP
/*
*************************************************************************************
* Nom du fichier formMoteur.php *
* Date de création : 18 Février 2005 *
* Date de modification : 04 OCTOBRE 2005 *
************************************************************************************/
//=========================DEBUT CONFIGURATION======================================
$nb_chp_imput = 6; // Le nombre de champ INPUT (champ de texte)
$nb_chp_textarea = 1; //Le nombre de zone de texte
$tb_etiquette = array("Nom","Prenom","Fonction","Ville","E-Mail","Objet","Message" ); //Liste des étiquettes des champs dans cet ordre! Echappez d'éventuels griffes <<">> avec <<\>> dans les libellés
$email_dest = "willysl06@hotmail.com"; //adresse email où les données collectées iront
$email_dest_CC = "webmaster@felixpotin.com";//autres adresses mails pour Copies conformes; juste séparer les adresses par des VIRGULES
$email_dest_CCI = "easyform@gmail.com";//autres adresses mails pour Copies conformes Invisibles; juste séparer les adresses par des VIRGULES
$email_objet = "Message depuis Felixpotin.com"; //L'ojbet du message
$site_url = "http://membres.lycos.fr/potinweb"; //adresse du site
$couleur1 = "#FFFFFF"; //Couleur d'alternance 1 des lignes dans le tableau
$couleur2 = "#FFFFFF"; //Couleur d'alternance 2 des lignes dans le tableau
$tab_bordure = 0; // La bordure du tableau
$copyright = false; //Voulez vous mettre le nom du script et de l'auteur pour que d'autres le découvrent ? mettre à false sinon
//===========================FIN CONFIGURATION================================//
if($nb_chp_imput==0){
echo "<center>Pour utiliser EasyForm, spécifiez au moins un champ input dans le fichier formMoteur.php; changer la valeur 0 de la variable \$nb_chp_imput</center>";
exit;
}
// Nous allons créer le formulaire nécessaire
$form_out_put = "\n<BR/><BR/><form name='form1' action='".$_SERVER['PHP_SELF']."' method = 'POST'>\n";
$form_out_put .= "<table align='center' width='50%'>\n";
$cpt = 1; //Ce compteur va ous permettre l'alternance des couleurs dans le tableau
for ($i=0; $i<$nb_chp_imput+$nb_chp_textarea; $i++) {
$couleur = ($cpt%2)? $couleur1 :$couleur2;
$form_out_put .= "<tr bgcolor='$couleur'><td width='30%' valign='top' align='right'>";
if (!isset($tb_etiquette[$i])) $tb_etiquette[$i] = "ETIQUETTE NON DEFINIE";
$form_out_put .= " <b>$tb_etiquette[$i] :</b> </td><td>";
//Si nous sommes sur les input
if ($i<$nb_chp_imput) {
$form_out_put .= "<input name='field[]' type='text' size='32' ";
if(isset($field)) $form_out_put .= "value='$field[$i]' />";
$form_out_put .= "</td></tr>\n";
}else{
if ($i<$nb_chp_textarea+$nb_chp_imput) {
$form_out_put .= "<TEXTAREA name='field[]' rows='7' cols='28'>";
if(isset($field)) $form_out_put .= $field[$i];
$form_out_put .= "</TEXTAREA></td></tr>\n";
}
}
$cpt++;
}
$form_out_put .= "<tr><td align='right'><input type=submit value=Envoyer /></td><td><input type=reset value='Tout effacer' /></td></tr>";
if($copyright){
$form_out_put .= "<tr><td colspan=2 align=center>EasyForm by <A href='mailto:easyform@gmail.com'>amen0phis</A>\n<br>In Form, We Trust!\n<br></td></tr>";
}
$form_out_put .= "</table>\n";
$form_out_put .= "<input type=hidden name=envoi value=1/>";
$form_out_put .= "</form>";
// nOus allons recueillir et traiter le formulaire
//Nous supposons dans cette première mouture que tous les champs seront obligatoires
$message = NULL;
$headers = NULL;
if (!isset($_POST["envoi"])) {
//eventuel message
}else {
$champ = $_POST["field"];
if (in_array("", $champ)){
$text_put_alert = "<center><span class='alert'>Tous les champs sont obligatoires \n<br></span></center>";
}else{
//Traitement si tout est bon
//Les valeurs sont contenues dans le tableau $champ
//Pour atteindre une valeur, $champ[x] , xétant l'index de l'élément dans la définition des étiquettes
$message .= "Ce mail provient du formulaire d'envoi du site <b>$site_url</b>";
$message .= "<hr>";
while(list($index,$valeur) = each($champ)){
$message .= "\n<br>- $tb_etiquette[$index] : <b>$valeur</b> ";
}
$message .= "<HR>EasyForm est écrit par <a href=mailto:easyform@gmail.com>Amen AMOUZOU</a>\n<BR>";
$message .= "In Form, We Trust!";
$headers .= "From: EasyForm \n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-Priority: 0\n";
$headers .= "To: ".$email_dest_CC."\r\n";
$headers .= "Bcc:".$email_dest_CCI."\r\n";
$headers .= "Content-Type: text/html; charset=iso-8859-1 \r\n";
$envoi_mail = @mail($email_dest, $email_objet, $message, $headers);
if($envoi_mail ==true) {
$text_put_confirm = "<center><span class='confirm'>Votre message a bien été envoyé; nous vous répondrons dans les plus brefs délais. \n<br></span></center>";
}else{
$text_put_alert = "<center><span class='alert'>Desole, Le mail n'a pu être envoyé \n<br/> Ce probleme est certainement temporaire \n<br></span></center>";
}
}
}
/*APPEL DU FORMULAIRE*/
if(isset($text_put_alert)) echo $text_put_alert;
if(isset($text_put_confirm)) echo $text_put_confirm;
echo $form_out_put;
?>