Formulário de contato parte 4: Limpando campos após envio com sucesso!
-
DATA
20/03 2010
-
VISITAS
1.772
-
COMENTÁRIOS
25
-
TWITTER
-
ORKUT
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!




opaaaaa =]
monta um formulario com upload de arquivos que tetermina o tamanho maximo do arquivo a ser enviado..
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
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!
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
Huhauhauhauhauaha ajudo a mina hauhauhauhauhau tbm.kkkkkkkkkkkkkk
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.
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
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 !!
Tem que deixar esta linha error_reporting = E_ALL & ~E_NOTICE.
eu voltei a mudar e o erro continua a aparecer
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!
http://pastebin.com/6tiTKxDa
aqui esta tambem o codigo, se vc por acaso nao recebeu o email.
php.ini :
http://pastebin.com/w8mvb8pw
@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
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 ‘
tipo, essa pagina está para testes, mas eu estou dando echo dentro da tabela, onde eu vo fecha a { do if?
se tu puder me passar o codigo de como feito, agradeço, pois ja tentei de tudo, e nao consegui
@Matheus Silva: Esse if só verifica se foi informado o valor. se não foi ele bota que o valor é nulo
robson
se minha linha estiver com um ; antes de tudu eu tiro eu deixo
;error_reporting = E_ALL & ~E_NOTICE
mas assim, ta aberto ja um while e fechando embaixo da table, eu teria que fecha esse if embaixo tbm?
@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á!
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 }eu entendi o que vc quer dizer, porem, se eu abrir esse if, eu fecho ele junto com o while?embaixo da table?
@Matheus Silva: Aconselho a fazer antes do loop (while) pois você não recisa repetir essas variaveis. só precisa recupera-las!
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'];
}
Muito boa explicacao!!