Foros del Web » Programando para Internet » PHP »

no funciona el history.back()

Estas en el tema de no funciona el history.back() en el foro de PHP en Foros del Web. Hola chicos, tengo un formulario de datos, una vez le doy al botón 'enviar' es procesado por una página en PHP, y si los datos ...
  #1 (permalink)  
Antiguo 02/12/2002, 08:25
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 15 años, 6 meses
Puntos: 0
no funciona el history.back()

Hola chicos, tengo un formulario de datos, una vez le doy al botón 'enviar' es procesado por una página en PHP, y si los datos no son correctos vuelvo con un history.back para que los datos aprovechables no se pierdan. Lo que ocurre es q después de hacer history.back el formulario está vacío y no me explico pq.

Estoy en páginas HTTPS, no se si eso puede tener algo que ver pq en otras páginas sí me funciona.

Mil gracias por adelantado.
  #2 (permalink)  
Antiguo 02/12/2002, 08:43
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Es probable que sudeda eso en conexiones SSL ... (https:// ...) (tampoco lo sé a ciencia cierta) ...

Podrias guardarte los datos que envias a ser procesados en una session de servidor .. si hay errores .. en la página que tienes el formularió recuperas los datos de la session ...

Se trataría de algo tipo:

procesa_formulario.php
Código PHP:
<?
session_start
(); // incio sessiones
$_SESSION['variables_formulario']=$_POST// volcamos el array POST o GET segun el metodo q uses
// en tus formularios a una variable de session.

// .... tu resto de script de validación.
// si hay errores .. redireccionas  a tu formulario
?>
y en tu formulario ..

formulario.php (ojo, ahora ha de ser una pagina PHP ...)

Código PHP:
<?
session_start
(); // incio sessiones
$variables_formulario=$_SESSION['variables_formulario']; asignamos el array de variables_formulario..
?>

<!--
y tu formulario HTML tipico .. usa los campos "value=" para predefinir el valor .. 
en este caso el que tenemos en la session que es el que
 enviamos anteriormente.
-->

<input type="text" name="nombre" value="<? echo $variables_formulario['nombre']; ?>">
A esto le faltarian detalles como cuidar el tema de stripslashes() .. y algunos detallitos mas .. pero básicamente es que puedes usar sesiones para estos menesteres.


Un saludo,

Última edición por Cluster; 02/12/2002 a las 08:45
  #3 (permalink)  
Antiguo 02/12/2002, 09:47
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 6 meses
Puntos: 7
Mas aun, eso DEBERIA suceder en conexiones HTTPS. Lo mejor es que generes un boton volver que haga un post a la pagina anterior.
  #4 (permalink)  
Antiguo 02/12/2002, 11:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
jejej Mikel .. Nunca habia metido mis scripts bajo SSL .. jeje ahora sé que igual funcionan en SSL (o deberian ).. por lo menos nuca he usado el history.back() ni nada de javascript para controlar esos aspectos de un formulario ..

Antes lo hacia a lo bruto xD .. todo por el URL lo reenviaba en un array .. ahora guardo todo en una session como mencionaba en el ejemplo anterior ...

Un saludo,
  #5 (permalink)  
Antiguo 03/12/2002, 04:50
 
Fecha de Ingreso: mayo-2002
Mensajes: 88
Antigüedad: 15 años, 6 meses
Puntos: 0
Muchas gracias chicos, lo haré con sesiones a ver qué tal...

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.