LARAVEL - Ajax Contact
$('#sendMail').click(function(){
var token = $("input[name=_token]").val();
var nom = $('#nom').val();
var prenom = $('#prenom').val();
var email = $('#email').val();
var message = $('#message').val();
$.ajax({
type: "POST",
url: '/',
data: {
_token: token,
nom: nom,
prenom: prenom,
email: email,
captchaVerify: captchaVerify,
message: message,
envoyer: "envoyer"
}
}).done(function( msg ) {
var reponse = $.parseJSON(msg);
$('#retourMail').find('.error').remove();
if(reponse.error){
$('#retourMail').append(reponse.message);
grecaptcha.reset();
} else {
$('#formulaire .inputField').hide();
$('#retourMail').html(reponse.message);
}
});
return false;
});<?php
class ContactController extends BaseController {
public function contactPost(){
$captchaResponse = Input::get('captchaVerify');
$cap = new GoogleRecaptcha();
$verified = $cap->VerifyCaptcha($captchaResponse);
if( ! $verified ){
$messages['error'] = true;
$messages['captcha'] = 'nok';
$messages['message'] = "<span class=\"error\">Veuillez vérifier le champ de vérification \"Recaptcha\" ci-dessus !</span>";
return json_encode($messages);
} else {
$messages['captcha'] = 'ok';
}
$inputs = array(
'nom' => Input::get('nom'),
'prenom' => Input::get('prenom'),
'email' => Input::get('email'),
'text' => Input::get('message')
);
$validator = Validator::make(
$inputs,
array(
'nom' => 'required',
'prenom' => 'required',
'email' => 'required|email|email',
'text' => 'required'
)
);
if($validator->fails()) {
$messages['error'] = true;
$messages['message'] = '<span class="error">Veuillez vérifier que tous les champs sont bien remplis !</span>';
} else {
Mail::pretend('emails.contact', $inputs, function($message)
{
//$message->to('sorgneb@gmail.com', 'Benjamin Le Jean')->subject('Message du site internet Aftermoon');
$message->to('guillaumemarin@gmail.com', 'Guillaume Marin')->subject('Message du site internet Aftermoon');
});
$messages['error'] = false;
$messages['message'] = "<span class=\"success\">L'email a bien été envoyé.<br /><br />à bientôt,<br />Aftermoon</span>";
}
return json_encode($messages);
}
}