Que mettre dans mon contact.php ?
Résolu
c0rnich0n
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
c0rnich0n Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
c0rnich0n Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour, et merci d'avance pour toutes les personnes qui lisent ce topic.
Je suis en plein développement de mon site web mais ce contact.php me bloque la route.
Voici le code de mon form html situé dans mon index :
Ensuite voici le code javascript pour l'envoie du formulaire :
Et finalement après quelques jours de recherches pour coder mon contact.php je suis venu ici vous demander de l'aide pour envoyer ce mail.
Si quelqu'un aurait la gentillesse de prendre quelques minutes pour jeter un oeil et trouver une solution à mon problème ceci m'arrangerait grandement.
Merci d'avance.
Je suis en plein développement de mon site web mais ce contact.php me bloque la route.
Voici le code de mon form html situé dans mon index :
<form id="form-contact" method="post" action="#">
<div class="span6 center"><input type="text" placeholder="Nom" name="contact_name" id="contact_name" /></div>
<div class="span6 center"><input type="email" placeholder="Email" name="contact_email" id="contact_email" /></div>
<div class="span6 center hide"><input type="text" placeholder="Société" name="contact_company" id="contact_company" /></div>
<div class="span6 center hide"><input type="text" placeholder="Budget" name="contact_budget" id="contact_budget" /></div>
<div class="span6 center"><textarea cols="6" rows="4" placeholder="Message" name="contact_message" id="contact_message"></textarea></div>
<div class="span12 center"><a href="#" id="contact_send" class="btn btn-large btn-icon white"><i class="icon-envelope-alt"></i>Envoyer</a></div>
</form>
Ensuite voici le code javascript pour l'envoie du formulaire :
contactForm: function() {
"use strict";
var $tis = this;
$("#contact_send").click(function(e){
e.preventDefault();
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
name = $('#contact_name').val(),
phone = $('#contact_phone').val(),
email = $('#contact_email').val(),
budget = $('#contact_budget').val(),
company = $('#contact_company').val(),
message = $('#contact_message').val(),
html = "",
error = false;
if(name === ""){
$('#contact_name').addClass('invalid');
error = true;
}else{
$('#contact_name').removeClass('invalid');
html = "name=" + name;
}
if ( $tis.formType === 1 ){
html += "&subject=Ask for proposal";
if(budget === ""){
$('#contact_budget').addClass('invalid');
error = true;
}else{
$('#contact_budget').removeClass('invalid');
html += "&budget=" + budget;
}
if(company === ""){
$('#contact_company').addClass('invalid');
error = true;
}else{
$('#contact_company').removeClass('invalid');
html += "&company=" + company;
}
} else {
html += "&subject=General Contact";
}
if(email === ""){
$('#contact_email').addClass('invalid');
error = true;
}else if(re.test(email) === false){
$('#contact_email').addClass('invalid');
error = true;
}else{
$('#contact_email').removeClass('invalid');
html += "&email="+ email;
}
if(message === ""){
$('#contact_message').addClass('invalid');
error = true;
}else{
$('#contact_message').removeClass('invalid');
html += "&message="+ message;
}
if(!error && !$tis.sendingMail) {
$tis.sendingMail = true;
$('#contact_send i').addClass('icon-cog icon-spin');
$('#contact_send').addClass('disabled');
$.ajax({
type: 'POST',
url: 'contact.php',
data: html,
success: function(msg){
$('#contact_send i').removeClass('icon-cog icon-spin');
$('#contact_send').removeClass('disabled');
if (msg === 'ok'){
$('#contact_send i').addClass('icon-ok').delay(1500).queue(function(next){
$(this).removeClass('icon-ok');
next();
});
$('#contact_send').addClass('btn-success').delay(1500).queue(function(next){
$(this).removeClass('btn-success');
next();
});
$('#form-contact')[0].reset();
}else{
$('#contact_send i').addClass('icon-remove').delay(1500).queue(function(next){
$(this).removeClass('icon-remove');
next();
});
$('#contact_send').addClass('btn-danger').delay(1500).queue(function(next){
$(this).removeClass('btn-danger');
next();
});
}
$tis.sendingMail = false;
},
error: function(){
$('#contact_send i').removeClass('icon-cog icon-spin');
$('#contact_send').removeClass('disabled');
$('#contact_send i').addClass('icon-remove').delay(1500).queue(function(next){
$(this).removeClass('icon-remove');
next();
});
$('#contact_send').addClass('btn-danger').delay(1500).queue(function(next){
$(this).removeClass('btn-danger');
next();
});
$tis.sendingMail = false;
}
});
} else{
$('#contact_send i').removeClass('icon-cog icon-spin');
$('#contact_send').removeClass('disabled');
$('#contact_send i').addClass('icon-remove').delay(1500).queue(function(next){
$(this).removeClass('icon-remove');
next();
});
$('#contact_send').addClass('btn-danger').delay(1500).queue(function(next){
$(this).removeClass('btn-danger');
next();
});
}
return false;
});
},
Et finalement après quelques jours de recherches pour coder mon contact.php je suis venu ici vous demander de l'aide pour envoyer ce mail.
Si quelqu'un aurait la gentillesse de prendre quelques minutes pour jeter un oeil et trouver une solution à mon problème ceci m'arrangerait grandement.
Merci d'avance.
14 réponses
Salut,
Tu n'as pas réussi avec toutes ces lignes à indiquer quel est le problème, que se passe t-il, quel est le message d'erreur, ...
Tu n'as pas réussi avec toutes ces lignes à indiquer quel est le problème, que se passe t-il, quel est le message d'erreur, ...
Salut jee pee, merci pour ta réponse.
Le problème est seulement que le mail ne s'envoie pas car mon fichier contact.php est vide, et après plusieurs jours je n'y parviens toujours pas. Sinon côté web lorsque je clique sur "envoyer" le bouton deviens rouge pour montrer l'échec de l'envoie vu que je n'est pas de fonction mail. Je pense que le code doit être relativement simple mais je n'est toujours pas réussi à faire fonctionner ce formulaire.
Le problème est seulement que le mail ne s'envoie pas car mon fichier contact.php est vide, et après plusieurs jours je n'y parviens toujours pas. Sinon côté web lorsque je clique sur "envoyer" le bouton deviens rouge pour montrer l'échec de l'envoie vu que je n'est pas de fonction mail. Je pense que le code doit être relativement simple mais je n'est toujours pas réussi à faire fonctionner ce formulaire.
Et où y a t-il du php dans tout ça ??
J'ai essayé de copier le code, mais il est incomplet il est où l'anchor # lancé par le bouton envoyer ?
Le code javascript il est dans quel source ? t il se termine par une virgule !
J'ai essayé de copier le code, mais il est incomplet il est où l'anchor # lancé par le bouton envoyer ?
Le code javascript il est dans quel source ? t il se termine par une virgule !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
La fonction pour envoyer le mail doit normalement se trouver dans le fichier "contact.php" comme il est appelé ici dans le javascript:
L'anchor # se trouve dans mon formulaire html :
Et pour la virgule c'est normal il y a encore du code en dessous pour un deuxième type de formulaire.
Voila le site pour que vous compreniez mieux comment il fonctionne si ça peut vous éclaircir. Dans la rubrique contact.
www.kolibry-design.fr
Je précise que mon problème est simplement la fonction envoyant le mail sinon comme vous pouvez le constater la gestion des erreurs de syntaxe et des champs non valide sont fonctionnelles.
Merci encore de vous pencher sur mon problème.
$.ajax({
type: 'POST',
url: 'contact.php',
data: html,
success: function(msg)
L'anchor # se trouve dans mon formulaire html :
<div class="span12 center"><a href="#" id="contact_send" class="btn btn-large btn-icon white"><i class="icon-envelope-alt"></i>Envoyer</a></div>
Et pour la virgule c'est normal il y a encore du code en dessous pour un deuxième type de formulaire.
Voila le site pour que vous compreniez mieux comment il fonctionne si ça peut vous éclaircir. Dans la rubrique contact.
www.kolibry-design.fr
Je précise que mon problème est simplement la fonction envoyant le mail sinon comme vous pouvez le constater la gestion des erreurs de syntaxe et des champs non valide sont fonctionnelles.
Merci encore de vous pencher sur mon problème.
C'est un beau site. Mais vous devez être plus fort que moi en développement de site web ;-)
J'étais d'abord intervenu parce que la question ne me semblait pas claire.
J'espère que d'autres intervenants de CCM pourront vous aider. Vous avez aussi cet autre site CCM CS spécialisé dans le développement : https://codes-sources.commentcamarche.net/forum/
ps :
Je n'ai toujours pas compris comment le # lance le contact.php
et vous n'avez pas donné le contenu de contact.php
J'étais d'abord intervenu parce que la question ne me semblait pas claire.
J'espère que d'autres intervenants de CCM pourront vous aider. Vous avez aussi cet autre site CCM CS spécialisé dans le développement : https://codes-sources.commentcamarche.net/forum/
ps :
Je n'ai toujours pas compris comment le # lance le contact.php
et vous n'avez pas donné le contenu de contact.php
Salut,
En testant l'envoie d'email depuis la rubrique Contact, le fichier contact.php retourne ce message d'erreur :
Warning: mail() expects at most 5 parameters, 7 given in /customers/4/e/8/kolibry-design.fr/httpd.www/contact.php on line 13
Vous avez donc définie deux paramètres en trop dans la fonction mail() de votre code. Vous pouvez trouver plus de détail sur l'utilisation de cette depuis la documentation officielle : https://www.php.net/manual/fr/function.mail.php
PS : penser à désactiver l'affichage des erreurs si le site est en production
Bonne journée
En testant l'envoie d'email depuis la rubrique Contact, le fichier contact.php retourne ce message d'erreur :
Warning: mail() expects at most 5 parameters, 7 given in /customers/4/e/8/kolibry-design.fr/httpd.www/contact.php on line 13
Vous avez donc définie deux paramètres en trop dans la fonction mail() de votre code. Vous pouvez trouver plus de détail sur l'utilisation de cette depuis la documentation officielle : https://www.php.net/manual/fr/function.mail.php
PS : penser à désactiver l'affichage des erreurs si le site est en production
Bonne journée
Merci pour les réponses et oui je suis assez nul en php ^^
Voila le pauvre contenu de mon contact.php :
Je pense qu'il doit manquer quelques petites choses mais je ne vois pas trop quoi.
Voila le pauvre contenu de mon contact.php :
<?php
$email_to = "contact@kolibry-design.fr";
@mail($email_to, $contact_name, $contact_phone, $contact_email , $contact_message);
?>
Je pense qu'il doit manquer quelques petites choses mais je ne vois pas trop quoi.
Suivant la doc ci-dessus il ne faudrait (en version simple) que trois paramètres à la fonction mail (destinataire, sujet, message).
Donc concaténer les infos du contact avec le message pour en faire le corps du mail.
Donc concaténer les infos du contact avec le message pour en faire le corps du mail.
Même avec seulement 3 paramètres il refuse de m'envoyer ce mail. Et dans les exemples de la doc il monte jusqu'à 5 paramètres. Il doit manquer quelque chose de très banale mais la je sèche.
Alors finalement je reçois les emails mais ils sont vides, c'est déjà ça :)
Juste un problème de récupération des données voici mon contact.php actuel :
Si vous voyez un truc qui cloche ^^
Merci.
Juste un problème de récupération des données voici mon contact.php actuel :
<?php
$contact_name = $_POST["#contact_name"];
$contact_company = $_POST["#contact_company"];
$contact_budget = $_POST["#contact_budget"];
$contact_message = $_POST["#contact_message"];
$email_to = "contact@kolibry-design.fr";
mail($email_to, $contact_name, $contact_message, $contact_budget, $contact_company);
?>
Si vous voyez un truc qui cloche ^^
Merci.
Les variables ne sont pas définies dans ton fichier contact.php. Il faudrait récupérer les infos de ton formulaire pour commencer (nom du contact, email, téléphone, message...)
Tu peux trouver plein de tutoriel avec ton moteur de recherche préféré sur l'utilisation de la fonction mail en php.
Tu peux trouver plein de tutoriel avec ton moteur de recherche préféré sur l'utilisation de la fonction mail en php.
C'est bon ça fonctionne , je reçois les informations du formulaire dans le mail.
Mon dernier petit problème est que que l'email arrive à destination mais mon bouton "envoyer" est censé afficher une icône de validation mais il continue à afficher une croix rouge. le problème doit surement venir de cette fonction dans le fichier javascript :
Si j'ai bien compris, lorsqu'il envoie le message le fichier contact.php ne doit certainement pas retourner la valeur msg = ok.
Pensez vous que dans mon contact.php lorsque le mail est envoyé on peut retourner msg = ok ? pour qu'il puisse afficher mon icon-ok et btn-success.
Merci
Mon dernier petit problème est que que l'email arrive à destination mais mon bouton "envoyer" est censé afficher une icône de validation mais il continue à afficher une croix rouge. le problème doit surement venir de cette fonction dans le fichier javascript :
$.ajax({ type: 'POST', url: 'contact.php', data: html, success: function(msg){ $('#contact_send i').removeClass('icon-cog icon-spin'); $('#contact_send').removeClass('disabled'); if (msg === 'ok'){ $('#contact_send i').addClass('icon-ok').delay(1500).queue(function(next){ $(this).removeClass('icon-ok'); next(); }); $('#contact_send').addClass('btn-success').delay(1500).queue(function(next){ $(this).removeClass('btn-success'); next(); }); $('#form-contact')[0].reset(); } else{ $('#contact_send i').addClass('icon-remove').delay(1500).queue(function(next){ $(this).removeClass('icon-remove'); next(); }); $('#contact_send').addClass('btn-danger').delay(1500).queue(function(next){ $(this).removeClass('btn-danger'); next(); }); } $tis.sendingMail = false; }
Si j'ai bien compris, lorsqu'il envoie le message le fichier contact.php ne doit certainement pas retourner la valeur msg = ok.
Pensez vous que dans mon contact.php lorsque le mail est envoyé on peut retourner msg = ok ? pour qu'il puisse afficher mon icon-ok et btn-success.
Merci