[AJAX] Formulaire (PHP-AJAX) rien ne s'envoie
Bonjour à tous, me voici face à un problème, étant débutant dans ce langage je me retrouve coincé pour un envoi de mail via formulaire.
Formulaire
Code:
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
| <div id='form'>
<form>
<div class="row half collapse-at-2">
<div class="6u">
<input type="text" name="name" placeholder="Nom" required data-validation-required-message="Entrez votre nom."/>
<label class='error' id='name_error'>Entrez un nom de minimum 3 lettres.</label>
</div>
<div class="6u">
<input type="text" name="email" placeholder="Email" required data-validation-required-message="Entrez votre adresse mail."/>
<label class='error' id='email_error'>Entrez une adresse mail valide.</label>
</div>
</div>
<div class="row half">
<div class="12u">
<textarea id="textarea" name="message" placeholder="Message" rows="7" required data-validation-required-message="Entrez un message."></textarea>
<label class='error' id='message_error'>Message vide, veuillez remplir.</label>
</div>
</div>
<div class="row half">
<div class="12u">
<input type="text" name="captcha" placeholder="Combien fait 10+0 ?" required data-validation-required-message="Veuillez rentrer la reponse."/>
<label class='error' id='captcha_error'>Entrez la reponse correcte.</label>
</div>
</div>
<div class="row half">
<input type='hidden' name='ip' value='<?php echo $_SERVER['REMOTE_ADDR'] ?>'/>
</div>
<div class="row">
<div class="12u">
<ul class="buttons">
<li><input type='submit' value='send' class='submit' /></li>
</ul>
<span class='ip'>Votre adresse IP est "<b><?php echo $_SERVER['REMOTE_ADDR'] ?></b>"</span>
</div>
</div>
</form>
</div> |
post.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?php
// Dernière verif
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']) ||
!filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
{
echo "No arguments Provided!";
return false;
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
// Mail
$to = 'xxx@hotmail.com'; // Adresse mail destinataire
$email_subject = "Website Contact Form: $name";
$email_body = "Vous avez recus un nouveau mail de formulaire du site Originloisirs.be .\n\n"."Voici les détails:\n\nNom: $name\n\nEmail: $email_address\n\nMessage:\n$message";
$headers = "De: noreply@originloisirs.be\n"; // Adresse du site (noreplay@example.be)
$headers .= "Emetteur: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?> |
contact.js
Code:
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 64 65 66 67 68 69
| function ve(email){var filter=/^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;if(filter.test(email)){return true;}else{return false;}}
$(document).ready(function(){
$("input[name='name']").focus();
$(".submit").click(function(){
// Verif name //
var name=$("input[name='name']").val();
if($.trim(name).length<=3){
$("label#name_error").fadeIn('slow').css('display','block');
$("input[name='name']").focus();
return false;
}else{
$("label#name_error").css('display','none');
}
// Verif mail //
var email=$("input[name='email']").val();
if(!ve(email)){
$("label#email_error").fadeIn('slow').css('display','block');
$("input[name='email']").focus();
return false;
}else{
$("label#email_error").css('display','none');
}
// Verif message //
var message=$("textarea[name='message']").val();
if($.trim(message).length<=3){
$("label#message_error").fadeIn('slow').css('display','block');
$("textarea[name='message']").focus();
return false;
}else{
$("label#message_error").css('display','none');
}
// Verif captcha //
var captcha=$("input[name='captcha']").val();
if(captcha !== ("10")){
$("label#captcha_error").fadeIn('slow').css('display','block');
$("input[name='captcha']").focus();
return false;
}else{
$("label#captcha_error").css('display','none');
}
var ds='name='+name+'&email='+email+'&message='+message;
var d=new Date();
var date = d.getDate()+"-"+(d.getMonth()+1)+"-"+d.getFullYear()+" @ "+d.getHours()+":"+d.getMinutes();
$('.submit').hide();
$.ajax({
type: "POST",
url: "post.php",
data: ds,
success:function(){
$('form').html("<h2>Message envoyé!</h2>")
.append("<span>Message envoyé le "+date+"</span>")
.append("<p>Les données suivantes ont été enregistrées:</p>")
.append("<p class='code'>Nom: "+name+"<br/>Email: "+email+"<br/>Message: "+message+"</p>")
.hide()
.fadeIn(750);
},
error:function(){
alert("fail");
}
});
return false;
});
}); |
Pour le javascript je dois encore refaire les vérifications, je testais de cette manière-ci à des fins d'apprentissages, soyez indulgents merci :)
D'avance un enorme merci !