bonjour,
j'ai un petit soucis, le message "merci !..." après l'envoi du formulaire ne s'affiche pas.
Pourtant, les mails sont bien envoyés au destinataire et la confirmation d'envoi à l'user. du coup, l'user click plusieurs fois sur le bouton "envoyer" en croyant que ça ne fonctionne pas mais si ! alors l'user et le destinataire reçoivent autant de mail que de click!
pouvez-vous m'aider à trouver mon erreur ?
le formulaire sur la page contact.html :
<form id="contactform" action="ContactReponse.php#reponseform" method="post" class="validateform" name="send-contact" enctype="multipart/form-data">
<input type="text" name="societe" id="societe" placeholder="Société">
<input type="text" name="nom" placeholder="Nom*" required />
<input type="text" name="tel" id="tel" placeholder="00 00 00 00 00*" required>
<input type="email" name="email" id="email" placeholder="Email*"required>
<select name="objet" id="objet" placeholder="Objet*" required>
<option value="">Objet*...</option>
<option value="Demande de devis">J'ai un projet et je veux un devis</option>
<option value="Demande de RDV">Je souhaite vous rencontrer</option>
<option value="Demande de documentation Sovilec">Je souhaite en savoir plus sur Sovilec</option>
<option value="Proposition d'un partenariat">Je veux vous proposer un partenariat</option>
<option value="Service comptabilité">Ma demande concerne le service comptabilité</option>
</select>
<textarea name="message" id="message" class="input-block-level" rows="8" placeholder="Message*" required></textarea>
<span class="pull-right etoile">* Champs obligatoires</span>
<button type="submit" class="btn btn-theme margintop10 pull-right">Envoyer</button>
<button type="reset" class="btn btn-theme margintop10 pull-right">Effacer</button>
</form>
la réponse sur la page ContactReponse.php :
<fieldset>
<legend><a name="reponseform">Votre demande de contact</a></legend>
<?php
$nom = $_POST['nom'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$societe = $_POST['societe'];
$objet = $_POST['objet'];
$complement = $_POST['message'];
if(
empty($nom) == true or
empty($email) == true or
empty($complement) == true
){
echo "Erreur : veuillez remplir les champs obligatoires !";
}else{
$destinataire = "[email protected]";
$sujet = "Contact : ".$objet;
$message = "
Vous avez reçu une demande sur site.com : $objet
Société : $societe
Nom : $nom
Téléphone : $tel
Email : $email
Message : $complement
";
if(mail($destinataire,$sujet,$message)){
echo "Merci !";
$destinataire = $email;
$sujet = "Confirmation d'envoi";
$message = "
Madame, Monsieur,
Nous accusons réception de votre demande et vous en remercions.
Votre demande sera traitée dans les meilleurs délais.
Restant à votre disposition.
L'équipe x
------------------------------
détails de la demande :
------------------------------
Société : $societe
Nom : $nom
Téléphone : $tel
Email : $email
Message : $complement
";
if(mail($destinataire,$sujet,$message)){
echo "Votre message a bien envoyé. \n\n
Vous recevrez prochainement une confirmation d'envoi par email. \n\n
<a href=\"Contact.html\">retour</a>";
}else{
echo "Veuillez réessayer plus tard.";
}
}else{
echo "Veuillez réessayer plus tard.";
}
}
?>
</fieldset>
et le code javascript de la page validate.js :
jQuery(document).ready(function($) {
"use strict";
//Contact
$('form.validateform').submit(function(){
var f = $(this).find('.field'),
ferror = false,
emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
f.children('input').each(function(){
var i = $(this); // current input
var rule = i.attr('data-rule');
if( rule != undefined ){
var ierror=false;
var pos = rule.indexOf( ':', 0 );
if( pos >= 0 ){
var exp = rule.substr( pos+1, rule.length );
rule = rule.substr(0, pos);
}else{
rule = rule.substr( pos+1, rule.length );
}
switch( rule ){
case 'required':
if( i.val()=='' ){ ferror=ierror=true; }
break;
case 'maxlen':
if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
break;
case 'email':
if( !emailExp.test(i.val()) ){ ferror=ierror=true; }
break;
case 'checked':
if( !i.attr('checked') ){ ferror=ierror=true; }
break;
case 'regexp':
exp = new RegExp(exp);
if( !exp.test(i.val()) ){ ferror=ierror=true; }
break;
}
i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
}
});
f.children('textarea').each(function(){
var i = $(this);
var rule = i.attr('data-rule');
if( rule != undefined ){
var ierror=false;
var pos = rule.indexOf( ':', 0 );
if( pos >= 0 ){
var exp = rule.substr( pos+1, rule.length );
rule = rule.substr(0, pos);
}else{
rule = rule.substr( pos+1, rule.length );
}
switch( rule ){
case 'required':
if( i.val()=='' ){ ferror=ierror=true; }
break;
case 'maxlen':
if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
break;
}
i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
}
});
if( ferror ) return false;
else var str = $(this).serialize();
$.ajax({
type: "POST",
url: "ContactReponse.php#reponseform",
data: str,
success: function(msg){
$("#sendmessage").addClass("show");
$("#errormessage").ajaxComplete(function(event, request, settings){
if(msg == 'OK')
{
$("#sendmessage").addClass("show");
}
else
{
$("#sendmessage").removeClass("show");
result = msg;
}
$(this).html(result);});}});
return false;
});
});
si vous pouviez m'aider, svp ?!!
merci
Nabb2
bonjour,
j'ai un petit soucis, le message "merci !..." après l'envoi du formulaire ne s'affiche pas.
Pourtant, les mails sont bien envoyés au destinataire et la confirmation d'envoi à l'user. du coup, l'user click plusieurs fois sur le bouton "envoyer" en croyant que ça ne fonctionne pas mais si ! alors l'user et le destinataire reçoivent autant de mail que de click!
pouvez-vous m'aider à trouver mon erreur ?
le formulaire sur la page contact.html :
[php]<form id="contactform" action="ContactReponse.php#reponseform" method="post" class="validateform" name="send-contact" enctype="multipart/form-data">
<input type="text" name="societe" id="societe" placeholder="Société">
<input type="text" name="nom" placeholder="Nom*" required />
<input type="text" name="tel" id="tel" placeholder="00 00 00 00 00*" required>
<input type="email" name="email" id="email" placeholder="Email*"required>
<select name="objet" id="objet" placeholder="Objet*" required>
<option value="">Objet*...</option>
<option value="Demande de devis">J'ai un projet et je veux un devis</option>
<option value="Demande de RDV">Je souhaite vous rencontrer</option>
<option value="Demande de documentation Sovilec">Je souhaite en savoir plus sur Sovilec</option>
<option value="Proposition d'un partenariat">Je veux vous proposer un partenariat</option>
<option value="Service comptabilité">Ma demande concerne le service comptabilité</option>
</select>
<textarea name="message" id="message" class="input-block-level" rows="8" placeholder="Message*" required></textarea>
<span class="pull-right etoile">* Champs obligatoires</span>
<button type="submit" class="btn btn-theme margintop10 pull-right">Envoyer</button>
<button type="reset" class="btn btn-theme margintop10 pull-right">Effacer</button>
</form>[/php]
la réponse sur la page ContactReponse.php :
[php]<fieldset>
<legend><a name="reponseform">Votre demande de contact</a></legend>
<?php
$nom = $_POST['nom'];
$tel = $_POST['tel'];
$email = $_POST['email'];
$societe = $_POST['societe'];
$objet = $_POST['objet'];
$complement = $_POST['message'];
if(
empty($nom) == true or
empty($email) == true or
empty($complement) == true
){
echo "Erreur : veuillez remplir les champs obligatoires !";
}else{
$destinataire = "
[email protected]";
$sujet = "Contact : ".$objet;
$message = "
Vous avez reçu une demande sur site.com : $objet
Société : $societe
Nom : $nom
Téléphone : $tel
Email : $email
Message : $complement
";
if(mail($destinataire,$sujet,$message)){
echo "Merci !";
$destinataire = $email;
$sujet = "Confirmation d'envoi";
$message = "
Madame, Monsieur,
Nous accusons réception de votre demande et vous en remercions.
Votre demande sera traitée dans les meilleurs délais.
Restant à votre disposition.
L'équipe x
------------------------------
détails de la demande :
------------------------------
Société : $societe
Nom : $nom
Téléphone : $tel
Email : $email
Message : $complement
";
if(mail($destinataire,$sujet,$message)){
echo "Votre message a bien envoyé. \n\n
Vous recevrez prochainement une confirmation d'envoi par email. \n\n
<a href=\"Contact.html\">retour</a>";
}else{
echo "Veuillez réessayer plus tard.";
}
}else{
echo "Veuillez réessayer plus tard.";
}
}
?>
</fieldset>[/php]
et le code javascript de la page validate.js :
[js]jQuery(document).ready(function($) {
"use strict";
//Contact
$('form.validateform').submit(function(){
var f = $(this).find('.field'),
ferror = false,
emailExp = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i;
f.children('input').each(function(){
var i = $(this); // current input
var rule = i.attr('data-rule');
if( rule != undefined ){
var ierror=false;
var pos = rule.indexOf( ':', 0 );
if( pos >= 0 ){
var exp = rule.substr( pos+1, rule.length );
rule = rule.substr(0, pos);
}else{
rule = rule.substr( pos+1, rule.length );
}
switch( rule ){
case 'required':
if( i.val()=='' ){ ferror=ierror=true; }
break;
case 'maxlen':
if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
break;
case 'email':
if( !emailExp.test(i.val()) ){ ferror=ierror=true; }
break;
case 'checked':
if( !i.attr('checked') ){ ferror=ierror=true; }
break;
case 'regexp':
exp = new RegExp(exp);
if( !exp.test(i.val()) ){ ferror=ierror=true; }
break;
}
i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
}
});
f.children('textarea').each(function(){
var i = $(this);
var rule = i.attr('data-rule');
if( rule != undefined ){
var ierror=false;
var pos = rule.indexOf( ':', 0 );
if( pos >= 0 ){
var exp = rule.substr( pos+1, rule.length );
rule = rule.substr(0, pos);
}else{
rule = rule.substr( pos+1, rule.length );
}
switch( rule ){
case 'required':
if( i.val()=='' ){ ferror=ierror=true; }
break;
case 'maxlen':
if( i.val().length<parseInt(exp) ){ ferror=ierror=true; }
break;
}
i.next('.validation').html( ( ierror ? (i.attr('data-msg') != undefined ? i.attr('data-msg') : 'wrong Input') : '' ) ).show('blind');
}
});
if( ferror ) return false;
else var str = $(this).serialize();
$.ajax({
type: "POST",
url: "ContactReponse.php#reponseform",
data: str,
success: function(msg){
$("#sendmessage").addClass("show");
$("#errormessage").ajaxComplete(function(event, request, settings){
if(msg == 'OK')
{
$("#sendmessage").addClass("show");
}
else
{
$("#sendmessage").removeClass("show");
result = msg;
}
$(this).html(result);});}});
return false;
});
});[/js]
si vous pouviez m'aider, svp ?!!
merci
Nabb2