Bonjour,
j'ai fait un site avec un formulaire et un code qui doit m'envoyer un mail.
Le problème, c'est que je n'ai pas de message d'erreur mais je n'ai pas de mail non plus. Et rien ne me dit sur ma page si le mail à été envoyé ou pas.
Je débute et j'ai glané mon inspiration sur divers forums.
Est ce que quelqu'un pourrait m'expliquer où j'ai commis les erreurs car je galère depuis plus d'une semaine.
Le site est hébergé chez OVH avec la formule Kimsufi, n'est pas ça qui bloque ?
Voici mon formulaire :
Voilà mon code php :
Merci à tous ceux qui auront eu le courage d'arriver à cette ligne et à ceux qui prendront de leur temps pour me dépatouiller.
j'ai fait un site avec un formulaire et un code qui doit m'envoyer un mail.
Le problème, c'est que je n'ai pas de message d'erreur mais je n'ai pas de mail non plus. Et rien ne me dit sur ma page si le mail à été envoyé ou pas.
Je débute et j'ai glané mon inspiration sur divers forums.
Est ce que quelqu'un pourrait m'expliquer où j'ai commis les erreurs car je galère depuis plus d'une semaine.
Le site est hébergé chez OVH avec la formule Kimsufi, n'est pas ça qui bloque ?
Voici mon formulaire :
<form class="rw-contact-form" action="index.php" method="post" enctype="multipart/form-data">
<div>
<label for="name">Votre Nom :</label> *<br />
<input class="form-input-field" type="text" value="" name="subject" id="name" required placehoder="Votre nom" size="40"/><br /><br />
<label for="email">Votre Email :</label> *<br />
<input class="form-input-field" type="email" value="" name="email" id="email" required placeholder="nom@exemple.fr" size="40"/><br /><br />
<label for="name">Objet du message :</label> *<br />
<input class="form-input-field" type="text" value="" name="sujet" id="sujet" required placeholder="Titre de votre message" size="40"/><br /><br />
<label for="message">Message :</label> *<br />
<textarea class="form-input-field" name="message" id="message" required rows="10" cols="38"></textarea><br /><br />
<input class="form-input-button" type="reset" name="resetButton" value="Recommencer" />
<input class="form-input-button" type="submit" name="submitButton" value="Envoyer" />
</div>
</form>
Voilà mon code php :
<?php
if (isset($_POST['submitButton']))
{
if (get_magic_quotes_gpc())
{
$nom = stripslashes(trim($_POST['nom']));
$expediteur= stripslashes(trim($_POST['email']));
$sujet= stripslashes(trim($_POST['sujet']));
$message= stripslashes(trim($_POST['message']));
}
else
{
$nom = trim($_POST['nom']);
$expediteur= trim($_POST['email']);
$sujet= trim($_POST['sujet']);
$message= trim($_POST['message']);
}
$regex_mail = '/^[-+.\w]{1,64}@[-.\w]{1,64}\.[-.\w]{2,6}$/i';
$regex_head = '/[\n\r]/';
if($_SERVER['HTTP_REFERER'] != 'http://www.monsite.fr/nous_contacter/index.php')
{
header('Location: http://www.monsite.fr');
}
elseif (empty($nom)
|| empty($expediteur)
|| empty($sujet)
|| empty($message))
{
$alert = 'Tous les champs doivent être renseignés';
}
elseif (!preg_match($regex_mail, $expediteur))
{
$alert = 'L\'adresse '.$expediteur.' n\'est pas valide';
}
elseif (preg_match($regex_head, $expediteur)
|| preg_match($regex_head, $nom)
|| preg_match($regex_head, $sujet))
{
$alert = 'En-têtes interdites dans les champs du formulaire';
}
elseif (!isset($_COOKIE['sent']))
{
$to = 'contact@monsite.fr';
$msg = 'Bonjour,'."\r\n\r\n";
$msg .= 'Ce mail a été envoyé depuis monsite.fr par'.$nom."\r\n\r\n";
$msg .= 'Voici le message qui vous est adressé :'."\r\n";
$msg .= '***************************'."\r\n";
$msg .= $message."\r\n";
$msg .= '***************************'."\r\n";
$headers = 'From: '.$nom.' <'.$expediteur.'>'."\r\n\r\n";
if (mail($to, $sujet, $msg, $headers))
{
$alert = 'E-mail envoyé avec succès';
setcookie("sent", "1", time() + 120);
unset($_POST);
}
else
{
$alert = 'Erreur d\'envoi de l\'e-mail';
}
}
else
{
unset($_POST);
}
}
?>
Merci à tous ceux qui auront eu le courage d'arriver à cette ligne et à ceux qui prendront de leur temps pour me dépatouiller.