Una cosa que nunca he terminado de entender es esta:
Código PHP:
<?
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
print '<pre>';
print_r($_POST);
print '</pre>';
exit();
}
?>
<form method='post' action='<?=$_SERVER['PHP_SELF']?>' name='form'>
<input type='text' name='nombre'>
<input type='submit'>
</form>
Puesto tal cual, sucede lo que se describió desde un principio. Sin embargo, si agregamos session_start() al principio, entonces los datos del formulario se borran al regresar a él. Esto he notado yo desde siempre aunque la verdad nunca me he puesto a ver qué es lo que ocurre.
Ahora, un poco al margen (o no) de esto, lograr que se borre el formulario no siempre es lo deseado. Digo, pocas cosas me fastidian tanto como llenar un formulario, darle OK, recibir un mensaje de tipo: "falta un dato", regresar, y
tener que escribir todo de vuelta.
// Saludos