Bon alors avant de commencer, je suppose que ton serveur est configuré avec le paramètre "register_global" a on, ce qui n'est pas bon du tout. Il faudrait que tu corrige cela.
Une fois que ca sera fait, ton script ne fonctionnera plus. Tu ne pourrai plus récupérer tes varibles comme ca :
echo $champ1;
Il faudra que tu précise "qui" à envoyé la variable (POST, GET, SESSION, COOKIE...)
Donc tu devra faire cela pour afficher le contenu du champ1
echo $_POST['champ1'];
Tu peux également redéfinir tes variables : $champ1 = $_POST['champ1'];
Ce qui donnerai pour ton script :
- Code: Tout sélectionner
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?
$MailTo = "info@1234546.ch";
$MailSubject = "Contact depuis le site 123456;
$MailHeader = "From: $_POST['champ6']\n";
$Envoi = 1;
if ($_POST['champ1'] == ""){
echo("<font face=verdana size=2>Le formulaire n'est pas complet, il manque votre nom.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= " Nom : $_POST['champ1']\n";
}
if ($_POST['champ2'] == ""){
echo("<font face=verdana size=2>Le formulaire n'est pas complet, il manque votre prénom.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= " Prénom : $_POST['champ2']\n";
}
if ($_POST['champ6'] == ""){
echo("<font face=verdana size=2>Le formulaire n'est pas complet, il manque votre adresse e-mail.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= " E-mail : $_POST['champ6']\n";
}
if ($_POST['champ7'] == "0"){
echo("<font face=verdana size=2>Le formulaire n'est pas complet, il manque votre téléphone.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= " Téléphone : $_POST['champ7']\n";
}
if ($_POST['textarea1'] == ""){
echo("<font face=verdana size=2>Le formulaire n'est pas complet, il manque votre question.</font><br>");
$Envoi = 0;
}
else {
$MailBody .= " Question : $_POST['textarea1']\n";
}
if ($Envoi == 0) echo("<p> </p><p> </p><p align=center><a href=Javascript:history.go(-1)><strong>Retour</strong></a></p>");
//Envoi du message
if ($Envoi == 1) { //vérification que la variable envoi est bien à 1
mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message
echo("<p><font face=verdana size=2>Votre message a bien été envoyé à 123456.<br>Nous répondrons à votre demande dans les plus brefs délais.</font>"); echo("<p> </p><p align=\"center\"><a href=Javascript:history.go(-1)><strong>Poser une autre question</strong></a></p><p> </p><p align=\"center\"><a href=\presentations.php><strong>Retour au site</strong></a></p>"); //affichage d'un message de confirmation.
}
?>
</body>
</html>
Mais cela ne va pas forcément corriger ton problème d'accent dans tes e-mails.
On va essayer comme ça :
A la place de : $MailHeader = "From: $_POST['champ6']\n";
Met :
$MailHeader = "From: $_POST['champ6']\n";
$MailHeader .= "Content-type: text/plain; charset=iso-8859-1\n";
C'est pas dit que ca fonctionne, mais bon...faut essayer