Ir para conteúdo

POWERED BY:

Arquivado

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

rsm_rlb

Refresh após envio de formulário

Recommended Posts

Boa tarde senhores, eu sou novo aqui e este é meu primeiro post, apesar de sempre ter conseguido sanar minhas dúvidas através de posts antigos. Mas então, eu entendo de HTML+CSS. Só que resolvi estudar PHP para melhorar minhas habilidades. Com isso consegui fazer uma página de formulário (com um pouco de ajuda claro) de envio de contato que está funcionando. O email está sendo enviado pra minha caixa tudo perfeitamente. O único problema: Depois da mensagem de confirmação dizendo que o email foi enviado, os dados digitados no formulário continuam lá. Alguém pode me dizer como faço pra dar um "refresh" nessa página após a confirmação do envio para que o formulário volte a ficar em branco? Abaixo vou deixar um exemplo da tela de confirmação e os códigos HTML/PHP (acho que o CSS não precisa né? Se precisar me avisem que eu trago). 

 

5hvNO41.png

 

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sem título</title>
	<link type="text/css" rel="stylesheet" href="css/contato.css" />
</head>

<body>

<!--Para centralizar é só colocar a tag <div align="center"> -->
<form method="post" action="envia_email.php">
       <input type="text" name="nome" placeholder="Nome" maxlength="50"/>
       <input type="text" name="telefone"  placeholder="Telefone" maxlenght="15"/>
       <input type="text" name="email" placeholder="E-mail" maxlength="50" />
       <textarea class="textarea" name="mensagem" placeholder="Mensagem"></textarea>

   <div class="btn">
       <input type="reset" value="Reset">
       <input type="submit" value="Enviar">
   </div>
 
</form> 
</body>
</html>

<?php

$nome     = $_POST["nome"];
$telefone = $_POST["telefone"];
$email    = $_POST["email"];
$msg      = $_POST["mensagem"];

require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->isSMTP();                                      
$mail->Host = 'smtp.gmail.com';  
$mail->SMTPAuth = true;                               
$mail->Username = 'xxx@xxx.com';                 
$mail->Password = 'xxx';                          
$mail->SMTPSecure = 'tls';                            
$mail->Port = 587;                                  

$mail->setFrom('xxx@xxx.com', 'Rxxx Mxxx');         
$mail->addAddress('xxx@xxx.com');     

$mail->isHTML(true);                                  

$subject = "Pedido de Orçamento";
$sub = "Orçamento";

$corpo = "
          <h1>".utf8_decode($sub) ."</h1> <br/> 
		  Cliente: " .utf8_decode($nome) ."<br/> 
		  Telefone: $telefone <br/> 
		  Email: $email <br/> 
		  Mensagem: " .utf8_decode($msg) 
          
         ;


$mail->Subject = utf8_decode($subject); 
$mail->Body    = $corpo;

if(!$mail->send()) {
    echo "<script type=\"text/javascript\"> alert (\"Ocorreu um erro. Tente novamente!	\");history.go(-1); </script>\n";
} else {
    echo "<script type=\"text/javascript\"> alert (\"Sua mensagem foi enviada com sucesso.\");history.go(-1); </script>\n";
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá rsm_rlb tudo bem ?

 

Segue o código abaixo já com essa função incluída :

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sem título</title>
	<link type="text/css" rel="stylesheet" href="css/contato.css" />
  
<script type="text/javascript" language="javascript">
function ClearForm(){
    document.Form_login.reset();
}
</script>
  
</head>

<body onload="ClearForm()">

<!--Para centralizar é só colocar a tag <div align="center"> -->
<form method="post" id="Form_login" name="Form_login" action="envia_email.php">
       <input type="text" name="nome" placeholder="Nome" maxlength="50"/>
       <input type="text" name="telefone"  placeholder="Telefone" maxlenght="15"/>
       <input type="text" name="email" placeholder="E-mail" maxlength="50" />
       <textarea class="textarea" name="mensagem" placeholder="Mensagem"></textarea>

   <div class="btn">
       <input type="reset" value="Reset">
       <input type="submit" value="Enviar">
   </div>
 
</form> 
</body>
</html>

 

O que foi feito :

Dar um ID à form eu dei o nome de -> "Form_login"  

 

Criar uma função javaScript eu dei o nome de-> ClearForm

O que esta função faz é fazer o reset ou limpar todos os objetos que estão dentro da form  

 

E depois basta chamar esta função no onload do body ...

 

Ou seja sempre que a página web é carregada é feito um reset à form

 

Espero que tenha ajudado 

 

 

Abraço 

Vítor Mendes

 

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Vitor Mendes disse:

Olá rsm_rlb tudo bem ?

 

Segue o código abaixo já com essa função incluída :

 

O que foi feito :

Dar um ID à form eu dei o nome de -> "Form_login"  

 

Criar uma função javaScript eu dei o nome de-> ClearForm

O que esta função faz é fazer o reset ou limpar todos os objetos que estão dentro da form  

 

E depois basta chamar esta função no onload do body ...

 

Ou seja sempre que a página web é carregada é feito um reset à form

 

Espero que tenha ajudado 

 

 

Abraço 

Vítor Mendes

 

Amigão, 

Deu muito certo isso. Mas não sei o que houve, que depois que eu testei ele parou de enviar. Mesmo tirando tá dando erro, to achando que pode ser algum problema do servidor. Uso o EASYPHP. Sabe o que pode ser?

 

vZjPoJ5.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, funcionou aqui. Pelo que entendi o Avast que tava dando conflito com o EasyPHP e enquanto o avast estava em execução, o servidor não conseguia disparar o email. 

 

Em relação ao código, também funcionou muito bem. Muito obrigado mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá.
      Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema.
      Criei um sistema para fazer o upload de imagens e alguns campos text.
      Algo bem simples para depois começar a estudar javascript para mostrar a miniatura....
      Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos.
      Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa.
      Gostaria de saber se há como usar javascript para evitar isso?
      Agradeço desde já.

      <!DOCTYPE html>
      <html>
      <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1">
          <title>Uploader</title>
      </head>
      <body>
          <form action="?" method="post" enctype="multipart/form-data">
              <br><br>
              <div>selecione a imagem 1</div>
              <input type="file" name="foto1" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem1">
              
              <br><br>
              <input type="file" name="foto2" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem2">
              
              <br><br>

              <input type="file" name="foto3" accept="image/*">
              <br><br>
              <input type="text" name="nome_imagem3">
              
              <br><br>
              <input type="submit" value="Enviar">
              <br><br>
          </form>
      <?php
      if ($_SERVER['REQUEST_METHOD'] == 'POST')
      {
          vardump ($_FILES);
      }
      ?>
      </body>
      </html>
       
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
×

Informação importante

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