Bonjour,
Je suis en train de refaire entièrement mon site web et j'ai un problème avec mon formulaire de contact.
J'ai intégré celui-ci dans mon site est ai intégré le fichier php du formulaire mais lorsque je teste d'envoyer un mail via ce formulaire rien ne se passe (ni message d'erreur si je n'ai pas rentré d'adresse mail, ni "merci" si j'ai bien rempli tous les champs).
J'ai passé pas mal de temps à voir d'où cela pourrait venir mais je ne vois vraiment pas et je suis donc bloqué…
Voici le code HTML du formulaire de contact :
Ainsi que le code php du formulaire :
Si jamais quelqu'un voyait d'où vient l'erreur ou avait une solution pour que mon formulaire puisse fonctionner, je vous en saurai vraiment très reconnaissant car je bloque vraiment depuis hier soir…
Merci d'avance,
Paul
Modifié par PoX (08 Aug 2013 - 17:58)
Je suis en train de refaire entièrement mon site web et j'ai un problème avec mon formulaire de contact.
J'ai intégré celui-ci dans mon site est ai intégré le fichier php du formulaire mais lorsque je teste d'envoyer un mail via ce formulaire rien ne se passe (ni message d'erreur si je n'ai pas rentré d'adresse mail, ni "merci" si j'ai bien rempli tous les champs).
J'ai passé pas mal de temps à voir d'où cela pourrait venir mais je ne vois vraiment pas et je suis donc bloqué…
Voici le code HTML du formulaire de contact :
<!-- Contact Form -->
<div class="row">
<div class="span9">
<form id="contact-form" class="contact-form" action="#">
<p class="contact-name">
<input id="contact_name" type="text" placeholder="Full Name" value="" name="name" />
</p>
<p class="contact-email">
<input id="contact_email" type="text" placeholder="Email Address" value="" name="email" />
</p>
<p class="contact-message">
<textarea id="contact_message" placeholder="Your Message" name="message" rows="15" cols="40"></textarea>
</p>
<p class="contact-submit">
<a id="contact-submit" class="submit" href="#">Send Your Email</a>
</p>
<div id="response">
</div>
</form>
</div>
<div class="span3">
<div class="contact-details">
<h3>Contact Details</h3>
<ul>
<li><a href="mailto:******@gmail.com">******@gmail.com</a></li>
<li>Phone: 06 07 08 09 10</li>
</ul>
</div>
</div>
</div>
<!-- End Contact Form -->
Ainsi que le code php du formulaire :
<?php
/*
* Contact Form Class
*/
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
$admin_email = '******@gmail.com'; // Your Email
$message_min_length = 5; // Min Message Length
class Contact_Form{
function __construct($details, $email_admin, $message_min_length){
$this->name = stripslashes($details['name']);
$this->email = trim($details['email']);
$this->subject = 'Contact from Your Website'; // Subject
$this->message = stripslashes($details['message']);
$this->email_admin = $email_admin;
$this->message_min_length = $message_min_length;
$this->response_status = 1;
$this->response_html = '';
}
private function validateEmail(){
$regex = '/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i';
if($this->email == '') {
return false;
} else {
$string = preg_replace($regex, '', $this->email);
}
return empty($string) ? true : false;
}
private function validateFields(){
// Check name
if(!$this->name)
{
$this->response_html .= '<p>Please enter your name</p>';
$this->response_status = 0;
}
// Check email
if(!$this->email)
{
$this->response_html .= '<p>Please enter an e-mail address</p>';
$this->response_status = 0;
}
// Check valid email
if($this->email && !$this->validateEmail())
{
$this->response_html .= '<p>Please enter a valid e-mail address</p>';
$this->response_status = 0;
}
// Check message length
if(!$this->message || strlen($this->message) < $this->message_min_length)
{
$this->response_html .= '<p>Please enter your message. It should have at least '.$this->message_min_length.' characters</p>';
$this->response_status = 0;
}
}
private function sendEmail(){
$mail = mail($this->email_admin, $this->subject, $this->message,
"From: ".$this->name." <".$this->email.">\r\n"
."Reply-To: ".$this->email."\r\n"
."X-Mailer: PHP/" . phpversion());
if($mail)
{
$this->response_status = 1;
$this->response_html = '<p>Thank You!</p>';
}
}
function sendRequest(){
$this->validateFields();
if($this->response_status)
{
$this->sendEmail();
}
$response = array();
$response['status'] = $this->response_status;
$response['html'] = $this->response_html;
echo json_encode($response);
}
}
$contact_form = new Contact_Form($_POST, $admin_email, $message_min_length);
$contact_form->sendRequest();
?>
Si jamais quelqu'un voyait d'où vient l'erreur ou avait une solution pour que mon formulaire puisse fonctionner, je vous en saurai vraiment très reconnaissant car je bloque vraiment depuis hier soir…
![Smiley ohwell](https://cdnf.alsacreations.net/smilies/ohwell.gif)
Merci d'avance,
Paul
Modifié par PoX (08 Aug 2013 - 17:58)