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.