Formulário de contato parte 4: Limpando campos após envio com sucesso!

Bom dia meus amigos da UpInside, estou entrando com uma Flash VA :) . Nesta vamos responder a duvida do amigo Jonatas Stacke. Pensei em responder no comentário, mas creio que a duvida dele pode ser valida para muitos então fizemos esta VA!

Bom o amigo Jonatas Stacke deixou um comentário com a seguinte questão: após o envio do formulário com sucesso, os campos continuam preenchidos, sendo assim meus usuários estão reenviando os emails varias vezes. Como limpar os campos após o envio com sucesso?

Basta assistir a vídeo aula para ter a resposta, espero que gostem, deixo um grande abraço e ate daqui a pouco!

Documentação:

Parte 1: Criando e estilizando!
parte 2: Programando e validando
Parte 3: Validando envio com erro
Parte 4: Limpando campos após envio
Parte 5: HTML mail, inserindo anexo e selecionando destino!

Bookmark e Compartilhe

Interatividade
  • Joao carlos Falou Em: 20 de março de 2010 as 12:51

    opaaaaa =]

  • Joao carlos Falou Em: 20 de março de 2010 as 12:51

    monta um formulario com upload de arquivos que tetermina o tamanho maximo do arquivo a ser enviado..

  • Rodrigo Falou Em: 20 de março de 2010 as 19:02

    Olá Robson,

    Fiz todo o procedimento mas surgiu os seguintes erros dentro dos inputs. O que será que aconteceu.
    OBS.: Não possuo um servidor de email instalado.

    INPUT NOME
    Notice: Undefined variable: nome in C:\Arquivos de programas\EasyPHP-5.3.1\www\site\nav\contato.php on line 267

    INPUT EMAIL
    Notice: Undefined variable: email in C:\Arquivos de programas\EasyPHP-5.3.1\www\site\nav\contato.php on line 272

    INPUT TELEFONE
    Notice: Undefined variable: telefone in C:\Arquivos de programas\EasyPHP-5.3.1\www\site\nav\contato.php on line 277

    INPUT ASSUNTO
    Notice: Undefined variable: assunto in C:\Arquivos de programas\EasyPHP-5.3.1\www\site\nav\contato.php on line 282

    INPUT MENSAGEM
    Notice: Undefined variable: mensagem in C:\Arquivos de programas\EasyPHP-5.3.1\www\site\nav\contato.php on line 288

  • Robson V. Leite Falou Em: 20 de março de 2010 as 20:01

    Olá Rodrigo, estas mensagems são avisos do EASYPHP. elas não aparecem quando o site está hospedado. para não visualizar elas em localhost tbm faça o seguinte!

    Com o botao direito no try do EasyPHP ao lado do relogio do PC vá em configurações => PHP
    Ao abrir o bloco de notas precione Crtl + F e cole nele – > error_reporting =
    substitua a linha por error_reporting = E_ALL & ~E_NOTICE

    Deve resolver! as hospedagens de PHP usam está configuração, então com o site on-line o erro não e mostrado!

  • Juliana Fabres da Silva Falou Em: 21 de março de 2010 as 1:10

    Cara você é FOOOOOOOOOODA *-*
    Parabéns meu, você resolveu os problemas do meu namorado e finalmente ele saiu da frente daquele formulario de contato.
    Cara você é um DEUS =*
    MUITO OBRIGADO ;)

  • Joao carlos Falou Em: 26 de março de 2010 as 1:38

    Huhauhauhauhauaha ajudo a mina hauhauhauhauhau tbm.kkkkkkkkkkkkkk

  • Eliabe Falou Em: 23 de abril de 2010 as 17:16

    olá robson, estou comessando nesta area de web, tentei aplicar esse codigo para poder limpar o formulário só que sempre esta me retornando o seguinte erro:

    Notice: Undefined index: nome in C:\Arquivos de programas\EasyPHP-5.3.2\www\SiteIpsep\faleconosco.php on line 242

    Notice: Undefined index: email in C:\Arquivos de programas\EasyPHP-5.3.2\www\SiteIpsep\faleconosco.php on line 247

    Notice: Undefined index: assunto in C:\Arquivos de programas\EasyPHP-5.3.2\www\SiteIpsep\faleconosco.php on line 252

    Notice: Undefined index: mensagem in C:\Arquivos de programas\EasyPHP-5.3.2\www\SiteIpsep\faleconosco.php on line 257

    sera que é pq esta em localhost.

  • Robson V. Leite Falou Em: 23 de abril de 2010 as 17:47

    Olá Eliabe. tudo bem? É sim. ao hospedar as empresas desligam o notice. você pode desligar tambem!

    Abra as configurações do seu php (EasyPHP -> try -> configurações -> PHP)
    No bloco de notas encontra a linha error_reporting ( use crtl+f. cole e de um find)
    deixe a mesma assim: error_reporting = E_ALL & ~E_NOTICE

  • Matheus Silva Falou Em: 19 de maio de 2010 as 17:47

    robson, boa noite, esta dando erro, para mim, mas nao consegui fazer parar tambem, do jeito que vc ensinou.

    segue erro: Undefined index: busca in E:\EasyPHP-5.3.2i\www\Video aula\Busca\index.php on line 29

    linha 29: $pesquisa = $_POST["busca"]; //esta certo o nome do text field(é outro script)

    e no php.ini esta , no desespero, mudei tudo.

    php.ini:
    ; error_reporting = E_ALL & ~E_NOTICE
    ; Default Value: E_ALL & ~E_NOTICE
    ; Development Value: E_ALL & ~E_NOTICE
    ; Production Value: E_ALL & ~E_NOTICE

    como tenho que mudar o php.ini robson?? me ajudeeee !!

  • Robson V. Leite Falou Em: 19 de maio de 2010 as 20:30

    Tem que deixar esta linha error_reporting = E_ALL & ~E_NOTICE.

  • Matheus Silva Falou Em: 19 de maio de 2010 as 21:45

    eu voltei a mudar e o erro continua a aparecer

  • Robson V. Leite Falou Em: 19 de maio de 2010 as 23:21

    Tenta coloca um valor em um If Matheus. ex

    if(isset($pesquisa)){
       $pesquisa = $pesquisa;
    }else{
      $pesquisa = '';
    }

    Ou me manda por email o arquivo pra min da uma olhadinha nele!

  • Matheus Silva Falou Em: 21 de maio de 2010 as 19:16

    http://pastebin.com/6tiTKxDa
    aqui esta tambem o codigo, se vc por acaso nao recebeu o email.

    php.ini :
    http://pastebin.com/w8mvb8pw

  • Robson V. Leite Falou Em: 21 de maio de 2010 as 21:00

    @Matheus Silva: Se não ta entrando na página informando o $_post['busca']. creio que a página tenha então conteudo sem ser pela pesquisa, com uma paginação? em fim, crie uma condição para se não existir os dados da busca!

    <?php if(isset($_POST['busca'])){
        $pesquisa = $_POST['busca'];
    	}else{
        $pesquisa = '';
    	}

    Tentia la :P

    PS: Se a pg é sómente de pesquisa e não tem paginação não precisa do ISSET!

    Ai você so troca as aspas do $_POST["busca"]; para

  • Matheus Silva Falou Em: 21 de maio de 2010 as 21:27

    tipo, essa pagina está para testes, mas eu estou dando echo dentro da tabela, onde eu vo fecha a { do if?

  • Matheus Silva Falou Em: 21 de maio de 2010 as 21:28

    se tu puder me passar o codigo de como feito, agradeço, pois ja tentei de tudo, e nao consegui

  • Robson V. Leite Falou Em: 22 de maio de 2010 as 4:19

    @Matheus Silva: Esse if só verifica se foi informado o valor. se não foi ele bota que o valor é nulo

  • rafa Falou Em: 22 de maio de 2010 as 9:35

    robson
    se minha linha estiver com um ; antes de tudu eu tiro eu deixo

    ;error_reporting = E_ALL & ~E_NOTICE

  • Matheus Silva Falou Em: 22 de maio de 2010 as 10:16

    mas assim, ta aberto ja um while e fechando embaixo da table, eu teria que fecha esse if embaixo tbm?

  • Robson V. Leite Falou Em: 22 de maio de 2010 as 11:50

    @rafa: Assim é exemplo, não execução tem que tira os ; pra ini ler. mas antes verifique se não existe a linha já, se não da cacacá!

  • Robson V. Leite Falou Em: 22 de maio de 2010 as 11:54

    Não. veja bem Matheus.

    //SE EXISTIR POST COM VALOR BUSCA. Alguem entrou pelo form
    <?php if(isset($_POST['busca'])){
    // ENTÂO O VALOR DA VARIAVEL PESQUISA SERÀ O POSTADO
    $pesquisa = $_POST['busca'];
    //SE NÃO EXISTIR
    }else{
    //ENTÃO O VALOR DA VARIAVEL PESQUISA SERA EM BRANCO
    $pesquisa = '';
    //FIM DA CONDIÇÃO
    }

  • Matheus Silva Falou Em: 22 de maio de 2010 as 14:01

    eu entendi o que vc quer dizer, porem, se eu abrir esse if, eu fecho ele junto com o while?embaixo da table?

  • Robson V. Leite Falou Em: 22 de maio de 2010 as 15:35

    @Matheus Silva: Aconselho a fazer antes do loop (while) pois você não recisa repetir essas variaveis. só precisa recupera-las!

  • André Chagas Falou Em: 12 de julho de 2010 as 14:26

    outra solução do problema do Notice em quando estiver testando em localhost é colocar essa linha error_reporting(E_ERROR | E_WARNING | E_PARSE); antes do primeiro if, ficaria assim

    error_reporting(E_ERROR | E_WARNING | E_PARSE);
    if(!$_POST['poll'] || !$_POST['pollid']){
    $query=mysql_query(“SELECT id, ques FROM questions ORDER BY id DESC LIMIT 1″);
    while($row=mysql_fetch_assoc($query)){
    //display question
    echo “”.$row['ques'].”";
    $poll_id=$row['id'];
    }

  • Luis Fernando Teixeira Falou Em: 28 de julho de 2010 as 17:39

    Muito boa explicacao!!

Deixe seu comentário!