Jump to content
Blastouch

Retornar para origem apos envio do formulário usando a biblioteca PHP do SendGrid

Recommended Posts

Olá! Saudações a todos...

 

Pessoal,  estou iniciando minha jornada por caminhos desconhecidos... já garimpei bastante aqui pelo forum para aprender sobre PHP e com as informações que aprendi conseguir montar um pequeno frankestein que aqui vou chamar de formulário...rsrsrs

 

Ja consegui enviar o Formulário utilizando a biblioteca do PHP da Sendgrid. 

 

E agora gostaria de voltar a pagina de origem do formulário e apresentar uma mensagem avisando que o formulário foi enviado.

 

Tentei fazer via script mais consegui apenas enviar o email.

 

Se alguém puder me auxiliar nessa questão eu agradeço. 

 

Obrigado!

 

 

PHP - Envio:

<!DOCTYPE html>
<html lang="pt-br">

<head>
    <meta charset="utf-8">
</head>

<body>

<?php

$formularSeite = "index.php"; // Personalize o nome do arquivo do formulário

// Os dados POST foram enviados?
if ($_SERVER["REQUEST_METHOD"] == "POST") {

// define o fuso horário e a data atual
date_default_timezone_set("America/Sao_Paulo");
$datum = date("d.m.Y H:i");

// remove tags HTML
$_POST = array_map('strip_tags', $_POST);
    
// definir conteúdo do e-mail
$inhaltEmail = "Enviada em: $datum hr

Nome: " . $_POST["name"] . "

E-Mail: " . $_POST["email"] . "

Telefone: " . $_POST["phone"] . "  

Mensagem: " . $_POST["message"] . "
  ";
    
    
// usando a biblioteca PHP do SendGrid

require 'vendor/autoload.php';

// configuração de instância e codificação de caracteres
  
$mail->CharSet = "UTF-8";

$from = new SendGrid\Email(null, "suporte@dimpow.com.br");
$subject = "Mensagem de Contato";
$to = new SendGrid\Email(null, "feradams@gmail.com");
$content = new SendGrid\Content("text/html", "Ola, Reinaldo <br><br> Nova Mensagem de Contato do Site<br><br>$inhaltEmail");
$mail = new SendGrid\Mail($from, $subject, $to, $content);

$apiKey = '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';

$sg = new \SendGrid($apiKey);

$response = $sg->client->mail()->send()->post($mail);  
    
// envie e-mail
 if ($mail->Send()) {
  header("Location: " . $formularSeite . '?status=OK#form1-x');
 }
 else {
  header("Location: " . $formularSeite . '?status=KO#form1-x');
 }
}

?>
</body>

</html>

Formulário:

<form class="mbr-form" action="mailscript.php" method="post">
                            <div class="row row-sm-offset">
                                <div class="col-md-4 multi-horizontal" data-for="name">
                                    <div class="form-group">
                                        <label class="form-control-label mbr-fonts-style display-7" for="name-form1-x">Nome</label>
                                        <input type="text" class="form-control" name="name" data-form-field="Name" required="" placeholder="Nome" id="name-form1-x">
                                    </div>
                                </div>
                                <div class="col-md-4 multi-horizontal" data-for="email">
                                    <div class="form-group">
                                        <label class="form-control-label mbr-fonts-style display-7" for="email-form1-x">Email</label>
                                        <input type="email" class="form-control" name="email" data-form-field="Email" required="" placeholder="Email" id="email-form1-x">
                                    </div>
                                </div>
                                <div class="col-md-4 multi-horizontal" data-for="phone">
                                    <div class="form-group">
                                        <label class="form-control-label mbr-fonts-style display-7" for="phone-form1-x">Celular</label>
                                        <input type="tel" class="form-control" name="phone" data-form-field="Phone" placeholder="Telefone" id="phone-form1-x">
                                    </div>
                                </div>
                            </div>
                            <div class="form-group" data-for="message">
                                <label class="form-control-label mbr-fonts-style display-7" for="message-form1-x">Mensage</label>
                                <textarea type="text" class="form-control" name="message" rows="7" data-form-field="Message" placeholder="Mensagem" id="message-form1-x"></textarea>
                            </div>

                            <span class="input-group-btn"><button href="" type="submit" class="btn btn-primary btn-form display-4">ENVIAR</button></span>
                        </form>

script :

 

<script>

    window.addEventListener("load", function() {

      if (window.location.search != "") {

       var W = window.location.search.split("=");

       if (W[1] == 'OK') {

        document.getElementById("status").innerText = 'A mensagem foi enviada com sucesso.';

        document.getElementById("status").classList.add("erfolgreich");

       }

       if (W[1] == 'KO') {

        document.getElementById("status").innerText = 'Infelizmente, ocorreu um erro ao enviar a mensagem!';

        document.getElementById("status").classList.add("fehler");

       }

     }

    });

  </script>

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Gustavo2503
      Quando eu abro o email no Gmail, vai em formato de HTML, mas no Outlook fica todo zuado, o código está assim:
      $email_enviar = "Nome <email@exemplo.com>"; $email_para = "Nome <email@exemplo.com>"; $cabecalho = 'MIME-Version: 1.0' . "\r\n"; $cabecalho.= 'Content-type: text/html; charset=UTF-8;' . "\r\n"; $cabecalho.= "Return-Path: $email_enviar \r\n"; $cabecalho.= "From: $email_enviar \r\n"; $cabecalho.= "Reply-To: $email_enviar \r\n"; $assunto = "Assunto"; $menssagem = " <!doctype html> <html lang='pt-br'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Título</title> <style type='text/css'> </head> <body> <div align='center'> <h1>Título</h1> </div> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean eget commodo tortor, eget tincidunt urna. Aliquam odio elit, tristique ac nisl vel, fermentum porta elit. Suspendisse urna magna, maximus et ipsum quis, rutrum tristique sem. Curabitur faucibus nulla malesuada dolor venenatis pharetra. Curabitur ac massa placerat, viverra nibh id, volutpat nibh. Vestibulum leo purus, placerat vel lorem eu, rhoncus lacinia erat. Morbi venenatis fermentum pretium.</p> </body> </html> "; if (mail($email_para, $assunto, $mensagem, $cabecalho)){ echo 'Sucesso'; } else { echo 'Erro'; }  
    • By fabiobmoraes
      Srs. Ajuda pf.
      Já quebrei a cabeça mas não resolvi...
      Script
      ******************
      <?php
      $SenderAddress = "test@test.com";
      define('OCU_RELEASE', '1.1');
      define('OCU_ERR', !empty($_GET['err']));
      if (OCU_ERR) {
          error_reporting(E_ALL);
          ini_set('display_errors', 'On');
      }
      else {
          error_reporting(0);
      }
      if (basename(__FILE__) == '1cu.php') {
          die('For your safety: you should really change the name of this file');
      }
      if (!empty($_GET['test'])) {
          die("OK: ".OCU_RELEASE);
      }
      if (empty($_GET['l']) && empty($_GET['e'])) {
          die("OK");
      }
      $l = isset($_GET['l']) ? $_GET['l'] : '';
      $e = isset($_GET['e']) ? $_GET['e'] : '';
      $m = isset($_GET['m']) ? $_GET['m'] : '';
      $l = OCU_Unencode($l);
      $e = OCU_Unencode($e);
      $to      = $l;
      $subject = "Unsubscribe";
      $message = "Unsubscribe $e";
      $from     = $e;
      if ($SenderAddress != 'test'.'@'.'test'.'.com') {
          $from = $SenderAddress;
      }
      switch ($mode) {
          case "1":
              $headers = "X-UserMail: $e";
              break;
          case "2":
              $headers = "From: $from";
              break;
          default:
              $headers = "From: $from" . "\r\n" . "X-UserMail: $e";
      }
      if (mail($to, $subject, $message, $headers)) {
          Header("Location: removal.htm");
      } else {
          die("There was an error processing your request; please manually send an email to $l with Unsubscribe as its subject");
      }
      exit;
      function OCU_Unencode($data) {
          return base64_decode(strtr($data, '-_', '+/'));
      }
      ?>
      ***************************
      Não envia de maneira nenhuma.
      Alguém pode me ajudar?
    • By Gabriel_Duarte
      Olá, Estou procurando livros e Informações mais confiáveis e simples de como funciona o Sistema de Email do php. desde como colocar a função mail() no php, ate como configurar dentro do php.in para qualquer email possível (ja pesquisei para o gmail, porem quero para qualquer tipo de email ate emails de servidores exemplo: contato@contato.com).
       
      Fiz uma pesquisa mas achei muita coisa vaga, com variância, então peça ajuda pra quem entende bem sobre esse assunto, ou que sabe aonde posso achar essas informações.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.