e-mail par formulaire

Pardon pour ma réponse tardive.

Il y a un problème avec le gabarit. Voici ce que je reçois:
Bloc de code:
Madame Hélène Detroye (Tél : 04 90 36 34 76) vous a envoyé ce mail

Avec le message suivantÂ*:</p>

J'ai contourné le problème en passant le texte du gabarit en capitales.

A part ça, j'ai fait des recherches sur le web pour trouver un moyen d'afficher les messages d'erreur dans une fenêtre d'alerte plutôt que dans une nouvelle page HTML.
Mais je n'arrive à rien de concluant.

Puis-je abuser?

;)
le probl&#232;me des caract&#232;res vient de l'encodage, il faut que tout soit en UTF-8.

Pour avoir les erreurs dans des fen&#234;tre d'alertes, il faut le faire en javascript, c'est possible mais c'est chiant non ?

Enfin bon.

Il faudra de toute fa&#231;on recharger la pages, et l&#224; les erreurs seront afficher dans une alerte javascript &#224; la place d'&#234;tre dans la page elle m&#234;me.

Si tu ne veux pas avoir &#224; recharger la page alors il faut faire la gestion des erreurs en javascript.
 
Me revoilà.

J'ai pris de temps de comprendre un peu tout ça.

En piochant ici et là, j'ai fini par arriver à mes fins.
Sauf un souci avec la fonction stripslashes.

Ce qui se passe, c'est que lorsqu'on saisi un texte comportant une apostrophe (exemple: l'aventure) et qu'on oubli de remplir un champ requis, le script php recharge la page avec le message d'erreur adéquat mais toutes les apostrophes sont précédées d'un antislash (exemple: l'\aventure).
Pire encore, si on a oublié de remplir 2 champs requis on se retrouve avec 3 antislashs (exemple: l'\\\aventure). Et plus si affinité!

Quelqu'un pourrait-il m'expliquer ce qui ne va pas dans mon code?

Merci d'avance.

;)

Pour tester en ligne, c'est ici

Le code du formulaire:
Bloc de code:
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type"
        content="text/html; charset=utf-8" />
  <meta name="robots"
        content="none" />


  <title>contact</title>
  <link rel="stylesheet"
        type="text/css"
        media="screen"
        href="themes/styles.css" />
  <link rel="stylesheet"
        type="text/css"
        media="print"
        href="themes/print.css" />
  <link rel="stylesheet"
        type="text/css"
        media="handheld"
        href="themes/handheld.css" />
  <link rel="stylesheet"
        type="text/css"
        media="screen"
        href=
        "themes/css/width/width_default.css" />
  <link rel="stylesheet"
        type="text/css"
        media="screen"
        href=
        "themes/css/sidebar/sidebar_right.css" />
		<script type="text/javascript"
		src="files/javascript.js">
		</script>

</head>

<body>
		<div id="container">
			<div id="contentContainer">
				<div id="content">
					<?php
        if(!array_key_exists('formMessage', $_SESSION))
        $_SESSION['formMessage'] = "";
        if(!array_key_exists('form_element0', $_SESSION))
        $_SESSION['form_element0'] = "";
        if(!array_key_exists('form_element1', $_SESSION))
        $_SESSION['form_element1'] = "";
        if(!array_key_exists('form_element2', $_SESSION))
        $_SESSION['form_element2'] = "";
        if(!array_key_exists('form_element3', $_SESSION))
        $_SESSION['form_element3'] = "";
        if(!array_key_exists('form_element4', $_SESSION))
        $_SESSION['form_element4'] = "";
        if(!array_key_exists('form_element5', $_SESSION))
        $_SESSION['form_element5'] = "";
        if(!array_key_exists('form_element6', $_SESSION))
        $_SESSION['form_element6'] = "";
        ?>
					<div class="message-text">
          <?php
          if (!$_SESSION['formMessage']) { 
          echo " ";
          } else {
           echo $_SESSION['formMessage'];
           }
           ?>
        </div>
        <br />

        <form action="./files/mailer.php"
              method="post"
              enctype="multipart/form-data">
          <label>civilité</label> *
          <br />
          <input <?php if ($_SESSION['form_element0'] == "mademoiselle") { echo "checked"; } ?>
                type="radio"
                name="form_element0"
                value="mademoiselle" /><label>mademoiselle</label>
          <br />
          <input <?php if ($_SESSION['form_element0'] == "madame") { echo "checked"; } ?>
                type="radio"
                name="form_element0"
                value="madame" /><label>madame</label>
          <br />
          <input <?php if ($_SESSION['form_element0'] == "monsieur") { echo "checked"; } ?>
                type="radio"
                name="form_element0"
                value="monsieur" /><label>monsieur</label>
          <br />
          <br />
          <label>nom</label> *
          <br />
          <input class="form-input-field"
                type="text"
                value="<?php echo $_SESSION['form_element1']; ?>"
                name="form_element1"
                size="40" />
          <br />
          <br />
          <label>prénom</label>
          <br />
          <input class="form-input-field"
                type="text"
                value="<?php echo $_SESSION['form_element2']; ?>"
                name="form_element2"
                size="40" />
          <br />
          <br />
          <label>téléphone</label>
          <br />
          <input class="form-input-field"
                type="text"
                value="<?php echo $_SESSION['form_element3']; ?>"
                name="form_element3"
                size="40" />
          <br />
          <br />
          <label>e-mail</label> *
          <br />
          <input class="form-input-field"
                type="text"
                value="<?php echo $_SESSION['form_element4']; ?>"
                name="form_element4"
                size="40" />
          <br />
          <br />
          <label>objet</label> *
          <br />
          <input class="form-input-field"
                type="text"
                value="<?php echo $_SESSION['form_element5']; ?>"
                name="form_element5"
                size="40" />
          <br />
          <br />
          <label>message</label> *
          <br />
          <textarea class="form-input-field"
                name="form_element6"
                rows="8"
                cols="38">
<?php echo $_SESSION['form_element6']; ?>
</textarea>
          <br />
          <br />
          <input class="form-input-button"
                type="reset"
                name="resetButton"
                value="Effacer" /> <input class="form-input-button"
                type="submit"
                name="submitButton"
                value="Envoyer" />
        </form><?php session_destroy(); ?>

        <div class="clearer"></div>
      </div>
			</div>
		</div>
	</body>
</html>

Le code du script php:
Bloc de code:
<?php
session_start();
$_SESSION['form_element0'] = $_POST['form_element0'];
$_SESSION['form_element1'] = $_POST['form_element1'];
$_SESSION['form_element2'] = $_POST['form_element2'];
$_SESSION['form_element3'] = $_POST['form_element3'];
$_SESSION['form_element4'] = $_POST['form_element4'];
$_SESSION['form_element5'] = $_POST['form_element5'];
$_SESSION['form_element6'] = $_POST['form_element6'];
$form_element0 = $_SESSION['form_element0'];
$form_element1 = preg_replace("/\r/", "", $_SESSION['form_element1']);
$form_element1 = preg_replace("/\n/", "", $form_element1);
$form_element2 = $_SESSION['form_element2'];
$form_element3 = $_SESSION['form_element3'];
$form_element4 = $_SESSION['form_element4'];
$form_element5 = preg_replace("/\r/", "", $_SESSION['form_element5']);
$form_element5 = preg_replace("/\n/", "", $form_element5);
$form_element6 = $_SESSION['form_element6'];

if(!$_SESSION['form_element0'] || !$_SESSION['form_element1'] || !$_SESSION['form_element3'] || !$_SESSION['form_element5'] || !$_SESSION['form_element6']) {
$_SESSION['formMessage'] = "Les champs marqu&eacute;s d&rsquo;une * sont requis.\n";
Header("Location:../index.php");
exit(); }

elseif (!preg_match('!^[a-zA-Z0-9\.\+_-]+@[a-zA-Z0-9\._-]+\.[a-zA-Z]{2,4}$!U', $_SESSION['form_element4'])) {
$_SESSION['formMessage'] = 'Votre adresse e-mail n\'est pas valide'; Header("Location:../index.php"); exit(); }

else {
$email="[email protected]";


$from = stripslashes($form_element1)."<".stripslashes($form_element1).">";$subject= $form_element5;$message = "\ncivilit?© $form_element0\n\nnom $form_element1\n\npr?©nom $form_element2\n\nt?©l?©phone $form_element3\n\ne-mail $form_element4\n\nobjet $form_element5\n\nmessage $form_element6\n";
$headers="From: $from\n";if (file_exists($tmp_name)){
if(is_uploaded_file($tmp_name)){
$file = fopen($tmp_name,'rb');
$data = fread($file,filesize($tmp_name));
fclose($file);
$data = chunk_split(base64_encode($data));

}

$headers .= "MIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";

$message = "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type: text/plain; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$message . "\n\n"; 

$message .= "--{$mime_boundary}\n" .
"Content-Type: {$type};\n" .
" name=\"{$name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n"; 
}

SESSION_UNREGISTER('form_element0');
SESSION_UNREGISTER('form_element1');
SESSION_UNREGISTER('form_element2');
SESSION_UNREGISTER('form_element3');
SESSION_UNREGISTER('form_element4');
SESSION_UNREGISTER('form_element5');
SESSION_UNREGISTER('form_element6');
if (@mail($email, $subject, $message, $headers)) {$_SESSION["formMessage"] = "Merci, votre e-mail a bien &eacute;t&eacute; envoy&eacute;.";
header("Location: ../index.php");
} else {
$_SESSION["formMessage"] =  "Une erreur est survenue. Votre message n'a pas &eacute;t&eacute; envoyÈ&eacute;.";
header("Location: ../index.php");
}
}
?>