Ir para conteúdo

POWERED BY:

Arquivado

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

rodrigofariat

Voltando pagina com dados digitados pelo usuario

Recommended Posts

Pessoal,

 

Fiz um cadastro de imoveis.

Um dos campos é chamado : dono_do_imovel, se esse existir no banco de dados, retorna uma mensagem que esse nome ja esta sendo usado, e volto

ao formulario. Quando volto ao formulario todas as informações digitadas pelo usuário foram apagadas.

Gostaria de fazer com que quando voltasse a tela os dados preenchidos fossem mantidos.

Quando eu clico no botao voltar do Firefox os dados aparecem.

 

Tentei usar o comando: echo 'parent.history.back()';

 

Mas não resolveu.

 

Alguma idéia ?

 

Att,

 

Rodrigo Faria

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não resolverá isto com javascript, mas sim com a linguagem server-side que está usando.

 

Além de exibir a mensagem de alerta, você deverá exibir os campos que o cara te mandou via formulário novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, usa Ajax...fica mais rápido, dinâmico e resolve teu problema :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

//jogando o que o cara digitou em variaveis
$nome = $_GET['nome'];
$cpf = $_GET['cpf'];

//limpando
$nome = addslashes(strip_tags($nome));
$cpf = addslashes(strip_tags($cpf));

//testando se o cpf já está cadastrado
$cpf_ja_existe = busca_se_ja_existe($cpf); //aqui seria sua funçaõ pra ver se já existe no BD
if(!$cpf_ja_existe){
  //se o cpf não existe ainda, beleza. Faço o cadastro e prossigo (com um location ou exit)
}else{
  $mensagem_erro_cpf = 'blablabla';
}

//exibirá daqui pra baixo se o cpf JÁ existe.
//provavelmente você dará algum aviso e irá exibir o form novamente, certo?
?>
<form>
 <input name='nome' value='<?= $nome ?>' />
 <p><?= $mensagem_erro_cpf ?></p>
 <input name='cpf' value='<?= $cpf?>' />
</form>

Simples né?

É só pegar o campo que o cara enviou e jogar no value do form novamente.

 

Outra alternativa é usar ajax pra não precisar submeter o form, mas aí você tem que estar atento a 2 coisas:

1) Deixar acessível a navegadores que não aguentam ajax (como celulares por ex)

2) Segurança: se você não souber o que está fazendo, qualquer um que entenda um pouquinho de javascript irá conseguir passar desta etapa e ir pra próxima mesmo se dono_imovel já existir. Até mesmo desabilitando o javascript talvez seja possível prosseguir se você não souber fazer da maneira correta.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado vou testar !

 

Oi Micox,

 

Estou usando o Wordpress, tentei seguir seu exemplo, mas não obtive muito sucesso.

Depois de voltar a página do formulário, os campos continuaram vazios, sem guardar os campos digitado pelo usuário.

O exemplo abaixo é o arquivo que estou usando para processar os dados.

 

Estou usando a seguinte estrutura:

 

<?php
$codigoimovel = ($_POST['codigoimovel']);

$nomeimovel = ($_POST['nomeimovel']);
$nomepimovel = addslashes(strip_tags($nomeimovel));

$conexao = mysqli_connect ("localhost", "root", "root");

mysqli_select_db ($conexao, "imoveis");       
$consulta ="INSERT INTO cadastroimoveis VALUE ('$codigoimovel','$nomeimovel');";

if (mysqli_query($conexao,$consulta)) {

               echo '<script language="javascript">';

               echo 'alert("Imovel cadastrado com sucesso!");';

               echo 'window.location="http://localhost/~rodrigo/sistemaimovel/"';

	       echo '</script>';	

            }
          else

            {

              echo '<script language="javascript">';

              echo  'alert("Imovel ja existe");';

              echo 'window.location="http://192.168.1.101/~rodrigo/sistemaimovel/?page_id=47"';              
              echo '</script>';

            }
              echo "<form>";
              echo "<input name='nomeimovel' value='<?= $nomeimovel ?>' />";
              echo "</form>"; 
 }
?>

Mesmo usando o comando do JavaScript para voltar a pagina, tem como guardar as informações digitadas antes do POST pelo usuário ?

 

Att,

 

Rodrigo

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.