Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Em um formulário simples feito com PHP, ao preencher as informações nos campos, posso recarregar a página (ou F5) e os dados permanecem em cada campo normal, OK? Até aí tudo bem.
Bom, então acrescento na primeira linha de código deste formulário uma "session_start()", então ao recarregar a página (ou F5) todos os dados de cada campo são apagados.
O que pode estar acontecendo ????
<? session_start(); ?>
<form id="form1" name="form1" method="post" action="envia_contato.php">
<label>Nome</label>
<input name="nome" id="nome" type="text" value="" />
</form>
O caso acima reflete o problema, se eu carregar a página com a SESSION_START(), digitar algo no campo e dar F5, a página recarrega e o que estava escrito no campo desaparece.
Então comento a linha //SESSION_START(), carrego novalmente a página, digito algo no campo, dou F5 e o que escrevi permance lá normalmente, como deve ser o padrão de qualquer formulário.
Vale lembrar que simplifiquei o código, pois a página completa tem muita coisa. O código descrito já apresenta o problema de maneira bem simplificada.
Mas você nao esta gravando os dados do campo, e outra ele so mostra com o F5 nos navegadores moz e etc... No Internet Explorer se você der um F5 nao da pra ver o conteudo.
<?php
session_start();
if($_POST['nome']) {
$_SESSION['nome'] = $_POST['nome'];
}
?>
<form id="form1" name="form1" method="post" action="envia_contato.php">
<label>Nome</label>
<input name="nome" id="nome" type="text" value="<?php if(isset($_SESSION['nome'])) { echo $_SESSION['nome']; } ?>" />
</form>Você já aprendeu a usar a SESSION? Pesquise sobre o array $_SESSION.
Esse código aí, com certeza toda vez que você recarregar a página, o campo vai ficar vazio, você mesmo está pedindo para ele ficar vazio:
<input name="nome" id="nome" type="text" <!-- value="" --> />
Coloque o código