Jump to content


Photo

Como Faço Para Voltar à Pagina Anterior Sem Apagar Os Campos Preenchid


  • Faça o login para participar
9 replies to this topic

#1 nannynha

nannynha

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 29/08/2007, 11:17

Galera,

Dúvida cruel:

Como faço para voltar à pagina anterior sem apagar os campos preenchidos?

:boxing:

#2 scarenci

scarenci

    Turista

  • Usuários
  • 45 posts
  • Sexo:Não informado

Posted 29/08/2007, 13:28

Olha não lembro se funciona mais testa aí:


echo "<br><a href='java script:history.back(-1)'>volta</a></center>";


qualquer coisa posta aí

#3 nannynha

nannynha

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 30/08/2007, 09:34

Na verdade, o que eu estou querendo é:

Quando preencho meu formulário e vamos supor que esqueça de preencher algum item, daí quando clico no botão ele me dá um alert e em vez de voltar ao formulário preenchido para que eu modifique apenas aquele item errado, ele apaga tudo.
Quero que depois do alert, o form continue preenchido...

#4 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 30/08/2007, 10:55

@nannynha

]Geralmente eu faço assim.

No action do formulario:

$arrValores = (count($_POST) > 0) ?  $_POST : null;
if (isset($arrValores)) {
   $form_com_erros = funcaoDeValidacaoQualquer($arrValores);
   if (count($form_com_erros) > 0) {
	  $_SESSSION['dados_formulario'] = $arrValores;
	  $_SESSION['erros'] = implode('<br />',$form_com_erros);
	  heeader("Location: formulario.php");
   }

}

Dae no formulario
if ((isset($_SESSION['erros']) && (isset($_SESSION['dados_formulario']))) {
		  $erros = $_SESSION['erros'];
		  $dados = $_SESSION['dados_formulario'];
		  unset($_SESSION['erros']);
		  unset($_SESSION['dados_formulario'];
}

Dae no seu form só ir dando um echo, ex:
<input type="text" name="nome_usuario" id="nome_usuario" value="<?php echo @$dados['nome_usuario']; ?>" />

Apesar de não ser muito ortodoxo fazer "<?php echo @$dados['nome_usuario']; ?>" é bem melhor do que colocar um if() ali no meio do value... Se alguem achar um jeito melhor de fazer a impressão me avise ^_ ^

Espero que tenha entendido.

[]'s

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#5 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 30/08/2007, 15:41

acho q no seu caso, o melhor a fazer não é um javazinho de validação de campos? :lol:

eu entendi o que vc quis dizer;
por exemplo, vc tem um formulário de email... e caso ele dê algum crepe na pagina seguinte, e precise voltar, quando volta, os dados preenchidos anteriormente somem, isso é um SACO!

então o legal é fazer um script de validação na hora de executar a action... quando pressiona o SUBMIT, se está tudo certo, ele prossegue, caso tenha algo errado, aparece uma mensagem de erro, sem que precise sair da página atual, entao mantendo os dados (y)

teoricamente é isso, acho que ja fiz... mas nao lembro o codigo :P mas se vc buscar por validação de formulário você acha fácil!

Edição feita por: maykel, 30/08/2007, 15:47.

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#6 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 30/08/2007, 17:04

acho q no seu caso, o melhor a fazer não é um javazinho de validação de campos? :lol:

eu entendi o que vc quis dizer;
por exemplo, vc tem um formulário de email... e caso ele dê algum crepe na pagina seguinte, e precise voltar, quando volta, os dados preenchidos anteriormente somem, isso é um SACO!

então o legal é fazer um script de validação na hora de executar a action... quando pressiona o SUBMIT, se está tudo certo, ele prossegue, caso tenha algo errado, aparece uma mensagem de erro, sem que precise sair da página atual, entao mantendo os dados (y)

teoricamente é isso, acho que ja fiz... mas nao lembro o codigo :P mas se vc buscar por validação de formulário você acha fácil!


Sempre é bom fazer mesmo as duas validações. Pois javascript é client-side, se quiser eu hackeio ele e ele erra nas validações saca?
Isso é o básico do básico de se fazer forms. <_<'
Submarino fazia validações só por javascript, um dia um individuo descobriu isso, comprou vários produtos e pagou poquinho só.

É muito POG, coisa de mal profissional fazer validações somente via js, usa-se js para deixar mais dinâmico para usuário, apenas isso.

Entendeu a importância de validação server-side tb? Pois no server você pode proteger mais o usuário de qualquer entrada inválida de dados.

mais atenção maykel ^_^'

[]'s

Edição feita por: savior, 30/08/2007, 17:05.

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#7 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 30/08/2007, 23:36

Aproveitando a sugestão do savior, estéticamente falando acho que ficaria mais dinâmico já inlcudar o formulário logo abaixo da mensagem de erro de preenchimento e melhor ainda, colocar a mensagem de erro logo acima ou abaixo do campo que apresentou a falha na validação.


Não estou falando de client-side ... é validação no server-side mesmo mas apresentando desta forma, já mostra direto para o usuário e não presia voltar para preencher novamente.

(y) Até mais

#8 nannynha

nannynha

    Novato no fórum

  • Usuários
  • 22 posts
  • Sexo:Não informado

Posted 31/08/2007, 08:54

Obrigada galera,

Gostei bastante das sugestôes, mais teria como me dar um exemplo de validação no server-side???
Eu sei que posso entrar e achar no google, mais tipo, queria uma explicação de como funciona...
Pode ser?

Bjs

#9 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 31/08/2007, 09:14

http://forum.wmonlin...o...st&p=868129 <_<'


Issoq eu fiz para você é validação server-side, ou seja, no php

Dá uma estudada, coisa simples.

Espero q lhe ajude.

(y)

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br


#10 Junior Simões

Junior Simões

    Turista

  • Usuários
  • 33 posts
  • Sexo:Não informado

Posted 31/08/2007, 09:46

eu uso este se o código não muito grande

[codebox]if($_POST['nome'] ==""){
echo"Digite o nome";
}else{
}[/codebox]




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq