Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/03/2005, 10:18
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
pero entonces no se me guardan los datos en la cache y no se me actualiza la pagina.
que significa eso (ejemplo .. que sucede fisicamente..)

-------

El problema es que no se debe trabajar con el "botón atras" .. ni para restaurar los datos que contenta el formulario .. ni para navegar por tu aplicación.

Debes tomar todas tus variables en el script de proceso y pasarselas al formulario para pre-establecer los valores de los datos que se enviaron .. Todo bajo una sesión o por el URL ..

El procedimiento sería tipo

formulario.??? --> script de proceso.php -> si hay error .. redireccionar al formulario.

El script de proceso (aunque lo tengas todo en uno) debe al terminar el proceso redireccionar. Si muestras ahí un mensaje de error/exito .. al intentar enviar denuevo el formulario por ir "hacia" atras .. ocasionará el problema que indicas ..

Código PHP:
<?
// proceso PHP
// tomas tus variables $_POST para propagarlas al formulario.php .. ya sea en una sesión o por el URL todas o en cookies .. Al redireccionar vas a perder tus variables por eso es necesario pasarselas.
header ("Location: formulario.php");
exit;
?>
Los mensajes de error/exito que tengas que mostrar .. hazlo en el formulario NUNCA en el mismo flujo del proceso .. en sí...

No sé si usas un mismo script para todo (el formulario y su proceso por ejemplo) o usas scripts por separado, la diferencia es sólo tener alguna variable de control que indentifique que está haciendo tu script (por ejemplo bajo la existencia de una de tus variables del formulario .. sabras si corresponde procesar o bien mostrar tu formulario).

Un saludo,

Última edición por Cluster; 24/03/2005 a las 10:20