Question sur mon formulaire de contact
Bonjour à tous je suis actuellement en train de réaliser un formulaire de contact en m'inspirant d'un script que j'avais trouver sur un site et le voici modifier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| <?php
function formulaire($Nom="",$Email="",$Sujet="",$Texte="") {
?>
<form action="<?php echo $PHP_SELF ?>" method="post" enctype=="text/plain">
<p>
<label>Votre nom</label>
<input type="text" class="textfield" name="Nom" size="18" value="<?php echo trim(htmlentities($Nom)) ?>" />
</p>
<p>
<label> E-mail</label>
<input class="textfield" type="text" name="Email" size="18" value="<?php echo trim(htmlentities($Email)) ?>"/>
</p>
<p>
<label>Sujet</label>
<select class="textfield" name="Sujet" value="<?php echo trim(htmlentities($Sujet)) ?>">
<option>Question</option>
<option>Suggestion</option>
<option>Problème</option>
<option>Autre</option>
</select>
</p>
<p>
<label>Texte</label>
<textarea name="Texte" cols="30" rows="5" value="<?php echo trim(htmlentities($Texte)) ?>"></textarea>
</p>
<p style="text-align:center; padding-top:6px;">
<input name="envoyer" src="img/bouton_envoyer.png" type="image" />
</p>
<?
}
if(!isset($Nom)) {
formulaire();
}
else {
$vNom=trim(htmlentities($_POST["Nom"]));
$vEmail=trim(htmlentities($_POST["Email"]));
$vSujet=trim($_POST["Sujet"]);
$vTexte=trim(htmlentities($_POST["Texte"]));
$destinataire='mon_email';
$headers = "From: $Nom <$Email>\n";
$headers.= "Reply-To: $Email\n";
$message.= "Navigateur : $HTTP_USER_AGENT\n";
$message.="Nom : $vNom\n";
$message.="Email : $vEmail\n";
$message.="Sujet : $vSujet\n";
$message.="Message : $vTexte\n";
if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$vEmail) && ($erreur<>1)){
echo '<p>E-mail invalide:</p>';
$erreur=1;
}
if ($erreur==1) {
formulaire($Nom,$Email,$Sujet,$Texte);
}
else {
mail($destinataire,$vSujet,$message,$headers) ;
echo'<p style="text-align:center; padding-bottom:15px;">Votre E-mail a bien été envoyer.</p>' ;
}
}
?>
</form> |
Plusieurs question m'interpellent pour l'instant:
_J'aimerais que lorsque l'utilisateur se trompe au lieu d'afficher un message plutot mettre en rouge le texte a coté du champ: par exemple Boby oublie de mettre un message et op en envoyant le texte "Texte" se met en rouge.
_J'ai un sécond problème lrosque un mail est envoyé avec des caractèère genre des accent , des ¤^*ù signe comme cela ceux -ci ne sont pas encoder comment pourrais-je faire ?