Bonjour !
Comme dit dans le titre, j'ai un problème avec la création de mon formulaire de contact.
Je souhaiterais "simplement" créer un formulaire avec 4 champs obligatoires (nom, prenom, mail, message) et le recevoir par mail.
Etant tout débutant en php, j'ai cherché (et trouvé) pas mal de tuto pour créer le script php qui devrait executer cette action.
Cependant, alors que tout à l'air de fonctionner correctement (message d'erreur quand c'est incorrect, redirection vers la page de confirmation quand tout est bon), je ne reçois jamais le mail.
J'ai bien essayer de chercher la solution mais je ne comprend pas d'où vient l'erreur.
Merci d'avance pour votre aide !
Code de mon formulaire :
Et celui de mon fichier php (créer grâce à plusieurs tuto trouvés sur internet..) :
Modifié par TurkElton (06 May 2015 - 09:22)
Comme dit dans le titre, j'ai un problème avec la création de mon formulaire de contact.
Je souhaiterais "simplement" créer un formulaire avec 4 champs obligatoires (nom, prenom, mail, message) et le recevoir par mail.
Etant tout débutant en php, j'ai cherché (et trouvé) pas mal de tuto pour créer le script php qui devrait executer cette action.
Cependant, alors que tout à l'air de fonctionner correctement (message d'erreur quand c'est incorrect, redirection vers la page de confirmation quand tout est bon), je ne reçois jamais le mail.
J'ai bien essayer de chercher la solution mais je ne comprend pas d'où vient l'erreur.
Merci d'avance pour votre aide !
Code de mon formulaire :
<form method="post" action="traitement.php">
<p>
<label for="nom"></label>
<input type="text" name="nom" id="nom" placeholder="NOM" size="53" autofocus required/></br>
<label for="prenom"></label>
<input type="text" name="prenom" id="prenom" placeholder="PRÉNOM" size="53" required /></br>
<label for="email"></label>
<input type="email" name="email" id="email" placeholder="E-MAIL" size="53" required/></br>
<label for="message">Votre message</label></br>
<textarea name="message" id="message" placeholder="Laisser votre message..."cols="55" rows="10"></textarea></br>
<input type="submit" value="Envoyer" />
<input type="reset" value="Ignorer" />
</p>
</form>
Et celui de mon fichier php (créer grâce à plusieurs tuto trouvés sur internet..) :
<?php
$s = "";
function verifieEmail($mail)
{
if (preg_match('/^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$]/i',$mail)) return false;
list ($nom,$domaine) = explode ('@',$mail);
if (getmxrr($domaine,$mxhosts)) return true;
else return false;
}
if (!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message']))
{
$destinataire = "emaildecontact@xxx.xx";
$sujet = "Infos";
$message = "Nom : ".$_POST['nom']."\r\n";
$message .= "Prenom : ".$_POST['prenom']."\r\n";
$message .= "Adresse email : ".$_POST['email']."\r\n";
$message .= "Message : ".$_POST['message']."\r\n";
$from = $_POST['email'];
if (verifieEmail($from))
{
$entete = 'From: '.$from;
if (mail($destinataire,$sujet,$message,$entete))
{
header('Location: confirmation.html'); // Redirection vers la page de confirmation
}
else
{
$s = "Une erreur s'est produite. Votre demande n'a pas été envoyée.";
}
}
else
{
$s = "Votre email est invalide. Votre demande n'a pas été envoyée.";
}
}
else
{
$s = "Vous n'avez pas rempli tous les champs. Votre demande n'a pas été envoyée.";
}
if ($s) echo $s;
?>
Modifié par TurkElton (06 May 2015 - 09:22)