Ir para conteúdo

wagnerbraz

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    wagnerbraz deu reputação a Renato em [HTML + PHP] Formulário de Contato   
    Formulário de Contato - Funcionando


    Olá galera, o tutorial abaixo vai te ajudar a criar um formulário de contato que funciona perfeitamente!
    Basta seguir passo-a-passo, e caso surjam duvidas no meio do caminho, basta perguntar aqui mesmo.
    PS: É necessário um conhecimento de HTML e uma base em lógica de programação!

    1 - iremos criar o index.html onde ficará o formulário.


    <form action="enviar.php" method="POST">
    <input type="hidden">
    <table border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td>Nome:<br> <input type="text" size="30" name="nome" value=""></td>
    </tr>
    <tr>
    <td>E-mail:<br> <input type="text" size="30" name="email" value=""></td>
    </tr>
    <tr>
    <td>Assunto:<br> <input type="text" size="30" name="assunto" value=""></td>
    </tr>
    <tr>
    <td>Mensagem:<br> <textarea cols="40" rows="10" name="mensagem"></textarea>
    </td>
    </tr>
    <tr>
    <td> <input name="submit" type="submit" value=" Enviar "> <input name="reset" type="reset" value=" Limpar "></td>
    </tr>
    </table>
    </form>
    [/code] Acima, criei um formulário simples com NOME, EMAIL, ASSUNTO, MENSAGEM. Sinta-se a vontade para editar/adicionar, porem você deverá colocar name em todos os campos, exemplo: Campo do nome: <input type="text" size="30" [b]name="nome"[/b] value=""> Porque será usado no PHP, no envio para e-mail. Uma parte imporante e que não deve faltar também é o action="enviar.php" method="POST", dentro do form, pois o enviar.php é o nome do arquivo que iremos criar no segundo passo, onde ele enviará o email, e retornará as mensagens. [b][size=3][color=#FF0000]2[/color][/size] - Agora iremos criar a parte de PHP.[/b] Crie um arquivo [b]enviar.php[/b] com o código: [code]
    <?php
    $nome = $_POST["nome"];
    $email = $_POST["email"];
    $assunto = $_POST["assunto"];
    $mensagem = $_POST["mensagem"];
    global $email;
    $data = date("d/m/y"); //pegando a data do evio
    $hora = date("H:i"); //pegando a hora
    $ip = $_SERVER['REMOTE_ADDR']; //pegando ip do cara que enviou

    if($nome != NULL or $mensagem != NULL or $assunto != NULL or $email != NULL) {
    mail ("[email protected]", //email para enviar dados
    "$assunto",
    "Nome: $nome\nData: $data\nIp: $ip\nHora: $hora\nE-mail: $email\n\nMensagem: $mensagem",
    "From: $email"
    );
    echo "<p>Obrigado por entrar em contato, $nome</p>";
    echo "<p>Entraremos em contato quando possível</p>";
    }
    else {
    echo "<p>Mensagem não enviada, por favor preencha corretamente o formulário.</p>";
    }
    ?>



    Abaixo tem a explicação do código acima


    2.1 - Você vai setar as variáveis:
    $nome = $_POST["nome"];
    • = Aqui é o nome da variável, você a escolhe.
    • = Aqui é o nome do campo que voce usou no HTML (aonde vocês pois name="" que eu disse ser necessário)
    As outras variáveis são para pegar a hora, data, etc. Não mecha.


    2.2, você fará uma condição if, onde retornará erro caso não preenchido o formulário corretamente:
    if($nome != NULL or $mensagem != NULL or $assunto != NULL or $email != NULL) {
    • = Caso o campo do nome estiver em branco...
    • = Caso o campo da mensagem estiver em branco...
    E assim sucessivamente, você escolhe os campos necessários, só acrescentando or $variável != NULL

    2.3 - você fará a ação caso a condição do passo 2.2 for verdadeira, ou seja, estiver todos os campos preenchidos:
    mail ("[email protected]", //email para enviar dados
    "$assunto",
    "Nome: $nome\nData: $data\nIp: $ip\nHora: $hora\nE-mail: $email\n\nMensagem: $mensagem",
    "From: $email"
    );
    echo "<p>Obrigado por entrar em contato, $nome</p>";
    echo "<p>Entraremos em contato quando possível</p>";
    }
    • = Para onde enviará os dados do formulário depois do cara clicar em Enviar
    • = Aqui é a mensagem que aparecerá no email, as caracteres \n significam uma quebra de linha, ou seja, igual <br> do html
    • = Aqui é a mensagem que aparecerá pro usuário logo quando ele clicar em Enviar.


    2.4 - você fará a ação caso a condição do passo 2.2 for falsa, ou seja, estiver algum campo vazio:
    echo "<p>Mensagem não enviada, por favor preencha corretamente o formulário.</p>"; }
    • = Aqui vai a mensagem de ERRO.

Informação Importante

Confirmação de Termo