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>
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";
}
}
}
}
?>
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>
met ceci <?php if(isset($erreur)) { echo $erreur; } ?> ou tu veux que le message apparaisse et ca devrait être bon
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
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.
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>
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.
if($adresse != ""){
} ............
D'ou vient le $adresse ?
test avec un $adresse = ''; avant
$adresse = "";
if($adresse != ""){
} ............
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.
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;
}
}
}
}
?>
//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";
}
}
}
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>
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é
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é
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
But !, alors je te dis un grand merci pour ton aide et ta réactivité, bonne continuation