Salut,
Je dois faire un formulaire de contact pour un site. Mais je suis tombé sur un os (ou plusieurs...)
.
J'avais pensé le faire de la manière suivante:
Un page html avec le formulaire dedans avec la methode post et comme action appel de traitement.php.
Dans le fichier traitement.php je teste si tous les champs sont remplis et je mets en forme pour l'envoyer par mail.
Mes problèmes sont les suivants:
1. Si on utilise des caractère spéciaux genre "é" et autres, dans le mail que je reçois ça le traduit en "é"...
2. Si on ne remplis pas tous les champs il y a message qui vient et dit de les remplir (cf code traitement.php ->plus bas
). Mais comment faire pour revenir sur la page du formulaire sans que les champs soient effacés?
Voila le script de traitement:
En tous cas merci pour votre aide parce qu'en php je suis une cruche
Modifié par climax (05 May 2007 - 11:35)
Je dois faire un formulaire de contact pour un site. Mais je suis tombé sur un os (ou plusieurs...)

J'avais pensé le faire de la manière suivante:
Un page html avec le formulaire dedans avec la methode post et comme action appel de traitement.php.
Dans le fichier traitement.php je teste si tous les champs sont remplis et je mets en forme pour l'envoyer par mail.
Mes problèmes sont les suivants:
1. Si on utilise des caractère spéciaux genre "é" et autres, dans le mail que je reçois ça le traduit en "é"...
2. Si on ne remplis pas tous les champs il y a message qui vient et dit de les remplir (cf code traitement.php ->plus bas

Voila le script de traitement:
<?
$msg_erreur = "<br/><br/>Attention! Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "<br/><br/>Votre message a bien été envoyé et sera traité le plus rapidement possible.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','sebaz@freesurf.ch');
define('MAIL_SUJET','Message du site EasyIn.ch');
// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['prenom']))
$message .= "Votre prénom<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['npa']))
$message .= "Votre code postal<br/>";
if (empty($_POST['localite']))
$message .= "Votre localité<br/>";
if (empty($_POST['telephone']))
$message .= "Votre N° de téléphone<br/>";
if (empty($_POST['email']))
$message .= "Votre adresse e-mail<br/>";
if (empty($_POST['message']))
$message .= "Votre message<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}
//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-15"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-MailerPHP/' . phpversion()."\r\n";
// préparation du corps du mail
$mail_corps = "Message de : $nom $prenom\n";
$mail_corps .= "Adresse : $adresse, $npa, $localite, $pays\n";
$mail_corps .= "No tel : $telephone\n";
$mail_corps .= "E-mail : $email\n\n\n";
$mail_corps .= $message;
// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {
//Le mail est bien expédié
echo $msg_ok;
} else {
//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire';
}
}
?>
En tous cas merci pour votre aide parce qu'en php je suis une cruche

Modifié par climax (05 May 2007 - 11:35)