Ir para conteúdo

POWERED BY:

Arquivado

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

serpaulo

dados do formulario

Recommended Posts

Falae galera... Bom dia..

 

Entao, procurei aqui antes de postar mas nao achei nada pra me ajudar...

 

O meu problema é o seguinte... coloquei aquelas letras aleatorias pra impedir bots no meu formulario e ta funfando 100%, ate aqui tudo otimo, mas agora tenho outro problema, se a pessoa digita errado e submete retorna uma mensagem de erro e quando clica no link voltar que criei, o fomulario volta limpo.

 

como faria para que as informacoes que a pessoa digitou, viesse junto quando clicar em voltar pra nao precisar digitar tudo denovo, pois isso é bem sux http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

 

Se souberem de algum tuto ou se tiverem alguma explicacao...

 

valeu galera

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim, em vez de voltar pra mesma pagina, coloca pra voltar pra outra pagina, e em cada campo do form, coloca esse script:

 

<%=nome_do_campo%>

Vê c funfa beleza ai.

 

Flw e um feliz ano novo pra você!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Serpaulo, tudo beleza?

 

Andei pesquisando sobre sua dúvida e percebi que o arquivo que precisa ter maior segurança é aquele que irá inserir os valores do formulário no Banco de Dados, e não aquele que contém o formulário em si. Pensando nisso, implementei um pequeno código em JavaScript dentro de um IF (ASP) nesse arquivo intermediário (que é o alvo do ataque dos Bots), com a finalidade de retornar uma página anterior sem que os valores inseridos sejam apagados (caso o código de verificação esteja incorreto ou incompleto).

 

Os passos para você obter validação, e melhor segurança do seu código de validação, evitando que seu arquivo ASP intermediário seja atingido são os seguintes:

 

1 - Você, com certeza, irá trabalhar com a função Rnd(), no arquivo do formulário (que será em ASP ou HTML). Você deverá criar, nesse arquivo, um objeto Session que irá armazenar esse valor Randomizado. Conseqüentemente, esse Session ficará disponível em outras páginas do seu site, e não estará disponível para os Bots. Você irá recuperar o valor desse Session no arquivo ASP intermediário.

 

2 - Recupere o valor do Session no arquivo intermediário. Compare o valor desse Session com o valor do código de validação inserido anteriormente pelo usuário. O uso de JavaScript seria muito interessante nesse caso. Isso poderá ser feito da seguinte maneira:

 

If Session("Cod_Verificacao")<>Request.form("verificacao") Then%>			<script>			alert("O código de verificação não foi inserido corretamente.\nVocê irá retornar para a página anterior.")			history.back(-1)			</script><%		 Response.endEnd If

Dessa forma, se o código de verificação contido no objeto Session for diferente do código de verificação inserido pelo cliente, o código JavaScript será executado e o cliente irá retornar para a página anterior, sem que os dados sejam apagados.

 

Essa é uma saída possível e funcional, que utilizo nos meus sites e nunca me deu nenhum problema. Qualquer dúvida estamos aí.

 

Um abraço e boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu klonder mas essa parte de impedir os bot's eu ja tinha conseguido com aquele esquema de letras aleatorias...

 

O q quero mesmo é q se a pessoa digitar errado o numero, vai pra uma pagina com a mensagem de erro e quando clica em voltar no browser ou no link voltar da pagina o formu volta em branco entendeu? e digitar tudo denovo é bem chato http://forum.imasters.com.br/public/style_emoticons/default/natal_wink.gif

 

Entao queria uma forma que quando clicar no link voltar, os dados digitados venham junto, e nota, eles ainda nao estao no banco de dados...

 

Valeu gente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu utilizei o JavaScript justamente para os dados não serem apagados quando o usuário retornar para a página anterior: history.back(-1).Porém, o Rodrigo pc deu uma idéia genial que eu não havia pensado ainda! Talvez ele não tenha conseguido se expressar da maneira ideal, porque ele disse apenas para colocar "nome_do_campo" em cada uma das suas tags do formulário, não foi isso Rodrigo?No entanto, além do nome do form ser necessariamente o mesmo, você também deverá recuperar o valor dos forms da página inicial (que contém o formulário) e colocar um Request.Form("NomeDoForm") após VALUE, em suas tags na página para onde foi redirecionado. Desse jeito, os dados inseridos pelo usuário não irão se apagar (irão, mas serão reenviados para a outra página) e acho que até a imagem que contém o código de verificação irá ser atualizada!!!!Rodrigo, sua idéia foi fantástica!!! Parabéns cara!!! Ficam aí duas sugestões para a galera do fórum ou outras pessoas interessadas.Um abraço e boa sorte a todos!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falae gente... desculpa a ignorancia, mas nao estou entendendo direito...Os dados ainda nao foram gravados no banco, terei que mandar esses dados para outra pagina???Quando coloco o history.back(-1) no codigo JS ele grava na memoria esses dados e nao deixa se apagar quando clicar no back no browser ou entao no link voltar???Desculpa a ignorancia... mas estou aprendendo sozinho asp e ainda estou dando muitas cabecadas..valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não usa history.back não, pois se o browser que estiver executando estiver com o cache desabilitado dai fodeu, vai dar que a página expirou.

 

O que você pode fazer é o seguinte.

 

Suponhamos que na primeira página você tenha um campo texto chamdo txtNome.

Então na segunda página onde tem as letrinhas para o cara preencher coloca um campo hidden para guardar o conteúdo do nome.

 

por exemplo

 

<input type="hidden" name="txtNome" value="<%=Request.Form("txtNome")%>">

E na primeira página o value do seu campo nome também tem que ter um request.Form do campo txtNome, só que dessa vez o do hidden.

 

Dai quando você postar da primeira página para ela mesmo, ela vai manter os dados pois vai fazer um request dela mesma, quando você postar para a página das letrinhas os campos hiddens da página 2 vai ficar guardando o conteúdo, ao submeter para a primeira novamente, o campo da primeira página faz um request dos hiddens da página 2.

 

Caso a primeira página você queira fazer de manutenção também, você pode subtituir o "request.form("txtNome")" por alguma variavel tipo strNome, dai no ínicio da página você decide da onde ela irá pegar se é do banco ou do form.

 

O nome disso é manutenção de estado, caso queira dar uma pesquisada melhor no google.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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