Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/07/2003, 00:03
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Pues si pasa algún error .. vuelve a tu formulario con un link directo (o redireccionamiento) .. pero ahí le tendrás que pasar "todas" las variables que recibistes y validastes con algún error en tu script PHP que procesó esas variables ..

Yo para eso uso sesiones:

procesa_formulario.php
Código PHP:
<?
// valido mis $_POST['variable'] .. (o el metodo que use ..)

// si hay error:
// Me guardo el array POST enterito en una sesión ...
$_SESSION['form_variables']=$_POST;
// y redirecciono a mi formulario ...
// si lo requiero .. le paso a formulario.php?error=blabla alguna variable .. o incluso ese error se lo paso como otra variable de sesión (es lo ideal esto último ..)
header("location: formulario.php");
exit;
?>
Y mi formulario ..

formulario.php
Código PHP:
<?
// incio uso sesiones ...
session_start();
// miro si está definida mi variable de sesión (que es un array)
// y contine mis variables del formulario ...

if (isset($_SESSION['form_variables'])){
// lo asigno a una variable "temporal" ...
$form=$_SESSION['form_variables'];
// me deshago de la variable de sesion .. por si recargo página que me quede límpio el formulario ..
session_unregister('form_variable');
// debería ser unset($_SESSION['form_varibale']); .. pruebalo ..
}
?>

<html>
<form ....>
<!-- Uso el campo value= .. para asignarle el valor de la variable (dentro del elemento del array que guardé) que le corresponde como estado inicial .. -->

<input type="text" name="nombre" value="<?php $form['nombre'?>">
<!-- etc ... -->

</form>
</html>
Eso sería más o menos el código principal .. por supuesto faltan detalles como aplicar stripslashes() si es necesario (para devolver a tu formulario caracteres límpios de caracteres: \ de más .. .. etc..) y de aplicar más isset() antes de mostrar el dato en el formulario ... También es un ejemplo muyy básico .. se complica un poco a la hora de predefinir estados iniciales de "select's" .. "radio" y "checkbox" elementos de formulario.

Esto mismo podrías hacerlo "paseando" tus variables por el URL (propagadas en el header(location ... formulario.php?varible=valor&otra=valor ... etc ..) .. o con Cookies ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 26/07/2003 a las 00:34