Foros del Web » Programando para Internet » PHP »

Enviar datos usando cabeceras HTTP

Estas en el tema de Enviar datos usando cabeceras HTTP en el foro de PHP en Foros del Web. Hola a todos, Tengo el siguiente flujo en mi web: * Una pagina A que contiene un formulario envía los datos por POST a la ...
  #1 (permalink)  
Antiguo 27/07/2005, 14:38
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Enviar datos usando cabeceras HTTP

Hola a todos,

Tengo el siguiente flujo en mi web:

* Una pagina A que contiene un formulario envía los datos por POST a la página B.

* La página B los revisa y redirige a la página C.

Lo que necesito es que los datos que se colocaron en el formulario de la página A lleguen a C mediante el método POST.

Hay una forma de hacerlo usando lo siguiente en la página B:

Código PHP:
header("HTTP/1.0 307 Temporary redirect");
header('Location: pagina_c'); 
El problema está que cuando se ejecuta ese header() el browser hace la siguiente pregunta:

Esta página esta siendo redirigida a una nueva dirección. ¿Le gustaría volver a enviar los datos del formulario que ha complementado a la nueva dirección?

¿Hay alguna forma de hacer el mismo procedimiento sin que se haga dicha pregunta al usuario?

Gracias a todos!
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #2 (permalink)  
Antiguo 27/07/2005, 17:08
Avatar de chr_c  
Fecha de Ingreso: junio-2003
Mensajes: 204
Antigüedad: 14 años, 6 meses
Puntos: 0
y porque no las envias por get, es muy necesario que sea por post?????
  #3 (permalink)  
Antiguo 27/07/2005, 20:56
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
El detalle está en que en mi web las secciones no se llaman directamente usando index.php?muestra=algo, sino que está TODO disfrazado con el mod_rewrite de Apache.

Entonces, no tiene sentido hacer algo asi: header('Location: Registro/var1/var2'), se ve muy feo, precisamente por eso quiero pasarlas ocultas via POST. Las sesiones son otra forma de pasar las 2 vars, pero me he empeñado con header() y quiero saber si es posible hacerlo.
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #4 (permalink)  
Antiguo 27/07/2005, 23:22
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 5 meses
Puntos: 2
Solo como comentario, no es ilogico que llegue a c.php? por lo que sé no se puede, yo recomendaria sesiones, pero el echo es, porque pasar a la tercera pagina si lo podes hacer todo en la segunda, o me equivico? ahora si no es sesiones, cookies? y si no es cookie, por GET? pero por POST seria java-script en la segunda pero tampoco es recomendable para la salud. Saludos.
  #5 (permalink)  
Antiguo 27/07/2005, 23:22
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 5 meses
Puntos: 2
Solo como comentario, no es ilogico que llegue a c.php? por lo que sé no se puede, yo recomendaria sesiones, pero el echo es, porque pasar a la tercera pagina si lo podes hacer todo en la segunda, o me equivico? ahora si no es sesiones, cookies? y si no es cookie, por GET? pero por POST seria java-script en la segunda pero tampoco es recomendable para la salud. Saludos.
  #6 (permalink)  
Antiguo 27/07/2005, 23:46
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Es totalmente lógico hacerlo llegar a C. ¿Por qué?... porque B se encarga de limpiar y hacer todas las comprobaciones necesarias de acceso, limpieza de variables, consultas a la BD, entre otras muchas cosas, si B aprueba todo, entonces da acceso a C.

¿Por qué necesito las variables en C?... porque en C debo hacer una consulta a la BD y necesito esas dos variables. SESIONES es un buen método, pero como ya dije, ando empeñado en el header(), ya encontré una forma de hacerlo y es como lo dije en mi primer mensaje, sin embargo... el usuario tiene que dar clic en ACEPTAR para poder que prosiga el flujo hasta C.
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
  #7 (permalink)  
Antiguo 28/07/2005, 00:31
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Las funciones de la extesión CURL te podrán servir para eso: www.php.net/curl
La clase snoopy igual te permite simular el method POST: http://sourceforge.net/forum/forum.php?forum_id=430852

Lamento no poder darte mayor información. Mucha suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 28/07/2005, 00:52
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 12 años, 5 meses
Puntos: 2
Primero perdon por el doble post, no era mi intención, ahora lo que no entiendo es que para que una tercera si puedes controlar el flujo de la segunda y hacer lo mismo pero en un solo script, también entiendo que estes empeñado en hacerlo con los hearder's pero no lo veo como la mejor opción, ahora no seria mas facil que si en B se valida todo el contenido en vez de dar paso a C pones un if($mi_variable == "VALIDADO"), trabajas en un script solo sin complicaciones y no te tienes que preocupar por ver como pasas los datos por POST y demas. Ahora lo unico que pregunto, estoy muy errado en mi idea?
  #9 (permalink)  
Antiguo 28/07/2005, 09:37
Avatar de Takitei  
Fecha de Ingreso: septiembre-2004
Ubicación: Venezuela
Mensajes: 1.231
Antigüedad: 13 años, 2 meses
Puntos: 5
Dario... Dario... no estas del todo errado, tu idea es totalmente válida, tiene sentido y se puede tranquilamente hacer tal como tu lo dices. El problema esta cuando B no solo comprueba las variables que vienen de A, sino que B comprueba las variables que vienen de A1, A2, A3, A4 y A5... entonces, podríamos decir que B es un limpiador de variables, donde todos los formularios de mi página apuntan, entonces B inteligentemente se encarga de dar resultados de error en caso de que alguna variable sea inválida, o en caso de que todo este bien redirige a C, D, E, F, G.

¿Te imaginas a B con su código MAS el codigo de C, D, E, F, G?, sería full grande y poco práctico.

Voy a leer lo que me dices jam1138 a ver cómo me va. Luego les doy mis comentarios.
__________________
Takitei
Ingeniarte.com
DannyHerran.com
"Dadme un punto de apoyo y moveré la tierra" - Arquímedes.
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 22:46.