Bonjour,
J'ai recommencé à travailler sur le formulaire, avec les fonctions htlmspecialchars et eregi.
1) J'ai utilisé le formulaire avec le message suivant :
ce formulaire fonctionne-t-il ? Ce serait bien !
<strong>gras</strong>
&
""
'
écrire toujours écrire des c cédille ç à en avoir mal aux à et aux è
et cela donne :
ce formulaire fonctionne-t-il ? Ce serait bien !
<strong>gras</strong>
&
\"\"
\'
�crire toujours �crire des c c�dille � � en avoir mal aux � et aux �
donc les accents ne sont pas rendus. Est-ce normal ?
2) dans le message reçu, dans le champ "expéditeur", on trouve le nom de l'expéditeur donc de l'internaute comme premier argument d'une adresse e-mail sous la forme : nom at (domaine de l'adresse du destinataire).
Ce n'est pas gênant pour la compréhension de l'e-mail mais c'est quand même inattendu.
A propos,ne pourrais-je mettre dans le champ expéditeur l'e-mail de l'internaute au lieu de son nom :
au lieu de
.
3) Il n'est pas sûr du tout que j'ai bien implémenté le contrôle des headers (eregi).
Merci pour votre aide.
L'idée est d'obtenir des messages relativement compréhensibles tout en assurant un minimum de sécurité.
voici le code (plutôt long...)
le formulaire
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Contact</title>
<style type="text/css"></style>
<style title="MaFeuilleCss" media="all"
type="text/css">
#conteneur {
margin-left: 2%;
background-color: #f4eee4;
font-family: Arial,Helvetica,sans-serif;
width: 96%;
font-size: small;
text-align: justify;
}
#entete {
width: 100%;
background-color: transparent;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
#menu {
float: left;
width: 100px;
background-color: #b8b093;
font-weight: inherit;
}
#texte {
margin-left: 105px;
background-color: transparent;
padding-left: 20px;
padding-right: 30px;
}
#pied {
clear: left;
background-color: transparent;
}
#menuh {
background-color: #8c8670;
color: white;
}
h1 {
margin-top: 0;
margin-bottom: 0;
color: #756f5d;
}
h2 {
margin-top: 0;
color: #7b7562;
}
#menuv {
margin: 0;
padding: 0;
width: 85px;
list-style-type: none;
list-style-image: none;
list-style-position: outside;
font-weight: inherit;
display: block;
color: #ffffff;
}
#menuv li {
border: 1px solid #660000;
background: #cc0000 none repeat scroll 0% 50%;
color: #ffffff;
margin-bottom: 1px;
padding-top: 10px;
padding-bottom: 10px;
font-weight: inherit;
padding-left: 5px;
margin-left: 8px;
}
#menuv li a {
padding: 4px 0;
background: #cc0000 none repeat scroll 0% 50%;
display: block;
color: #ffffff;
line-height: 1em;
text-decoration: none;
}
#menuv li a:hover, #navigation li a:focus, #menuv li a:active {
background: #990000 none repeat scroll 0% 50%;
text-decoration: underline;
}
img {
}
.ImageCentre {
}
h3 {
color: #6b6555;
}
top {
font-size: x-small;
text-align: right;
}
.ImageVignetCouv {
border-style: none;
float: right;
}
</style>
</head>
<body>
<div id="conteneur">
<div id="entete">
<h1><a name="HautPage"></a>Contact</h1>
</div>
<div id="menuh"><br>
</div>
<div id="menu"><br>
<br>
<ul id="menuv">
<li><a href="index.html">Accueil</a></li>
<li><a href="Ouvrage.html">L'ouvrage</a></li>
<li><a href="Auteur.html">L'auteur</a></li>
<li><a href="Achat.html">Achat</a></li>
<li><a href="Contact.html">Contact</a></li>
<li><a href="Partenaires.html">Partenaires</a></li>
</ul>
<br>
<br>
<br>
<br>
</div>
<div id="texte">
<br>
Si vous voulez vous pouvez communiquer vos suggestions, vos remarques
...<br>
<br>
N'oubliez pas d'indiquer votre e-mail pour la réponse.<br>
<br>
<br>
<form method="post" action="envoi.php" name="Contact">
Nom Prenom : <input size="25"
name="Nom" maxlength="24"><br>
<br>
Fonction : <input size="33" name="Fonction"
maxlength="32"><br>
<br>
<br>
Ville-Pays : <input size="28" name="VillePays"
maxlength="27"><br>
<br>
E-mail : <input size="35" name="eMail"><br>
<br>
<textarea name="Message" rows="15" cols="50">votre
message</textarea><br>
<br>
<br>
<br>
Valider <input name="val" value="OK" type="submit">
ou <input name="recom"
value="recommencer" type="reset"><br>
<br>
<br>
<br>
<top><a href="#HautPage">top</a></top><br>
</form>
<div id="pied"><br>
</div>
</div>
</div>
</body>
</html>
la page d'envoi
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Envoi.php</title>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<style type="text/css"></style>
<style title="MaFeuilleCss" media="all"
type="text/css">
#conteneur {
margin-left: 2%;
background-color: #f4eee4;
font-family: Arial,Helvetica,sans-serif;
width: 96%;
font-size: small;
text-align: justify;
}
#entete {
width: 100%;
background-color: transparent;
text-align: center;
padding-top: 10px;
padding-bottom: 10px;
}
#menu {
float: left;
width: 100px;
background-color: #b8b093;
font-weight: inherit;
}
#texte {
margin-left: 105px;
background-color: transparent;
padding-left: 20px;
padding-right: 30px;
}
#pied {
clear: left;
background-color: transparent;
}
#menuh {
background-color: #8c8670;
color: white;
}
h1 {
margin-top: 0;
margin-bottom: 0;
color: #756f5d;
}
h2 {
margin-top: 0;
color: #7b7562;
}
#menuv {
margin: 0;
padding: 0;
width: 85px;
list-style-type: none;
list-style-image: none;
list-style-position: outside;
font-weight: inherit;
display: block;
color: #ffffff;
}
#menuv li {
border: 1px solid #660000;
background: #cc0000 none repeat scroll 0% 50%;
color: #ffffff;
margin-bottom: 1px;
padding-top: 10px;
padding-bottom: 10px;
font-weight: inherit;
padding-left: 5px;
margin-left: 8px;
}
#menuv li a {
padding: 4px 0;
background: #cc0000 none repeat scroll 0% 50%;
display: block;
color: #ffffff;
line-height: 1em;
text-decoration: none;
}
#menuv li a:hover, #navigation li a:focus, #menuv li a:active {
background: #990000 none repeat scroll 0% 50%;
text-decoration: underline;
}
img {
}
.ImageCentre {
}
h3 {
color: #6b6555;
}
top {
font-size: x-small;
text-align: right;
}
.ImageVignetCouv {
border-style: none;
float: right;
}
</style>
</head>
<body>
<div id="conteneur">
<div id="entete">
<h1><a name="HautPage"></a></h1>
<h1>Contact</h1>
</div>
<div id="menuh"><br>
</div>
<div id="menu"><br>
<br>
<ul id="menuv">
<li><a href="index.html">Accueil</a></li>
<li><a href="Ouvrage.html">L'ouvrage</a></li>
<li><a href="Auteur.html">L'auteur</a></li>
<li><a href="Achat.html">Achat</a></li>
<li><a href="Contact.html">Contact</a></li>
<li><a href="Partenaires.html">Partenaires</a></li>
</ul>
<br>
</div>
<div id="texte">
<br>
<em>Voici le message que vous venez d'envoyer.<br>
S'il ne vous satisfait pas, n'hésitez pas à recommencer.</em><br>
<br>
<br>
<br>
<?php $np = htmlspecialchars($_POST['Nom']); $f = htmlspecialchars($_POST['Fonction']); $vp = htmlspecialchars($_POST['VillePays']);$eml = htmlspecialchars($_POST['eMail']);$ms = htmlspecialchars($_POST['Message']);
echo "Votre nom :<strong> $np </strong><br /><br>";
echo "Votre fonction :<strong> $f </strong><br /><br>";
echo "Vous habitez :<strong> $vp </strong><br /><br>";
echo "Votre e-mail :<strong> $eml </strong><br /><br>";
echo "Votre message :<strong> $ms </strong><br />";
$message = "$np \n";
$message .= "Fonction : $f \n";
$message .= "Ville Pays : $vp \n";
$message .= "E-mail : $eml \n";
$message .= "Message : $ms \n";
mail ("destinataire at domaine", "Contact Web", $message, "From: $np");
if (eregi("\r",$np) || eregi("\n",$np)){
die("Pourquoi spammer ? :(");
}?><br>
<br>
<br>
</div>
</div>
</body>
</html>
Message envoyé avec : Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Wysigot 6.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)