Ir para conteúdo

POWERED BY:

Arquivado

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

manolegal

Manter dados digitados antes de subimit

Recommended Posts

Olá amigos. Já pesquisei muito, mas até agora não consegui resolver meu problema.

Em meu formulário, caso o Cliente a ser selecionado não esteja cadastrado, criei um "atalho" para cadastrá-lo, direcionando o usuário para este formulário de cadastro de cliente. Ao finalizar o cadastro do cliente, o usuário retorna para o formulário inicial.

Ao retornar para o formulário, gostaria de manter os dados digitados pelo usuário anteriormente.

Estou tentando utilizar sessões, porém encontro dificuldades caso não haja POST (submit) antes do usuário acessar o formulário de cadastro do usuário.

Abaixo partes do código:

<?php
session_start();
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title></title>


<?php
if ($_SERVER['REQUEST_METHOD'] == "POST"){
$_SESSION["meu_form"]["meu_campo"]  = $_POST["meu_campo"];
}

if((count($_POST) <= '0') OR (isset($msg_erro))){
?>

<table width="100%" border="0">
<form id="form" name="form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="return validaCampo(); return false;">

<tr>
    <td width="40%"><div align="right"><font color="#333333" face="Courier New, Courier, mono">Data Prevista Execução:</font><font color="#333333"></font></div></td>
    <td width="60%"><INPUT TYPE=TEXT id="meu_campo" NAME="meu_campo" SIZE=11 MAXLENGTH=10 value="<?php echo $_SESSION["meu_form"]["meu_campo"];?>" onkeypress="return handleEnter(this, event) && formatar_mascara(this, '##/##/####')" onKeyUp = "this.value=formateadata(this.value);" onfocus="mudacor(this,'yellow')" onblur="mudacor(this,'white')"><font color="#FF0000" size=2> (Somente números)</font></td>
</tr>

</form>
</table>

<?php

}

if (($erro==0) AND (!isset($msg_erro) AND (count($_POST) > '0'))){
   // Grava no BD
}


Após submit, retorna o valor do campo na sessão, mas o problema é antes do submit. Como faço para manter este valor digitado?

Gostaria de implementar em PHP, sem uso de ajax ou jquery.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo

Não Funcionou. Digitei um valor no campo, a seguir acessei o outro formulário onde realizei o cadastro do cliente, e ao retornar ao formulário inicial, o campo estava em branco.

O local em que estou definindo a sessão está correto (após "if ($_SERVER['REQUEST_METHOD'] == "POST"){")?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O print_r mostra o valor digitado no campo, mas somente após o submit do formulário. Preciso saber/guardar o valor digitado no campo antes do subimit, para que ao sair/retornar para o formulário, consiga manter o valor inicial do campo. Pelo que percebi, não há script alterando o valor da session.

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes do submit? só se usar Ajax, então

Mas é desnecessário. Este trecho já salva na session, logo após o submit:

 

 

if ($_SERVER['REQUEST_METHOD'] == "POST"){
$_SESSION["meu_form"]["meu_campo"]  = $_POST["meu_campo"];
}

 

Se a session está ficando vazia mesmo assim, há algo errado na execução ou na sequência de scripts. Dentro desse if, dê um print_r em $_POST. O valor deve estar vindo vazio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Beraldo.

Após o submit está retornando correto. O que eu queria mesmo era salvar o valor digitado antes do submit, pois caso o usuário for para outro formulário e voltar, gostaria que os dados ficassem salvos nos campos. Gostaria de fazer isso em php. Sem possibilidades?

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.