23 de outubro de 2013

Criando um formulário de contato em HTML com envio em PHP

Por sidnei


Estamos criando este post com intuito de ajudar pessoas que sempre possuem dúvidas e dificuldades na construção de um formulário de contato, não estamos falando do código em HTML que é bem simples e pode ser feito usando tabelas <table>, mas sim no método de envio do form.

Então vamos ao formulário:

Abra seu editor, seja ele qual for, Bloco de Notas, TextMate, Dreamweaver, etc… e salve ele como contato.html , Caso já tenha uma página criada para seu formulário, basta copiar o código e colocar nesta página.

Digite o seguinte:

<form action="enviar_contato.php" method="post">
</form>

Agora criaremos os <ul>, <li>, <label> e os <input>, deverão ser digitados dentro do <form></form>:

<ul>                     
    <li>
        <label for="name">Nome</label>
        <input type="text" name="name" id="name" />
    </li>
    <li>
        <label for="email">Email</label>
        <input type="text" name="email" id="email" />
    </li>
    <li>
        <label for="subject">Assunto</label>
        <input type="text" name="subject" id="subject" />
    </li>
    <li>
        <label for="message">Mensagem</label>
        <textarea name="message" id="message" rows="30" cols="30"></textarea>
    </li>
    <li>
        <input type="submit" id="send_message" value="Enviar" />
    </li>
</ul>

Feito isso, agora precisamos do arquivo em PHP para fazer o envio dos dados preenchidos no formulário pelo visitante do seu site.

Para isso dentro do mesmo local onde você salvou o arquivo contato.html, irá criar e salvar outro arquivo com o nome enviar_contato.php e digitar as seguintes linhas:

<?php
    $name     =   $_POST['name']; //pega os dados que foi digitado no ID name.
    $email    =   $_POST['email']; //pega os dados que foi digitado no ID email.
    $subject  =   $_POST['subject']; //pega os dados que foi digitado no ID subject.
    $message  =   $_POST['message']; //pega os dados que foi digitado no ID message.
 
    $headers  = "From: $emailrn";
    $headers .= "Reply-To: $emailrn";
/*abaixo será os dados que serão enviado para o email
cadastrado para receber o formulário.*/
       $corpo = "Formulário enviadon";
       $corpo .= "Nome: " . $name . "n";
       $corpo .= "Email: " . $email . "n";
       $corpo .= "Comentários: " . $message . "n";
 
       $email_to = 'seuemail@seudominio.com.br'; //substitua este email pelo seu email do seu site.
    $status = mail($email_to, $subject, $corpo, $headers); //enviando o email.
    if($status) {
        echo "<script> alert('Formulário enviado com sucesso.'); </script>"; //verifica se foi enviado o email com sucesso.
    }
    else {
        echo "<script> alert('Falha ao enviar o Formulário.'); </script>"; //se houve algum erro de envio.
    }
    echo "<script> window.location.href = 'http://www.seudominio'; </script>"; //aqui você coloca uma página que será redirecionada após o envio do formulário, dei um exemplo do meu site.
?>

Esperamos  ter colaborado com a inclusão deste post.

Quanto a estilização do formulário vai da criatividade de cada um, por isso não estarei escrevendo o CSS.