Posted 9 марта, 20177 yr comment_124675 Не работает обратная связь помогите пожалуйста поправить ее. <form id="contact-form" class="contact-form" action="_include\php\contact.php"> <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> А вот 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'); $admin_email = '[email protected]'; // 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(); ?>
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.