Enviando Formulário com PHP

Nós iremos salvar os dados no banco de dados e ainda deixar com uma cara agradável com Bootstrap.

No nosso primeiro passo vamos criar o HTML, ou seja o nosso formulário bunitinho e bem agradável aonde fara com que o usuário se sinta a vontade de se cadastrar sem medo de chegar “N” Spams e Newsletters indesejadas. 😀

Vamos ver o HTML, não tem segredo esse código é bem simples.
Como o importante desse post é o arquivo “envia_mensagem.php“, que é o responsável de enviar os dados e salva-los no banco de dados. Então vou encurtar explicações do HTML e mostra-lo num bloco só.

Obs. os “pattern” no HTML nos campos e-mail e telefone não são os ideais, só fiz assim para ser rápida a explicação. Você pode muito bem criar um JavasCript para validar os campos.

Obs. Clique nesse link  abaixo para baixar os arquivos do Bootstrap.

<form method="post" action="envia_mensagem.php">

          <div class="form-row">
              <div class="form-group col-md-6">
                <label for="inputtelefonel4">Nome:</label>
                <input type="nome" name="nome" class="form-control" required="required">
              </div>
              <div class="form-group col-md-6">
                <label for="exampleFormControlSelect1">E-mail:</label>
                <input type="email" name="email" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}$" class="form-control" required="required"><!-- pattern é responsável de verificar se o e-mail é valido, prática do HTML5. -->
              </div>
            </div>

          <div class="form-row">
              <div class="form-group col-md-6">
                <label for="inputtelefonel4">Telefone:</label>
                <input type="telefone" name="telefone" pattern="([0-9]{8})[0-9]{1,2}[0-9]{1}$" class="form-control" ><!-- pattern é responsável de verificar o telefone, prática do HTML5. -->
              </div>
              <div class="form-group col-md-6">
                <label for="exampleFormControlSelect1">Selecione um horário:</label>
                <select class="form-control" id="exampleFormControlSelect1" name="horario">
                  <option value="9:00am">9:00am</option>
                  <!-- Para incurtar o código eu tirei o option até chegar nas 17:30 horas -->
                  <option value="5:30pm">17:30pm</option>
                </select>
              </div>
            </div>

            <div class="form-group">
              <label for="exampleFormControlSelect1">Mensagem:</label>
              <textarea name="mensagem" class="form-control" required="required"></textarea>
            </div>

            <div class="form-group">
              <label for="exampleFormControlSelect1">Selecione uma forma de contato:</label><br>
              <div class="form-check form-check-inline">
                <input class="form-check-input" type="checkbox" name="Por_Telefone" id="inlineRadio4" value='<img src="http://micheldeziderio.com.br/landing_page/img/telefone2.jpg" width="25px">' title="TELEFONE">
                <!-- Valor img é para o e-mail ficar mais bonitinho e ter alguma imagem e não só texto, e serve também para identificar o que o usúario escolheu de forma de retrno de contato-->
                <label class="form-check-label" for="inlineRadio4" title="TELEFONE"></label>
              </div>
              <div class="form-check form-check-inline">
                <input class="form-check-input" type="checkbox" name="Por_Email" id="inlineRadio5" value='<img src="http://micheldeziderio.com.br/landing_page/img/email2.png" width="25px">' title="E-MAIL">
                <!-- Valor img é para o e-mail ficar mais bonitinho e ter alguma imagem e não só texto, e serve também para identificar o que o usúario escolheu de forma de retrno de contato-->
                <label class="form-check-label" for="inlineRadio5" title="E-MAIL"></label>
              </div>
              <div class="form-check form-check-inline">
                <input class="form-check-input" type="checkbox" name="Por_WhatsApp" id="inlineRadio6" value='<img src="http://micheldeziderio.com.br/landing_page/img/whatsapp2.png" width="25px">' title="WHATSAPP">
                <!-- Valor img é para o e-mail ficar mais bonitinho e ter alguma imagem e não só texto, e serve também para identificar o que o usúario escolheu de forma de retrno de contato-->
                <label class="form-check-label" for="inlineRadio6" title="WHATSAPP"></label>
              </div>
            </div>
              
                  <button type="submit" class="btn btn-default" name="BTEnvia">Enviar</button>
                  
                  <input type="hidden" name="tipodecompra" class="form-control" value="Você insere o tipo de compra">
                  <input type="hidden" name="campanha" class="form-control" value="Você insere o nome da camapnha desejada">
</form>

Vamos começar o arquivo “envia_mensagem.php” conectando com o banco de dados.

<?php
    $servername = "localhost"; // coloque aqui o local do banco
    $username = "root"; // coloque aqui o nome de usúario do banco
    $password = ""; // coloque aqui a senha do banco
    $dbname = "leads"; // coloque aqui o nome do banco
    
    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $dbname);

Após conexão vamos criar um “if = se foi feita a conexão” de conexão e teremos.
Em seguida outro “if = se ele foi clicado” para validar o botão clicado “Enviar = BTenvia“. E setar as variáveis que iram receber os dados do formulário.
Obs. Nesse caso tem que ter uma variável name=”BTenviar” ou qualquer uma outra, desde que ela seja citada em ambos arquivos.

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

    if (isset($_POST['BTEnvia'])) {
    
    //Variaveis de POST, Alterar somente se necessário 
    //====================================================
    $nome = $_POST['nome'];
    $email = $_POST['email'];
    $assunto = $_POST['campanha'];
    $telefone = $_POST['telefone']; 
    $mensagem = $_POST['mensagem'];
    $horario = $_POST['horario'];
    $tipodecompra =    $_POST['tipodecompra'];
    $tipo_contato1 = $_POST['Por_Telefone'];
    $tipo_contato2 = $_POST['Por_Email'];
    $tipo_contato3 = $_POST['Por_WhatsApp'];

Se estiver ocorrer tudo correto na conexão ele vai seguir gravando os dados no banco de dados.

    $sql =  "INSERT INTO `leads_contato` ( 
            `nome`, `email`, `telefone`, `mensagem`, `horario`, `tipodecompra`, `Por_Telefone`, `Por_Email`, `Por_WhatsApp`
        )

        VALUES (
                '$nome', '$email', '$telefone', '$mensagem', '$horario', '$tipodecompra', '$tipo_contato1', '$tipo_contato2', '$tipo_contato3'
        )";

Gravando os dados no banco ele vai abrir outro “if = se foi feita a conexão e gravado os dados“, após a conexão e gravando dados ele ira fazer a função de envio.

if (mysqli_query($conn, $sql)) {
            
                //====================================================
                
                //REMETENTE --> ESTE EMAIL TEM QUE SER VALIDO DO DOMINIO
                //==================================================== 
                $email_remetente = "$email"; // deve ser uma conta de email do seu dominio 
                //====================================================
                
                //Configurações do email, ajustar conforme necessidade
                //==================================================== 
                $email_destinatario = "contato@micheldeziderio.com.br"; // pode ser qualquer email que receberá as mensagens
                $email_reply = "$email"; 
                $email_assunto = "$assunto"; // Este será o assunto da mensagem
                //====================================================
                
                //Monta o Corpo da Mensagem
                //====================================================
                
                $email_conteudo = "Nome: $nome \n"; 
                $email_conteudo .= "Email: $email \n";
                $email_conteudo .= "Telefone: $telefone \n"; 
                $email_conteudo .= "Horário: $horario \n"; 
                $email_conteudo .= "<br>Mensagem: $mensagem \n"; 
                $email_conteudo .= "<br>Qual preferencia de compra: $tipodecompra \n"; 
                $email_conteudo .= "<br>Preferencia de contato: $tipo_contato1  $tipo_contato2 $tipo_contato3\n"; 

                //====================================================
                
                //Seta os Headers (Alterar somente caso necessario) 
                //==================================================== 
                $email_headers = implode ( "\n",array ( "From: $email_remetente", "Reply-To: $email_reply", "Return-Path: $email_remetente","MIME-Version: 1.0","X-Priority: 3","Content-Type: text/html; charset=UTF-8" ) );
                //====================================================
                
                //Enviando o email 
                //==================================================== 
                if (mail ($email_destinatario, $email_assunto, nl2br($email_conteudo), $email_headers)){ 
                    //Mensagem de formulário enviado com sucesso! 
                    //==================================================== 
                    echo "<script>alert('Enviado com Sucesso!');</script>";
                    echo "<script>window.location.href = 'http://www.micheldeziderio.com.br/landing_page/'</script>" 
                 } 
                else{ 
                    //Mensagem de ocorreu um erro ao enviar! 
                    //==================================================== 
                    echo "<script>alert(Algo deu errado ao enviar');</script>";
                    echo "Entre em contato webmaster@contato.com.br"
                 } 

Enfim no final de após tudo caso ele de um erro de conexão ele tem “else = caso contrário ele mostra uma mensagem de erro e irá falar qual foi o erro“.
Sendo o erro na conexão com o banco de dados. E fechando o arquivo PHP.

    } else {
            echo "<script>alert(Algo deu errado ao enviar');</script>";
            echo "Entre em contato webmaster@contao.com.br" . $sql . "<br>" . mysqli_error($conn);
    }
    
} 
?>

Exemplo de HTML:

CLIQUE AQUI

Use os códigos para o bem e evite sair criando Spams pela internet. 😀

Download dos arquivos do exemplo:

CLIQUE AQUI


Compartilhe este artigo com seus amigos!