Mira, te acabo de hacer un script peke para que puedas ver como funciona el asunto:
son dos archivos, uno el que contiene el formulario:
Código PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
<body>
<form id="datos" name="datos" method="post" action="validador.php">
<p>
Nombre:
<input name="caja_nombre" type="text" id="caja_nombre" value="<?php if (isset($_SESSION['nombre'])){ echo $_SESSION['nombre']; } ?>"/>
</p>
<p>Apellido:
<input name="caja_apellido" type="text" id="caja_apellido" value="<?php if (isset($_SESSION['apellido'])){ echo $_SESSION['apellido']; } ?>"/>
</p>
<p>Tipo de ave:
<input name="caja_ave" type="text" id="caja_ave" value="<?php if (isset($_SESSION['ave'])){ echo $_SESSION['ave']; } ?>"/>
</p>
<p>
<input type="submit" name="Submit" value="Enviar" />
</p>
</form>
</body>
</html>
Date cuenta que es realmente como un formulario sencillo, el truco esta en:
1. Inicializar la variable en la linea 2
2. El value de las cajas, lo que hace es que "si existe la variable de sesion -> lleno la caja con lo que valga la variable de sesion"
el segundo archivo es el que recibe los datos enviados por el archivo anterior, los guarda en sesiones y valida, en este caso que en la caja Tipo de ave haya sido escrito 'pato' jojo:
Código PHP:
<?php
//iniciamos la sesion
session_start();
//guardamos los valores que fueron enviados por el formulario en variables de sesion
$_SESSION['nombre'] = $_POST['caja_nombre'];
$_SESSION['apellido'] = $_POST['caja_apellido'];
$_SESSION['ave'] = $_POST['caja_ave'];
//haces la validacion de los mismos...
if($_POST['caja_ave']=='pato')
{
echo "bienvenido patolin";
}
else
{
header ("Location: formulario.php");
}
?>
Si quieres copìa y pega, correlo en tu localhost (o servidor...) y veras como funciona.
Saludos.