Foros del Web » Programando para Internet » PHP »

Header () o Meta

Estas en el tema de Header () o Meta en el foro de PHP en Foros del Web. Hola a todos: Tengo un formulario en la pagina A en el que se solicitan datos y a traves de la pagina B, desde donde ...
  #1 (permalink)  
Antiguo 10/09/2003, 09:27
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
Header () o Meta

Hola a todos:

Tengo un formulario en la pagina A en el que se solicitan datos y a traves de la pagina B, desde donde se gestiona el envio de un mail, pretendo retornar a la pagina A.

Se que esto se puede hacer de dos formas:

Header("Location:pagina_A.php");

Header("Location: pagina_A.php");


o

$redirect="pagina_A.php";
echo "<META http-equiv=\"refresh\" content=\"0;url=$redirect\">";

Mi problema es que con la primera opcion no me redirige a la pagina_A y aunque no tengo HTML ni echo ni nada de eso, si creo el mensaje que creo con :

$mensaje = '
<shtml>
.....

</shtml>
';
motivo por el cual creo que no retorna, y me gustaria que me lo confirmaseis

con la segunda opcion si redirecciona pero durante un pequeño lapsus de tiempo la pantalla esta en blanco y esteticamente queda muy muy mal

¿alguna idea?

Gracias con antelacion
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.


Última edición por sgafo; 10/09/2003 a las 10:05
  #2 (permalink)  
Antiguo 10/09/2003, 09:32
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Como no se si lo has copiado literalmente, debe ir un espacion entre los : y la URL:
Código PHP:
header("Location: pagina_A,php");
exit; 
Por cierto, cuando dices que no te redirecciona, ¿es que te da un mensaje de error o simplemente que se queda la pagina en blanco? Si se te queda la pagina en blanco, ¿que te sale en "Ver codigo fuente" en el navegador?.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 10/09/2003, 10:03
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
el header esta correcto en el codigo, es que no lo copie directamente (corregido)

ningun mensaje de error, solo una pagina en blanco

como esta dentro de un iframe, si selecciono "ver codigo fuente" es el de la pagina completa

si selecciono "ver codigo fuente" directamente en el iframe, un fuente vacio, y como nombre de ese fuente la pagina B, no la A
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #4 (permalink)  
Antiguo 10/09/2003, 10:11
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Pues no se. ¿Tienes activos los mensajes de error? Es que no vaya a ser que este dando un error y no lo veamos. Mira que pasa si pones un echo "hola"; antes del header(). Si no da mensaje de error, pues es que tienes desactivados los errores.

¿Que servidor web usas? Porque me suena que el Location da problemas con el IIS. En el codigo de phpBB mandan una cabecera distinta para ese servidor.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 10/09/2003, 10:19
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
Voy a intentar hacer la prueba que me dices. De todos modos, para esta web estoy utilizando el header en otra pagina y funciona a la perfeccion

eso si, no tengo ningun shtml por ninguna parte
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #6 (permalink)  
Antiguo 10/09/2003, 10:22
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
.... pues escribe "Hola" en pantalla
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #7 (permalink)  
Antiguo 10/09/2003, 14:39
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿Solo "hola"? ¿No te sale ningun mensaje de error debajo, el tipico "Headers cannot send ..."? ¿Has verificado el codigo fuente del iframe en el navegador? Porque si no se ve ese mensje de error por ningun lado, es que tienes deshabilitados los mensajes de error. Mira en el php.ini o en phpinfo() los valores de las directivas display_errors y error_reporting.

Y ahora ya seria cuestion de activar esas directivas, aunque sea a nivel de script con ini_set() (www.php.net/ini_set) y error_reporting() (www.php.net/error_reporting). Asi verias donde mandas salida al navegador. Puede que si usas includes el error este en alguno de ellos, que por ejemplo tenga lineas vacias detras del ?>.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 11/09/2003, 01:54
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
buenos días Josemi...

por las pruebas que he estado haciendo, cuando tengo un error me lo muestra en pantalla

de todos modos voy a revisar lo que me comentas de activar las directivas a nivel de script, a ver que puede estar sucediendo

lo de lineas en blanco despues del ?> fue lo primero que comprobe porque me habia sucedido anteriormente

no quiero ser pesada, pero voy a sustituir lo que tengo en shtml por una simple linea (lo uso para enviar un mail como una pagina web) porque se me antoja ya desde un principio que puede ser el motivo de que no funcione

te cuento...

P.D: recuerda que se muy muy poquito de PHP, y a veces me pierdo en tecnicismos
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

  #9 (permalink)  
Antiguo 11/09/2003, 10:14
 
Fecha de Ingreso: octubre-2001
Mensajes: 1.288
Antigüedad: 16 años, 1 mes
Puntos: 0
Hola otra vez, Josemi

creo que ya he dado con el problema despues de no te imaginas cuantas pruebas. Lo explico con detalle por si le sirve a alguien mas en el futuro

el tema es que tenia el codigo con basurilla, y a la mitad un <?php que me estaba provocando errores. Eliminando esto y poniendo el mensaje directamente como una linea de texto (sin shtml) redireccionaba sin problemas

por ultimo, para resolver el tema de los shtml lo que hice fue depurar aun mas el codigo y eliminar todas las aperturas (<?) y cierres (?>) de php y voilá!!!! funciona

muchas gracias josemi por tu ayuda
__________________
"... era precisamente la fina hermosura del dolor humano... que al parecer sólo la música sabe expresar." - Cuentos imprescindibles, Anton Chéjov.

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 09:48.