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 : Sélectionner tout - Visualiser dans une fenêtre à part
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&egrave;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 ?