Bonsoir,
Je vous explique le problème qui va me faire perdre tous mes cheveux !
Je réalise 2 formulaires de contact en php sur 2 pages distinctes.
J'ai récupéré le script sur Internet, il marche très bien. Je l'ai modifié à ma façon, mais le problème ne vient pas de là.
Seulement je veux, quand je reçois le mail sur ma boîte de messagerie, qu'il y ait dans le champ 'objet' un texte avant, exemple
MAIL UTILISATEUR - 'objet écrit par l'utilisateur'
Aidez moi ...
Je vous explique le problème qui va me faire perdre tous mes cheveux !
Je réalise 2 formulaires de contact en php sur 2 pages distinctes.
J'ai récupéré le script sur Internet, il marche très bien. Je l'ai modifié à ma façon, mais le problème ne vient pas de là.
Seulement je veux, quand je reçois le mail sur ma boîte de messagerie, qu'il y ait dans le champ 'objet' un texte avant, exemple
MAIL UTILISATEUR - 'objet écrit par l'utilisateur'
Aidez moi ...
<?php
/*
********************************************************************************************
CONFIGURATION
********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = '*******@gmail.com';
// copie ? (envoie une copie au visiteur)
$copie = 'non';
// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du message a échoué, veuillez réessayer SVP.";
// Message d'erreur du formulaire
$message_formulaire_invalide = "Il y a une erreur dans le formulaire";
// Quel compte utiliser
$client = "MAIL UTILISATEUR";
$pro = "MAIL COMMERCIAL";
/*
********************************************************************************************
FIN DE LA CONFIGURATION
********************************************************************************************
*/
/*
* cette fonction sert à nettoyer et enregistrer un texte
*/
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}
$text = nl2br($text);
return $text;
};
/*
* Cette fonction sert à vérifier la syntaxe d'un email
*/
function IsEmail($email)
{
$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(? [decu]? [decu]?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(? [decu]?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
return (($value === 0) || ($value === false)) ? false : true;
}
// formulaire envoyé, on récupère tous les champs.
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$objet = (isset($_POST['objet'])) ? Rec($_POST[$client'objet']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
// On va vérifier les variables et l'email ...
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin
if (isset($_POST['envoi']))
{
if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'From:'.$nom.' <'.$email.'>' . "\r\n";
//$headers .= 'Reply-To: '.$email. "\r\n" ;
//$headers .= 'X-Mailer [langue]HP/'.phpversion();
// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.','.$email;
}
else
{
$cible = $destinataire;
};
// Remplacement de certains caractères spéciaux
$message = str_replace("'","'",$message);
$message = str_replace("’","'",$message);
$message = str_replace(""",'"',$message);
$message = str_replace('<br>','',$message);
$message = str_replace('<br />','',$message);
$message = str_replace("<","<",$message);
$message = str_replace(">",">",$message);
$message = str_replace("&","&",$message);
// Envoi du mail
if (mail($cible, $client, $objet, $message, $headers))
{
echo '<p>'.$message_envoye.'</p>';
}
else
{
echo '<p>'.$message_non_envoye.'</p>';
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$message_formulaire_invalide.'</p>';
$err_formulaire = true;
};
}; // fin du if (!isset($_POST['envoi']))
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
// afficher le formulaire
echo '
<form id="contact" method="post" action="'.$form_action.'">
<fieldset>
<span class="input">
<span class="input_top"> </span>
<span class="input_middle">
<span class="name">Nom</span>
<input type="text" class="input_field" id="nom" name="nom" title="Entrez votre nom" value="'.stripslashes($nom).'" tabindex="1" />
</span>
<span class="input_bottom"> </span>
</span>
<br class="cl"/>
<span class="input">
<span class="input_top"> </span>
<span class="input_middle">
<span class="name">Email</span>
<input type="text" class="input_field" id="email" name="email" title="Entrez votre adresse email" value="'.stripslashes($email).'" tabindex="2" />
</span>
<span class="input_bottom"> </span>
</span>
<br class="cl"/>
<span class="input">
<span class="input_top"> </span>
<span class="input_middle">
<span class="name">Objet</span>
<input type="text" class="input_field" id="objet" name="objet" title="Entrez le sujet de votre message" value="'.stripslashes($objet).'" tabindex="3" />
</span>
<span class="input_bottom"> </span>
</span>
<br class="cl"/>
<span class="textarea">
<span class="textarea_top"> </span>
<span class="textarea_middle">
<span class="name">Message</span>
<textarea class="textarea_field" cols="30" rows="8" id="message" name="message" tabindex="4" title="Entrez votre message">'.stripslashes($message).'</textarea>
</span>
<span class="textarea_bottom"> </span>
</span><!-- End input -->
<br class="cl" />
</fieldset>
<div style="float:right"><input type="submit" class="envoi" name="envoi" value="Envoyer" /></div>
</form>';
};
?>