Bonjour à tous,

Je suis débutant dans le développement d'un site web et rencontre deux problèmes afin de finaliser mon formulaire de contact en PHP.

Mon hébergeur, Infomaniak en Suisse, conseille de placer le header ci-dessous dans le code PHP afin de résoudre le problème des caractères inhabituels.

header('Content-Type: text/html; charset=utf-8');

Ou placer cette ligne dans le code PHP ci-dessous ?

De plus, j'aimerais ajouter dans mon code une variable pour savoir si l'adresse e-mail est valide. Mais je ne sais pas où placer cette variable ni comment l'écrire.

C'est avec grand plaisir que je lirai vos réponses.

Un grand merci d'avance pour votre aide.

Philippe

<code>
<?php

$EmailFrom = Trim(stripslashes($_POST['EmailFrom']));
$EmailTo = "philippehebert6@hotmail.com";
$Subject = "Demande d'information du site RD Horloger";
$name = Trim(stripslashes($_POST['name']));
$email = Trim(stripslashes($_POST['email']));
$mobile = Trim(stripslashes($_POST['mobile']));
$message = Trim(stripslashes($_POST['message']));

// validation
$validationOK=true;
if (!$validationOK) {
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
exit;
}

// prepare email body text
$Body = "";
$Body .= "Nom et prénom: ";
$Body .= $name;
$Body .= "\n";
$Body .= "Email: ";
$Body .= $email;
$Body .= "\n";
$Body .= "Téléphone: ";
$Body .= $mobile;
$Body .= "\n";
$Body .= "Message: ";
$Body .= $message;
$Body .= "\n";

// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");

// redirect to success page
if ($success){
print "<meta http-equiv=\"refresh\" content=\"0;URL=form-redirection.html\">";
}
else{
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>
</code>
Bonjour,

pour l'encodage il suffit de rajouter ce bout de code suivant dans le header du html


<html>
    <head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8">
   </head>
<body>

</body>
</html>


comme traité sur différent sujet de ce forum pour envoyer un email sans se prendre la tête mieux vos faire usage de la classe PhpMailer.

Et pour contrôler si le format du mail saisi correspond bien, il suffit d'utiliser une expression régulière (voir ce tutoriel qui traite entre autres cette problématique).

PS : Je me permet de rebondir sur les premières lignes de votre message pour vous faire prendre conscience du rôle d'un "hébergeur". Son boulot c'est de mettre un service d'hébergement (serveur, dns, bande passante, etc) à disposition pas de former les clients à développer. L'analogie la plus proche serait de dire "je sais pas conduire, j'ai un accident de voiture, je demande de l'aide au concessionnaire". Smiley hum

@+
Modifié par gray_magic (08 Dec 2019 - 14:02)