Bonjour,
J'ai un code Jquery qui vérifie tous les champs de mon formulaire de contact.
J'ai suivi le tuto de Grafikart sur le formulaire avancé mais impossible de connaitre l'adresse email de celui qui m'a contacté quand je laisse $url.
if($valid){
$to = "contact@monsite.net";
$sujet = $name." a contacté le site";
$header = "From: $name <$email>";
if(mail($to,$sujet,$url,$comment,$header)){
$erreur = "Votre message nous ai bien parvenu";
unset($name);
unset($email);
unset($url);
unset($comment);
}
else{
$erreur = "une erreur est survenue";
}
Par contre si j'enlève $url, je vois bien le nom et l'adresse email de l'envoyeur!
Il y a une erreur quelque part, si vous pouvez m'aider. Voici le code. Merci
<?php
if(!empty($_POST)) {
extract($_POST);
$valid = true;
if(empty($name)){
$valid=false;
$erreurnom="Vous n'avez pas rempli votre nom";
}
if(!preg_match("/^[a-z0-9\-_.]+@[a-z0-9\-_.]+\.[a-z]{2,3}$/i",$email)){
$valid=false;
$erreuremail="Vous n'avez pas un email correct";
}
if(empty($email)){
$valid=false;
$erreuremail="Vous n'avez pas rempli votre email";
}
if(empty($comment)){
$valid=false;
$erreurmessage="Vous n'avez pas rempli votre message";
}
if($valid){
$to = "contact@monsite.net";
$sujet = $name." a contacté le site";
$header = "From: $name <$email>";
if(mail($to,$sujet,$url,$comment,$header)){
$erreur = "Votre message nous ai bien parvenu";
unset($name);
unset($email);
unset($url);
unset($comment);
}
else{
$erreur = "une erreur est survenue";
}
}
}
?>
<style type="text/css">
#commentForm { width: 500px; }
#commentForm label { width: 250px; }
#commentForm label.error, #commentForm input.submit { margin-left: 253px; }
.error-message {
color: #eb5703;
}
</style>
<body>
<section>
<span class="error-message"><?php if(isset($erreur)){
echo "<p>$erreur</p>";
} ?></span>
<form class="cmxform" id="commentForm" method="post" action="contact.php">
<fieldset>
<legend>Please provide your name, email address (won't be published) and a comment</legend>
<p>
<label for="cname">Name (required, at least 2 characters)</label>
<input id="cname" name="name" minlength="2" type="text" value="<?php if(isset($name)) echo $name; ?>" required>
<span class="error-message"><?php if (isset($erreurnom)) echo $erreurnom; ?></span>
</p>
<p>
<label for="cemail">E-Mail (required)</label>
<input id="cemail" type="email" name="email" value="<?php if(isset($email)) echo $email; ?>" required>
<span class="error-message"><?php if (isset($erreuremail)) echo $erreuremail; ?></span>
</p>
<p>
<label for="curl">URL (optional)</label>
<input class="curl" type="url" name="url">
</p>
<p>
<label for="ccomment">Your comment (required)</label>
<textarea id="ccomment" name="comment" required><?php if (isset($comment)) echo $comment; ?></textarea>
<span class="error-message"><?php if (isset($erreurmessage)) echo $erreurmessage; ?></span>
</p>
<p>
<input class="submit" type="submit" value="Submit">
</p>
</fieldset>
</form>
</section>
<!--<script src="jquery.js"></script>-->
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
<script src="js/jquery.validate.js"></script>
<script>
$.validator.setDefaults({
submitHandler: function() { alert("submitted!"); }
});
$().ready(function() {
// validate the comment form when it is submitted
$("#commentForm").validate();
// validate signup form on keyup and submit
$("#signupForm").validate({
rules: {
firstname: "required",
lastname: "required",
username: {
required: true,
minlength: 2
},
password: {
required: true,
minlength: 5
},
confirm_password: {
required: true,
minlength: 5,
equalTo: "#password"
},
email: {
required: true,
email: true
},
topic: {
required: "#newsletter:checked",
minlength: 2
},
agree: "required"
},
messages: {
firstname: "Please enter your firstname",
lastname: "Please enter your lastname",
username: {
required: "Please enter a username",
minlength: "Your username must consist of at least 2 characters"
},
password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long"
},
confirm_password: {
required: "Please provide a password",
minlength: "Your password must be at least 5 characters long",
equalTo: "Please enter the same password as above"
},
email: "Please enter a valid email address",
agree: "Please accept our policy"
}
});
</script>
</body>
</html>