Foros del Web » Programando para Internet » PHP »

Evitar el refresco de pagina + $_POST

Estas en el tema de Evitar el refresco de pagina + $_POST en el foro de PHP en Foros del Web. Hola a todos, para no reabrir un tema del 2006, he abierto este. Continúa del siguiente tema: http://www.forosdelweb.com/f18/evita...pagina-443463/ pero agregandole algo más. Estoy siguiendo la ...
  #1 (permalink)  
Antiguo 08/08/2008, 06:37
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Evitar el refresco de pagina + $_POST

Hola a todos, para no reabrir un tema del 2006, he abierto este.

Continúa del siguiente tema: http://www.forosdelweb.com/f18/evita...pagina-443463/ pero agregandole algo más.

Estoy siguiendo la estructura como puso Cluster:

Código PHP:
<? 
// proceso PHP ... 
if (proceso){ 
   
header ("Location: mensajes.php?msg=ok"); 
   exit; 
} else { 
    
header ("Location: mensajes.php?msg=falla"); 
   exit; 

?>
Pero lo que necesito es que las variables POST que se reciben aquí sean reenviadas a la siguiente página, no para grabar datos, sino para mostrar información.

Es decir algo así:

Código PHP:
<?
// proceso PHP: graba BBDD y envía mail...

 
if (proceso){ 
   
header ("Location: mensajes.php?msg=ok"); 
   exit; 
} else { 
    
header ("Location: mensajes.php?msg=falla"); 
    
Proceso_envía_por_POST_todas_las_variables(); // esto es lo que no se como hacer
   
exit; 

?>

Buscando he encontrado esto:
Como paso un array de un script.php a otro.php

Pero me envía las variables por la URL y quiero hacerlo por $_POST

Aguien me puede hechar una mano???

Gracias

Saludos
  #2 (permalink)  
Antiguo 08/08/2008, 06:54
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: Evitar el refresco de pagina + $_POST

intentalo pasando lo por la sesion:

$_SESSION["INDICE_CUALQUIERA"] = VALOR;
header ("Location: mensajes.php?msg=falla");

luego en la otra pagiona preguntas por:

$valor = $_SESSION["INDICE_CUALQUIERA"] ;
__________________
My path is lit by my own fire, I only go where I desire
  #3 (permalink)  
Antiguo 08/08/2008, 07:12
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: Evitar el refresco de pagina + $_POST

lo voy a probar, pero no se si funcionará, porque en la pág donde tengo todo esto, al final tengo un session_destroy() para anular la session y recién me envía a la pagina final...

Voy a probarlo de toda maneras... si nome funciona les aviso.

Gracias foreverOdd

Saludos
  #4 (permalink)  
Antiguo 08/08/2008, 07:18
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 16 años, 5 meses
Puntos: 14
Respuesta: Evitar el refresco de pagina + $_POST

si tienes el session_destroy() despues del Header, te deberia funcionar.
__________________
My path is lit by my own fire, I only go where I desire
  #5 (permalink)  
Antiguo 08/08/2008, 07:33
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: Evitar el refresco de pagina + $_POST

Nada, voy a abrir un nuevo tema porque me estoy haciendo un lio con las sesiones, y la seguridad, etc, etc.....

Cuando escriba el nuevo tema lo pondré aquí para sigan el hilo.

Saludos

Carlos
  #6 (permalink)  
Antiguo 08/08/2008, 09:00
Avatar de chiquirf  
Fecha de Ingreso: noviembre-2005
Ubicación: Madrid
Mensajes: 215
Antigüedad: 18 años, 5 meses
Puntos: 3
Respuesta: Evitar el refresco de pagina + $_POST

Ya está, al final me estaba haciendo un lío y estaba haciendo mal las cosas...

Mi web tiene esta secuencia: reservas.php -> reservas2.php -> reservas2_script.php -> reservas3.php

Y estaba cometiendo estos errores:
1.- el session_destroy() lo estaba poniendo al final de reservas2_script.php, ahora lo he puesto al final de reservas3.php.

2.- estaba poniendo mal el código para grabar y enviar las variables SESSION usando las de POST, el código correcto (por si alguien lo quiere usar) es:

Código PHP:
>?php

// esto va en el php que envía...

//guardo variables del POST anterior en SESSION
foreach($_POST as $nombre_campo => $valor){ 
   
$asignacion "\$" $nombre_campo "='" $valor "';"
   eval(
$asignacion);
   
$_SESSION[$nombre_campo] = $valor;} // aqui estaba mi error, estaba poniendo $_SESSION['$nombre_campo'], por eso no funcionaba

//...


// esto va en el php que recibe...

//guardo variables SESSION del anterior
foreach($_SESSION as $nombre_campo => $valor){ 
   
$asignacion "\$" $nombre_campo "='" $valor "';"
   eval(
$asignacion);
}


?> 
Al final me funcionó perfecto, si termino otra cosa que estoy haciendo les envío todo el código en un nuevo post donde se combina todo lo que he hecho, a ver si lo ponen en las FAQ's, jejeje, lo que pondría seria esto:

1. para que no puedan entrar a una web intermedia sin pasar por la primera.
2. tiempo de inactividad de rediriga a la web principal.
3. para que luego de grabar datos no pueda regresar a la pag anterior y volver a guardarlos.
4. no pueda actualizar la web (F5) luego de guardar los datos.

Saludos

Carlos
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 12:04.