Bonsoir tout le monde,
J'ai suivi l'excellent tutoriel proposé par Grafikart sur la réalisation d'un formulaire avec vérification en PHP et en jQuery.
J'ai revue le tutoriel à plusieurs reprises en apportant une double attention au code écrit mais je ne parviens pas à trouver la cause des dysfonctionnements.
Au moment de l'envoi du formulaire, j'ai ce message d'erreur qui semble indiqué que la variable "adresse" n'est pas initialisé :
Même si je supprime le champs caché pour flouter un robot, l’émail n'est pas envoyé, le message notifiant que l'émail à bien été reçu ne s'affiche pas au dessus du formulaire et je ne reçois rien dans ma boite mail spam compris.
Voici le code PHP
<?php
if(!empty ($_POST)){
extract($_POST);
$valid = true;
if($adresse != ""){
}
else{
if(empty($nom)){
$valid=false;
$erreurnom="Vous n'avez pas rempli votre nom et prénom !";
}
if(empty($prenom)){
$valid=false;
$erreurprenom="Vous n'avez pas rempli votre prénom !";
}
if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
$valid=false;
$erreuremail = "Votre email n'est pas valide !";
}
if(empty($email)){
$valid=false;
$erreuremail="Vous n'avez pas rempli votre email !";
}
if(empty($message)){
$valid=false;
$erreurmessage="Vous n'avez pas rempli votre message !";
}
if($valid){
$to = "adelkamel@hotmail.fr";
$sujet = "Un message en provenance du portfolio";
$header = "From: adelkamel@hotmail.fr \n";
$header = "Reply-To: $email";
$message = stripslashes($message);
$nom = stripslashes($nom);
if(mail($to,$sujet,$message,$header)){
$erreur ="Votre message nous ai bien parvenu";
unset($nom);
unset($prenom);
unset($email);
unset($message);
}
else{
$erreur ="Une erreur est survenue";
}
}
}
}
?>
Le code jQuery:
<script type="text/javascript">
$(document).ready(function() {
$("#adresse").hide();
$("#envoyer").click(function(){
valid=true;
if($("#nom").val()==""){
$("#nom").css("background-color","#fe9898");
$("#nom").next(".error-message").text("Vous n'avez pas rempli votre nom et prénom !");
valid=false;
}
else{
$("#nom").css("background-color","#c2ffc2");
$("#nom").next(".error-message").text("");
}
if($("#email").val()==""){
$("#email").css("background-color","#fe9898");
$("#email").next(".error-message").text("Veuillez entrer votre email !");
valid=false;
}
else{
if(!$("#email").val().match(/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i)){
$("#email").css("background-color","#fe9898");
$("#email").next(".error-message").text("Veuillez entrer un email valide !");
valid=false;
}
else{
$("#email").css("background-color","#c2ffc2");
$("#email").next(".error-message").text("");
}
}
if($("#message").val()==""){
$("#message").css("background-color","#fe9898");
$("#message").next(".error-message").text("Veuillez entrer un message !");
valid=false;
}
else{
$("#message").css("background-color","#c2ffc2");
$("#message").next(".error-message").text("");
}
return valid;
});
});
</script>
et enfin le code de mon formulaire :
<form action="contact.php" method="post" id="formulaire_contact" enctype="application/x-www-form-urlencoded">
<?php if(isset($erreur)){ echo "<p>$erreur</p>";} ?>
<fieldset>
<div class="etiquette"><!-- NOM -->
<label for="nom"><img src="img/contact/nom.png" alt="Nom et Prénom" title="Nom et Prénom"/></label>
<input type="text" class="icon_nom" id="nom" name="nom" value="<?php if(isset($nom)) echo $nom; ?>" tabindex="1"/>
<span class="error-message"><?php if(isset ($erreurnom)) echo $erreurnom; ?></span>
</div>
<input id="adresse" type="text"/>
<div class="etiquette"><!-- EMAIL -->
<label for="email"><img src="img/contact/email.png" alt="Email" title="Email"/></label>
<input type="text" class="icon_email" id="email" name="email" value="<?php if(isset($email)) echo $email; ?>" tabindex="3"/>
<span class="error-message"><?php if(isset ($erreuremail)) echo $erreuremail; ?></span>
</div>
<div class="etiquette">
<label for="message"><img src="img/contact/message.png" alt="Message" title="Message"/></label>
<textarea class="icon_msg" cols="30" rows="30" name="message" id="message" value="<?php if(isset ($message)) echo $message; ?>" tabindex="5"></textarea>
<span class="error-message"><?php if(isset ($erreurmessage)) echo $erreurmessage; ?></span>
</div>
<input class="envoyer" id="envoyer" name="envoyer" value="" type="image" />
</fieldset>
</form>
J'espère que vous pourrez me venir en aide.
Cordialement,
Adel
Bonsoir PhiSyX
Bien vue, c'était bien cela qui causé l'erreur PHP par contre, je ne reçois pas le contenu du formulaire sur mon Émail et l'écho
<?php if(isset($erreur)){ echo "<p>$erreur</p>";} ?>
ne s'affiche toujours pas.