Bonjour à tous,
petit nouveau siur ce forum, je cherche un tuto pour les formulaires avancé et je suis tombé sur cette video venant de ce site
http://www.grafikart.fr/tutoriels/php/formulaire-contact-avance-php-55
j'ai trouvé cela tres instructif, un grand bravo pour cela !
j'ai donc suivi les instructions de la video a la lettre et tout fonctionne tres bien jusqu'a la partie de vérification javascript avec jquery, j'ai saisi toutes les instructions de 20mn20 à 4omn28 et j'ai téléchargé cette version de jquery : http://code.jquery.com/jquery-1.7.2.min.js que j'ai renommé en jquery.js envoyé sur mon serveur dans le meme repertoire ou ce trouve ma page
et je vois vraiment pas ou est l'erreur sachant que sur mon navigateur le javascript est auhorisé et que mon serveur est mutualisé chez OVH.

Un grand merci a celui qui pourra m'aider

Voici comme code :

<?php
if (!empty($_POST)){
    extract($_POST);
    $valid = true;
    if(empty($nom)){
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }
    if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }
    if($valid){
        $to = "mail@mail.com";
        $sujet = $nom." a envoyé une demande via le formulaire du site";
        $header = "From: site@monsite.com \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else{
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }

    }
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<script type="text/javascript" language="javascript" src="jquery.js" ></script>
<script type="text/javascript">
    $(function() {
        $("#envoyer").click(function(){
            if($("#nom").val()==""){
                $("#nom").css("border-color","#FF0000");
                $("#nom").next(".error-message").text("Veuillez entrer un nom");
                valid=false;
            }
            else{
                $("#nom").css("border-color","#FF0000");
                $("#nom").next(".error-message").text("");
            }

            if($("#email").val()==""){
                $("#email").css("border-color","#FF0000");
                $("#email").next(".error-message").text("Veuillez entrer un email");
                valid=false;
            }
            else{
                if(!$("#email").val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i)){
                $("#email").css("border-color","#FF0000");
                $("#email").next(".error-message").text("Veuillez entrer un email valide");

                }
                else{               
                    $("#email").css("border-color","#FF0000");
                    $("#email").next(".error-message").text("");
                }
            }
                if($("#message").val()==""){
                $("#message").css("border-color","#FF0000");
                $("#message").next(".error-message").text("Veuillez entrer un message");
                valid=false;
            }
            else{
                $("#message").css("border-color","#FF0000");
                $("#message").next(".error-message").text("");
                }
            }

            return valid;
        });
    });
</script>
<style type="text/css">
input{
    border:dotted 1 px #7A7A7A
}
textarea{
    border:dotted 1 px #7A7A7A
    width:100%;
    height:150px;
}
input[type=submit]{
    background:#DDD;
    cursor:pointer;
}
input[type=submit]:over{
    background:#FFF;
}
.error-message{
    color:#FF0000;
}
</style>
</head>
<body>
<div id "contenu">
<h1>Formulaire de demande</h1>
<?php
    if(isset($erreur)){ echo "<p>$erreur</p>"; }
?>
<form method="post" action="formulaire.php">
<label for="nom">Nom :</label>
<br/><input type="text" name="nom" value="<?php if(isset($nom)) echo $nom; ?>"/>
<span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span>

<br/><label for="email">Email :</label>
<br/><input type="text" name="email" value="<?php if(isset($email)) echo $email; ?>"/>
<span class="error-message"><?php if(isset($erreuremail)) echo $erreuremail; ?></span>

<br/><label for="message">Votre message :</label>
<br/><textarea name="message" id="message"><?php if(isset($message)) echo $message; ?></textarea>
<span class="error-message"><?php if(isset($erreurmessage)) echo $erreurmessage; ?></span>

<br/><input type="submit" value="Envoyer" id="envoyer"/>
</form>
</div>
</body>
</html>

29 réponses


Abdias
Auteur
Réponse acceptée

Oui bien sur : http://www.xxxx.xxx/formulaire.php, d'ailleur pendant que j'y suis je ne parviens pas a rajouter l'object de la demande dans le corps du message. quand je fai ceci

if (mail($to,$sujet,$message,$header,$object)){

ca ne marche pas et si je fais ceci

if (mail($to,$sujet,$message,$object,$header)){

sa fonctionne mais pu le

$to

voila en gros mes deux soucis
je redonne le code php

<?php
if (!empty($_POST)){
    extract($_POST);
    $valid = true;
    if($adresse != ""){

    }
    else{
    if(empty($nom)){
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }
    if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }

    if($valid){
        if(!in_array($service,array("association","mada",))){ $service="association";}
        $to = "$service@monsite.com";
        $sujet = $nom." a envoy une demande via le formulaire du site" ;
        $header = "From: mail@mail.com \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else{
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }
    }
    }
}
?>
djtec
Réponse acceptée

Essaye ça:

<?php
//on regarde si il le formulaire est envoyé
if (!empty($_POST)){
    //si oui on extrait les données
    extract($_POST);
    $valid = true;

    //on regarde si le non est vide
    if(empty($nom)){
        //si oui, on déclare l'erreur
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }

    //on regarde si le champ email est vide
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    //si le champ email n'est pas vide on regarde si l'email est valide
    else if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }

    //on regarde si le champ message est rempli
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }

    //on regarde si il y eu une erreur
    if($valid){

        //on regarde si le service selectionné est dans le tableau
        if(!in_array($service,array("association","mada",))){
            //si pas dans un tableau, on indique le service
            $service="association";
        }

        $to = "$service@ezekias.org";
        $sujet = $nom." a envoy une demande via le formulaire du site" ;
        $header = "From: association@ezekias.org \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);

        //on appel la fonciton mail de php
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else
        {
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }
    }
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Document sans titre</title>
        <script type="text/javascript" language="Javascript" src="jquery.js"></script>
        <script type="text/javascript">
            jQuery(document).ready(function($){

                $("#adresse").hide();
                $("#monform").submit(function(){
                    var valid = true;
                    var name = $("#monform input[name=nom]");
                    var email = $("#monform input[name=email]");
                    var message = $("#monform textarea[name=message]");

                    if(name.val()==""){
                        name.css("border-color","#FF0000");
                        name.next(".error-message").text("Veuillez entrer un nom");
                        valid = false;
                    }
                    else{
                        name.css("border-color","#00ff00");
                        name.next(".error-message").text("");
                    }

                    if(email.val()==""){
                        email.css("border-color","#FF0000");
                        email.next(".error-message").text("Veuillez entrer un email");
                        valid = false;
                    }
                    else{

                        if(!email.val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i)){
                            email.css("border-color","#FF0000");
                            email.next(".error-message").text("Veuillez entrer un email valide");
                            valid = false;

                        }
                        else{              
                            email.css("border-color","#00FF00");
                            email.next(".error-message").text("");
                        }
                    }

                    if(message.val()==""){
                        message.css("border-color","#FF0000");
                        message.next(".error-message").text("Veuillez entrer un message");
                        valid = false;
                    }
                    else{
                        message.css("border-color","#00FF00");
                        message.next(".error-message").text("");
                    }

                    if(valid) {
                        return true;
                    } else {
                        return false;
                    }
                });
            });
        </script>
        <style type="text/css">
            input{
                border:dotted 1px #7A7A7A;
            }
            textarea{
                border:dotted 1px #7A7A7A;
                width:100%;
                height:150px;
            }
            input[type=submit]{
                background:#DDD;
                cursor:pointer;
            }
            input[type=submit]:over{
                background:#FFF;
            }
            .error-message{
                color:#FF0000;
            }
            #adresse{
                display:none;
            }
        </style>
    </head>

    <body>
        <div id="contenu">
            <h1>Formulaire de demande</h1>
            <form method="post" id="monform" action="formulaire.php">
                <label for="nom">Nom :</label>
                <br><input type="text" name="nom" value="">
                <span class="error-message"></span>

                <input type="text" name="adresse" id="adresse">

                <br><label for="email">Email :</label>
                <br><input type="text" name="email" value="">
                <span class="error-message"></span>

                <br>
                <label for="email">Service à contacter</label>
                <br><select name="service">
                    <option value="association">Siège à la Réunion</option>
                    <option value="mada">Siège à Madagascar</option>

                </select>

                <br><label for="object">Object de votre demande</label>
                <br><select name="object" id="object">
                    <option value="Choisir" selected>Choisir</option>
                    <option value="demande d'information">Demande d'information</option>
                    <option value="aider l'association">Aider l'association</option>
                    <option value="visiter l'association">Visiter l'association</option>
                </select>

                <br><label for="message">Votre message :</label>
                <br><textarea name="message"></textarea>
                <span class="error-message"></span>

                <br><input type="submit" value="Envoyer">
            </form>
        </div>
    </body>
</html>
djtec
Réponse acceptée

met ceci <?php if(isset($erreur)) { echo $erreur; } ?> ou tu veux que le message apparaisse et ca devrait être bon

"je vois vraiment pas ou est l'erreur"

Et c'est ou que ça bug ? XD

Abdias
Auteur

Merci de t'interessé a mon problème :)
alors si je ne rempli pas mon formulaire et que j'effectue un envoi, à coté du champs nom j'ai :
"vous n'avez pas renseigner votre nom" au lieu de "Veuillez entrer un nom" et les bordures de champs ne se colorent pas
en gros toute la partie javascript ne fonctionne pas !
c'est comme si de la ligne 47 à 91 n'existe pas !
Pour info je suis sous fedora et que j'utilise firefox ou konqueror ne change rien, meme resultat sur un windows virtualisé avec firefox ou internet exploreur

Bonsoir,

on peut avoir un petit lien pour l'exemple en ligne ?

L'erreur js c'est ça return valid; que j'ai avec le debug de chrome il est pas défini au début avec un var valid = quelquechose;

Mais vu ton code il sert à rien donc enlève tout tes valid = false; et met return false; à la place de return valid; et dis nous si y a un changement.

Abdias
Auteur

voila c'est fait mais tjr rien malheureusment :(

J'ai trouvé ton erreur déjà tu as un } en trop avant le return false; ensuite tu veux sélectionner tes input via un id alors donne leur car dans aucun de tes input tu as id="quelquechose"

@Abdias Tu utilises quoi comme IDE car il devrait t'indiquer les erreurs dans le code ?
@djtec en effet il y a un } de trop et les id sont manquantes, il manque aussi un = sur la div content
@Abdias Après il vaut mieux utiliser l’évènement submit que click sur un formulaire.
Tien test avec ce code

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Document sans titre</title>
        <script type="text/javascript" language="Javascript" src="jquery.js"></script>
        <script type="text/javascript">
            jQuery(document).ready(function($){

                $("#adresse").hide();
                $("#monform").submit(function(){
                    var name = $("#monform input[name=nom]");
                    var email = $("#monform input[name=email]");
                    var message = $("#monform textarea[name=message]");

                    if(name.val()==""){
                        name.css("border-color","#FF0000");
                        name.next(".error-message").text("Veuillez entrer un nom");
                    }
                    else{
                        name.css("border-color","#FF0000");
                        name.next(".error-message").text("");
                    }

                    if(email.val()==""){
                        email.css("border-color","#FF0000");
                        email.next(".error-message").text("Veuillez entrer un email");
                    }
                    else{

                        if(!email.val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i)){
                            email.css("border-color","#FF0000");
                            email.next(".error-message").text("Veuillez entrer un email valide");

                        }
                        else{               
                            email.css("border-color","#FF0000");
                            email.next(".error-message").text("");
                        }
                    }

                    if(message.val()==""){
                        message.css("border-color","#FF0000");
                        message.next(".error-message").text("Veuillez entrer un message");
                    }
                    else{
                        message.css("border-color","#FF0000");
                        message.next(".error-message").text("");
                    }

                    return false;
                });
            });
        </script>
        <style type="text/css">
            input{
                border:dotted 1px #7A7A7A;
            }
            textarea{
                border:dotted 1px #7A7A7A;
                width:100%;
                height:150px;
            }
            input[type=submit]{
                background:#DDD;
                cursor:pointer;
            }
            input[type=submit]:over{
                background:#FFF;
            }
            .error-message{
                color:#FF0000;
            }
            #adresse{
                display:none;
            }
        </style>
    </head>
    <body>
        <div id="contenu">
            <h1>Formulaire de demande</h1>
            <form method="post" id="monform" action="formulaire.php">
                <label for="nom">Nom :</label>
                <br><input type="text" name="nom" value="">
                <span class="error-message"></span>
                <input type="text" name="adresse" id="adresse">
                <br><label for="email">Email :</label>
                <br><input type="text" name="email" value="">
                <span class="error-message"></span>

                <br>
                <label for="email">Service à contacter</label>
                <br><select name="service">
                    <option value="association">Siège à la Réunion</option>
                    <option value="mada">Siège à Madagascar</option>
                </select>
                <br><label for="object">Object de votre demande</label>
                <br><select name="object" id="object">
                    <option value="Choisir" selected>Choisir</option>
                    <option value="demande d'information">Demande d'information</option>
                    <option value="aider l'association">Aider l'association</option>
                    <option value="visiter l'association">Visiter l'association</option>
                </select>

                <br><label for="message">Votre message :</label>
                <br><textarea name="message"></textarea>
                <span class="error-message"></span>

                <br><input type="submit" value="Envoyer">
            </form>
        </div>
        <BR><BR><BR><BR><BR><BR>
        <script type="text/javascript">
            //D'autres scripts sur http://www.toutjavascript.com
            //Si vous utilisez ce script, merci de m'avertir !
            function GoClignoter() {
                var delai1=500; // temps d'affichage du texte exprimé en millisecondes (ici 0.5 seconde)
                var delai2=200; // temps d'affichage du bouton vide
                var texte="TEXTE CLIGNOTANT"; // Texte à afficher
                var bouton=document.cligno.clignoter; // ici on récupère le bouton concerné
                if (bouton.value=="") {
                    bouton.value=texte;
                    delai=delai1;
                } else {
                    bouton.value="";
                    delai=delai2;
                }
                setTimeout("GoClignoter()",delai);
            }   
        </script>
    </body>
</html>
Abdias
Auteur

super ca fonctionne !, un grand merci, c'est cool de ta part :)
Pour mon probleme d'envoi je poste cela dans le forum PHP ou on regle le probleme ici ?
Pour rapelle je ne parviens pas a recevoir la partie "object de votre demande"

j'utilise dreamweaver2004.

Abdias
Auteur

je viens de retester l'envoi de mail et la ca ne fonctionne plus

Abdias
Auteur

Gillou63, peux tu corriger cela s'il te plait, merci bien

tu a une erreur php ?

Abdias
Auteur

non ca fait rien j'ai meme pas le message "Votre demande nous ai bien parvenu"

 if($adresse != ""){
     
} ............

D'ou vient le $adresse ?

test avec un $adresse = ''; avant

$adresse = "";
if($adresse != ""){
     
} ............
Abdias
Auteur

Bonjour gillou63,

comme expliqué au début le script viens du tuto vidéo de ce site, j'ai donc recopier le script bêtement. maintenant pour ce que j'ai compris, le champ adresse est un champ masqué que l'utilisateur ne voie pas et ne peut donc pas remplir, il sert donc de protection contre les robots qui lui le remplira. le script ne doit pas pouvoir envoyé le formulaire si le champs adresse est rempli

j'ai fais la modification et l'envoi ne s'effectue toujours pas

Bonne journée

Moi je pense que c'est ton js qui bloque l'envoie donc met au début de la fonction click un var valid = true; ensuite dans chaqua if tu met valid = false; et à la fin tu met:

if(valid) {
    return true;
} else {
    return false;
}

Comme ça si y a une erreur valid faudra false et mettra le return false ce qui empêchera l'envoi du form et si valid vaut true alors il mettra return true; et le form pourra s'envoyer et c'est là que tu verra si ton mail s'envoie et si tu as un message d'erreur.

Abdias
Auteur

ok je comprends ton raisonnement, maintenant vu mon niveau lamentable en js confirme moi que j'ai bien modifier le code selon tes propos

<?php
if (!empty($_POST)){
    extract($_POST);
    $valid = true;
    $adresse = "";
    if($adresse != ""){

    }
    else{
    if(empty($nom)){
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }
    if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }

    if($valid){
        if(!in_array($service,array("association","mada",))){ $service="association";}
        $valid=true;
        $to = "$service@ezekias.org";
        $sujet = $nom." a envoy une demande via le formulaire du site" ;
        $header = "From: association@ezekias.org \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else{
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }
        if(valid) {
            return true;
                } 
                else {
                return false;
                }
    }
    }
}
?>

La non tu as tout mit dans la page php met ce que je t'ai dit dans ton js

//on regarde si il le formulaire est envoyé
if (!empty($_POST)){
    //si oui on extrait les données
    extract($_POST);
    $valid = true;
    //on regarde si le non est vide
    if(empty($nom)){
        //si oui, on déclare l'erreur
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }

    //on regarde si le champ email est vide
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    //si le champ email n'est pas vide on regarde si l'email est valide
    else if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }

    //on regarde si le champ message est rempli
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }

    //on regarde si il y eu une erreur
    if($valid){

        //on regarde si le service selectionné est dans le tableau
        if(!in_array($service,array("association","mada",))){
            //si pas dans un tableau, on indique le service
            $service="association";
        }

        $to = "$service@ezekias.org";
        $sujet = $nom." a envoy une demande via le formulaire du site" ;
        $header = "From: association@ezekias.org \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);

        //on appel la fonciton mail de php
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else
        {
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }
    }
}
Abdias
Auteur

attends j'ai l'impression que tu crois que j'ai deux pages alors que je n'ai qu'une seule page en php qui s'appele "formulaire.php" et le code que tu veux modifier est dans la partie php, attends je te remets l'integralité du code de ma page:

<?php
if (!empty($_POST)){
    extract($_POST);
    $valid = true;
    $adresse = "";
    if($adresse != ""){

    }
    else{
    if(empty($nom)){
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }
    if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }

    if($valid){
        if(!in_array($service,array("association","mada",))){ $service="association";}
        $to = "$service@ezekias.org";
        $sujet = $nom." a envoy une demande via le formulaire du site" ;
        $header = "From: association@ezekias.org \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else{
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }
    }
    }
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Document sans titre</title>
        <script type="text/javascript" language="Javascript" src="jquery.js"></script>
        <script type="text/javascript">
            jQuery(document).ready(function($){

                $("#adresse").hide();
                $("#monform").submit(function(){
                    var name = $("#monform input[name=nom]");
                    var email = $("#monform input[name=email]");
                    var message = $("#monform textarea[name=message]");

                    if(name.val()==""){
                        name.css("border-color","#FF0000");
                        name.next(".error-message").text("Veuillez entrer un nom");
                    }
                    else{
                        name.css("border-color","#00ff00");
                        name.next(".error-message").text("");
                    }

                    if(email.val()==""){
                        email.css("border-color","#FF0000");
                        email.next(".error-message").text("Veuillez entrer un email");
                    }
                    else{

                        if(!email.val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i)){
                            email.css("border-color","#FF0000");
                            email.next(".error-message").text("Veuillez entrer un email valide");

                        }
                        else{              
                            email.css("border-color","#00FF00");
                            email.next(".error-message").text("");
                        }
                    }

                    if(message.val()==""){
                        message.css("border-color","#FF0000");
                        message.next(".error-message").text("Veuillez entrer un message");
                    }
                    else{
                        message.css("border-color","#00FF00");
                        message.next(".error-message").text("");
                    }

                    return false;
                });
            });
        </script>
        <style type="text/css">
            input{
                border:dotted 1px #7A7A7A;
            }
            textarea{
                border:dotted 1px #7A7A7A;
                width:100%;
                height:150px;
            }
            input[type=submit]{
                background:#DDD;
                cursor:pointer;
            }
            input[type=submit]:over{
                background:#FFF;
            }
            .error-message{
                color:#FF0000;
            }
            #adresse{
                display:none;
            }
        </style>
    </head>

    <body>
        <div id="contenu">
            <h1>Formulaire de demande</h1>
            <form method="post" id="monform" action="formulaire.php">
                <label for="nom">Nom :</label>
                <br><input type="text" name="nom" value="">
                <span class="error-message"></span>

                <input type="text" name="adresse" id="adresse">

                <br><label for="email">Email :</label>
                <br><input type="text" name="email" value="">
                <span class="error-message"></span>

                <br>
                <label for="email">Service à contacter</label>
                <br><select name="service">
                    <option value="association">Siège à la Réunion</option>
                    <option value="mada">Siège à Madagascar</option>

                </select>

                <br><label for="object">Object de votre demande</label>
                <br><select name="object" id="object">
                    <option value="Choisir" selected>Choisir</option>
                    <option value="demande d'information">Demande d'information</option>
                    <option value="aider l'association">Aider l'association</option>
                    <option value="visiter l'association">Visiter l'association</option>
                </select>

                <br><label for="message">Votre message :</label>
                <br><textarea name="message"></textarea>
                <span class="error-message"></span>

                <br><input type="submit" value="Envoyer">
            </form>
        </div>
    </body>
</html>

donc selon la modif que tu veux effectuer cela donne ca

<?php
//on regarde si il le formulaire est envoyé
if (!empty($_POST)){
    //si oui on extrait les données
    extract($_POST);
    $valid = true;

    //on regarde si le non est vide
    if(empty($nom)){
        //si oui, on déclare l'erreur
        $valid=false;
        $erreurnom="vous n'avez pas renseigner votre nom";
    }

    //on regarde si le champ email est vide
    if(empty($email)){
        $valid=false;
        $erreuremail="vous n'avez pas renseigner votre email";
    }
    //si le champ email n'est pas vide on regarde si l'email est valide
    else if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i",$email)){
        $valid=false;
        $erreuremail="Votre email n'est pas valide";
    }

    //on regarde si le champ message est rempli
    if(empty($message)){
        $valid=false;
        $erreurmessage="vous n'avez pas rempli votre message";
    }

    //on regarde si il y eu une erreur
    if($valid){

        //on regarde si le service selectionné est dans le tableau
        if(!in_array($service,array("association","mada",))){
            //si pas dans un tableau, on indique le service
            $service="association";
        }

        $to = "$service@ezekias.org";
        $sujet = $nom." a envoy une demande via le formulaire du site" ;
        $header = "From: association@ezekias.org \n";
        $header .= "Reply-To: $email";

        $message = stripslashes($message);
        $nom = stripslashes($nom);

        //on appel la fonciton mail de php
        if (mail($to,$sujet,$message,$header)){
            $erreur = "Votre demande nous ai bien parvenu";
            unset($nom);
            unset($email);
            unset($message);

        }
        else
        {
            $erreur = "Une erreur est survenue et votre demande n'a pas aboutit";
        }
    }
}
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Document sans titre</title>
        <script type="text/javascript" language="Javascript" src="jquery.js"></script>
        <script type="text/javascript">
            jQuery(document).ready(function($){

                $("#adresse").hide();
                $("#monform").submit(function(){
                    var name = $("#monform input[name=nom]");
                    var email = $("#monform input[name=email]");
                    var message = $("#monform textarea[name=message]");

                    if(name.val()==""){
                        name.css("border-color","#FF0000");
                        name.next(".error-message").text("Veuillez entrer un nom");
                    }
                    else{
                        name.css("border-color","#00ff00");
                        name.next(".error-message").text("");
                    }

                    if(email.val()==""){
                        email.css("border-color","#FF0000");
                        email.next(".error-message").text("Veuillez entrer un email");
                    }
                    else{

                        if(!email.val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z0-9]{2,3}$/i)){
                            email.css("border-color","#FF0000");
                            email.next(".error-message").text("Veuillez entrer un email valide");

                        }
                        else{              
                            email.css("border-color","#00FF00");
                            email.next(".error-message").text("");
                        }
                    }

                    if(message.val()==""){
                        message.css("border-color","#FF0000");
                        message.next(".error-message").text("Veuillez entrer un message");
                    }
                    else{
                        message.css("border-color","#00FF00");
                        message.next(".error-message").text("");
                    }

                    return false;
                });
            });
        </script>
        <style type="text/css">
            input{
                border:dotted 1px #7A7A7A;
            }
            textarea{
                border:dotted 1px #7A7A7A;
                width:100%;
                height:150px;
            }
            input[type=submit]{
                background:#DDD;
                cursor:pointer;
            }
            input[type=submit]:over{
                background:#FFF;
            }
            .error-message{
                color:#FF0000;
            }
            #adresse{
                display:none;
            }
        </style>
    </head>

    <body>
        <div id="contenu">
            <h1>Formulaire de demande</h1>
            <form method="post" id="monform" action="formulaire.php">
                <label for="nom">Nom :</label>
                <br><input type="text" name="nom" value="">
                <span class="error-message"></span>

                <input type="text" name="adresse" id="adresse">

                <br><label for="email">Email :</label>
                <br><input type="text" name="email" value="">
                <span class="error-message"></span>

                <br>
                <label for="email">Service à contacter</label>
                <br><select name="service">
                    <option value="association">Siège à la Réunion</option>
                    <option value="mada">Siège à Madagascar</option>

                </select>

                <br><label for="object">Object de votre demande</label>
                <br><select name="object" id="object">
                    <option value="Choisir" selected>Choisir</option>
                    <option value="demande d'information">Demande d'information</option>
                    <option value="aider l'association">Aider l'association</option>
                    <option value="visiter l'association">Visiter l'association</option>
                </select>

                <br><label for="message">Votre message :</label>
                <br><textarea name="message"></textarea>
                <span class="error-message"></span>

                <br><input type="submit" value="Envoyer">
            </form>
        </div>
    </body>
</html>
Abdias
Auteur

ca sent la ligne d'arrivée djtec :)
alors maintenant je recoie bien mon mail le seul souci c'est que le message : "Votre demande nous ai bien parvenu" disparait aussi vite qu'il apparait lol donc impossible pour l'utilisateur de savoir si le message est bien envoyé

La je suis sur mon tel et je ne vois pas de echo $erreur donc ou affiche tu ceci?

Abdias
Auteur

visible ici :http://www.ezekias.org/formulaire.php , je voyais le message juste en dessous de "Formulaire de demande"

Moi quand je test je n'est aucun message et dans le code que je t'ai retourné il y a pas de <?php echo $erreur; ?> donc je vois pas comment elle peut être affiché

Abdias
Auteur

j'ai peut-être mal vu alors, j'ai juste vu un truc lors du rafraichissement, ça du être une impression, pas grave quoi qu'il en soit il faudrait ré-avoir la confirmation d'envoi, si tu pouvais corriger cela ca serai tres gentils de ta part

Abdias
Auteur

But !, alors je te dis un grand merci pour ton aide et ta réactivité, bonne continuation