Tienes dos opciones:
1) javascript .. un link q apunte a history.back() .. o algo similar ...
2) via PHP:
Pasar las variables recibidas por tu metodo POST en un array y desglosar dicho array en el script formulario (si era un .html ahora tendrá q ser un .php ...) indicando el 'value=' de los <input> q usas para predefinir ese estado inicia que es el que puso en su orgien.
Usaré un par de funciones para serializar el array .. estan en:
http://www.forosdelweb.com/showthrea...072#post262072
Tu script.php de proceso (el q apuntas en tu action= de tu formulario ...) ...
Código PHP:
<?
// capturas las variables del array POST y lo asignamos a $variables .. siendo esta ahora un array.
// (si usas PHP inferior a 4.1.x usa $HTTP_POST_VARS)
$variables=$_POST;
// Procesas tus variables con tus funciones/métodos ...
// caso q provoque el error y tengas q volver al formulario ...
if (error){
// serializamos el array ..
$variables=array_envia($variables);
header ("Location: formulario.php?variables=$variables");
exit;
}
// Por si no lo conocias esto redirecciona de forma automática .. sin tener q usar un link tipo "volver al formulario" .. que igualmente lo podrias usar pero no seía necesario ...
?>
Ahora . .tu formulario deberá cambiar un pco con lo siguiente:
Código PHP:
<?
// Recogemos el array (nos entra por GET desde links o ese redirecionamiento ..
// dejamos el array definida vacia (para q no nos de error de acceso a indices no definidos ..)
// a su vez des-serializamos el array ...
if (is_array($_GET['variables'])){
$variables=array_recibe($_GET['variables']);
} else {
// si no es un array (partimos del primer instante del formulario sin errores ...)
$variables=Array();
}
?>
<form ......>
<input type="text" name="algo" value="<? echo $variables['algo']; ?>">
</form>
Como veras .. en value asignamos el valor del elemento correspondiente al array .. usando arrays asocitivos usamos el mismo nombre del campo q recibimos .. si lo usas así veras q es muy facil añadir o quitar elementos sin modificar nada el script.php de proceso de este formulario ..
A su vez .. puedes usar las variables así .. o continuar como las tengas ..
Un saludo,