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 violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer ao auxílio dos amigos, mas preciso entender e resolver um problema.
       
      Tenho uma Rotina que o usuário seleciona os produtos que deseja para requerer ao setor responsável.
       
      O usuário escolhe um produto qualquer e Clicla em um button para incluir a lista.

      O problema que estou enfrentando é que após escolher o produto e teclar ENTER o Sistema já salva no BD.
       
      Gostaria de criar uma Tecla de Atalho, para quando incluir/escolher o produto na lista, o usuário tecla como exemplo:
      ALT+A  para agregar a lista
      ALT+S para salvar a lista de itens desejados.

      Assim, quando teclar enter, o sistema não dispara o GRAVAR na Base de Dados.

      Grato,

      Cesar
       
       
       
×

Informação importante

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