Ir para conteúdo

POWERED BY:

Arquivado

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

Mario CREATIVO

onClick=history.go(-1) / apaga dados após voltar a pagina

Recommended Posts

Olá pessoal, estou com esse problema, tenho um arquivo que faz a verificação em php, dos campo do formulario, caso algum campo esteja vazio, ele mostrar uma pagina com o botão voltar. o problema é que após clicar em voltar ele apagar os dados do fomulario. mas tem um porém, quando eu não inicio a sessão(sistema sem autenticação) o script funciona normalmente.

 

Arquivo no topo da index do sistema, quando eu tiro ele, e tem algum campo vazio após o envio, clicando em voltar o dados continuam perfeitamente.

<?php
// A sessão precisa ser iniciada em cada página diferente
if (!isset($_SESSION)) session_start();

// Verifica se não há a variável da sessão que identifica o usuário
if (!isset($_SESSION['UsuarioID']) OR !isset($_SESSION['UsuarioNivel'])) {
	// Destrói a sessão por segurança
	session_destroy();
	// Redireciona o visitante de volta pro login
	header("Location: login.php"); exit;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui, resolver esse problema, enviando(action do form) para a mesma pagina do fomulario e pegando o $_POST['nome_do_campo'] e colocando no input caso tenha algum erro no fomulario, caso der tudo ok, usei unset($nomes, $das, $variavel) para apagar o dados. mas agora mim veio outro problema, como faço para apagar a variavel global $_POST, unset($_POST) não dá certo. a minha intenção, é fazer com que apertando F5 ou atualizando o navegador, ele não envie novamente o formulario.

 

abração.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se for o que eu entendi.. você quer salvar os dados na mesma página que está o formulário..

 

porém, quando aperta F5 ele envia novamente o formulário..

 

Bom. se for isso, você pode criar uma flag, de enviado ou não enviado na página antes de enviar o formulário, dessa forma, quando enviar o formulário, você seta na sessão essa flag.

 

exemplo:

 

if($_POST):
     if($_SESSION['enviado'] == false):
          // envio o formulário.
          $_SESSION['enviado'] = true;
     else:
          // não faço nada, ou mostro uma mensagem ao usuário que ele já enviou, se não for mostrar nada, nem coloca o else.
     endif;
endif;

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste caso o mais fácil é, ao final da exibição do formulário, você faça o unset($_POST). Algo assim:

 

<form ....>
<input type="text" name....
</form>
<?php 
// veja que na linha de cima o form foi fechado
// então, a partir deste ponto não é mais necessário $_POST
unset($_POST);
?>

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode redirecionar para uma página de erro ou de sucesso quando o formulário for enviado com o header('location:pagina.php'), na página de erro você põe as críticas dos campos do formulário que forem enviadas de forma incorreta informando e na de sucesso uma mensagem informando que os dados foram enviados com sucesso...

 

Após ter feito isso coloca um botão assim: <a href="javascript:history.back(1)"> para voltar ao formulário...

 

Talvez isso resolva seu problema...

 

Grande abraço, até...

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.