Fonctionnement "Contact Form" html/php
Fermé
deadwingtree
Messages postés
2
Date d'inscription
samedi 6 octobre 2012
Statut
Membre
Dernière intervention
8 janvier 2015
-
8 janv. 2015 à 13:05
jordane45 Messages postés 38464 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 avril 2025 - 8 janv. 2015 à 13:35
jordane45 Messages postés 38464 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 12 avril 2025 - 8 janv. 2015 à 13:35
A voir également:
- Fonctionnement "Contact Form" html/php
- Editeur html - Télécharger - HTML
- Easy php - Télécharger - Divers Web & Internet
- Fonctionnement du protocole http - Guide
- Br html - Forum HTML
- Saut de lignes sans <br/> ✓ - Forum Webmastering
1 réponse
jordane45
Messages postés
38464
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
12 avril 2025
4 741
8 janv. 2015 à 13:35
8 janv. 2015 à 13:35
Bonjour,
Déjà.. il te manque la méthode d'envoie des données dans ton FORM
et dans ce cas là.. il faut modifier ton bouton en remplaçant ton lien
par
ou alors... vu que tu ne sembles pas utiliser de bouton "submit" mais un lien ... c'est qu'il doit y avoir du javascript quelque part... et que tu ne nous as pas donné !
Par contre.. un conseil...
Places le code de ta CLASS dans un fichier PHP à part.
form.class.php
Tu n'auras plus qu'à l'inclure dans ta page ...
Déjà.. il te manque la méthode d'envoie des données dans ton FORM
<form id="contact-form" class="contact-form" action="#" method="post">
et dans ce cas là.. il faut modifier ton bouton en remplaçant ton lien
<p class="contact-submit"> <a id="contact-submit" class="submit" href="#">Envoyer</a> </p>
par
<p class="contact-submit"> <input id="contact-submit" class="submit" type="submit" value="Envoyer"> </p>
ou alors... vu que tu ne sembles pas utiliser de bouton "submit" mais un lien ... c'est qu'il doit y avoir du javascript quelque part... et que tu ne nous as pas donné !
Par contre.. un conseil...
Places le code de ta CLASS dans un fichier PHP à part.
form.class.php
<?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'); 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); } }//Fin de la class ?>
Tu n'auras plus qu'à l'inclure dans ta page ...
<?php //import du fichier class Form require_once("form.class.php"); //déclaration des variables $admin_email = 'your@yourdomain.com'; // Your Email $message_min_length = 5; // Min Message Length //Si le Submit POST est envoyé : if(isset($_POST)){ try { $contact_form = new Contact_Form($_POST, $admin_email, $message_min_length); $contact_form->sendRequest(); } catch (Exception $e) { echo 'Exception reçue : ', $e->getMessage(), "\n"; } }// fin du traitement du submit ?> <div class="row"> <div class="span9"> <form id="contact-form" class="contact-form" method="post" action="#"> <p class="contact-name"> <input id="contact_name" type="text" placeholder="Nom" value="" name="name" /> </p> <p class="contact-email"> <input id="contact_email" type="text" placeholder="Email" value="" name="email" /> </p> <p class="contact-message"> <textarea id="contact_message" placeholder="Message" name="message" rows="15" cols="40"></textarea> </p> <p class="contact-submit"> <input id="contact-submit" class="submit" type="submit" value="Envoyer"> </p> <div id="response"> </div> </form> </div>