Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Diego Machado

Problemas PHP EMAIL FORMULÁRIO

Recommended Posts

Olá pessoal,

 

Estou com problema no meu formulário de email, já coloquei todas as informações, mas o email não chega, como não conheço muito sobre PHP gostaria de saber se alguém poderia me dar um HELP.

 

Html

 <!-- Contact Form -->
    <div class="row">
    	<div class="span9">
        
        	<form action="_include/php/contact.php" method="post" class="contact-form" id="contact-form">
            	<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="_include/php/contact.php">Send Your Email</a>
                </p>
                
                <div id="response">
                
                </div>
            </form>
         
        </div>

Inseri no main.js

BRUSHED.contactForm = function(){
$("#contact-submit").on('click',function() {
$contact_form = $('#contact-form');

var fields = $contact_form.serialize();

$.ajax({
type: "POST",
url: "_include/php/contact.php",
data: fields,
dataType: 'json',
success: function(response) {

if(response.status){
$('#contact-form input').val('');
$('#contact-form textarea').val('');
}

$('#response').empty().html(response.html);
}
});
return false;
});
}

E no 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 = 'diego.machado81@gmail.com'; // Your Email
$message_min_length = 5; // Min Message Length
 
 
class Contact_Form{
function __construct($details, $email_admin, $message_min_length){
 
$this->name = utf8_decode (stripslashes($details['name']));
$this->email = trim($details['email']);
$this->subject = 'Contato pelo site DM81'; // 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>Por favor, entre com seu nome.</p>';
$this->response_status = 0;
}
 
// Check email
if(!$this->email)
{
$this->response_html .= '<p>Por favor, entre com seu e-mail.</p>';
$this->response_status = 0;
}
 
// Check valid email
if($this->email && !$this->validateEmail())
{
$this->response_html .= '<p>Por favor, entre com um e-mail válido.</p>';
$this->response_status = 0;
}
 
// Check message length
if(!$this->message || strlen($this->message) < $this->message_min_length)
{
$this->response_html .= '<p>Por favor, entre com sua menssagem '.$this->message_min_length.' escrita</p>';
$this->response_status = 0;
}
}
 
 
private function sendEmail(){
$mail = mail($this->email_admin, $this->subject, utf8_decode($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>Obrigado pelo seu contato!</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();
 
?>

Bem, se alguém poder dar uma luz ficaria muito agradecido.

 

Ah! Testei com o site publicado, mesmo assim não rolou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.