Foros del Web » Programando para Internet » PHP »

Duda Header()

Estas en el tema de Duda Header() en el foro de PHP en Foros del Web. Buenas, Me gustaria saber si a la funcion header() de PHP se le puede añadir algun parametro de tiempo para que me redireccione en unos ...
  #1 (permalink)  
Antiguo 17/09/2004, 16:02
 
Fecha de Ingreso: agosto-2004
Ubicación: In front of PC
Mensajes: 21
Antigüedad: 19 años, 7 meses
Puntos: 0
Exclamación Duda Header()

Buenas,

Me gustaria saber si a la funcion header() de PHP se le puede añadir algun parametro de tiempo para que me redireccione en unos segundos determinados.
Porque veran tengo esto:

Código PHP:
{
        echo 
"La contraseña introducida es INCORRECTA";
        
header("Location:inicia_sesion.html");

Y me gustaria que el echo tambien se me mostrase. No hago la redireccion con el método de las etiquetas META porque lleva mucho tiempo.

Salu2..
  #2 (permalink)  
Antiguo 17/09/2004, 16:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio tal como usas header() no es correcto, NO debes (te debería arrojar un error característico a no ser que hagas control del buffer de salida de PHP vía ob_start() y afines) enviar nada de salida antes a tu navegador antes de un header() ..

Cita:
No hago la redireccion con el método de las etiquetas META porque lleva mucho tiempo.
Debes considerar que .. a tu tiempo que indicas en esa cabecera META .. debes sumar el que tu págin completa llegue al cliente para que ejecute este (el cliente: tu navegador) esa instrucción .. Lo miso que si usas Javascript para una redirección programada.

En PHP puedes "detener" la ejecución de un script por un tiempo usando sleep() .. Pero eso detiene TODO .. No debes usarlo para esa taréa. Tienes que redireccionar a tiempo en tu lado del "cliente" vía META de refresh o javascript.

Lo ideal en ese tipo de procesos es que hagas tu redireccionamiento vía header() con el location .. pero que a la página que redireccionas (tal vez una exclusiva para mostrar mensajes o la de destino final) le pases una variable de control para identificar el mensaje que debes mostrar ... algo tipo:

Código PHP:
 header("Location: pagina.phpl?mensaje=1");
 exit; 
Y en pagina.php .. filtras ese mensaje (variable) tipo:

Código PHP:
if ($_GET['mensaje']==1){
   echo 
"El mensaje 1";

(mejor quedaría con un array u otras estructuras ...)

Y .. en ... esa pagina.php (donde muestras el mensaje) aplicas si quieres tu META o redireccionamiento javacript en general para irte desde ahí a la página que corresponda. (si te fijas .. si usas esta técnica y el mensaje lo muestras en la página que redireccionas donde corresponda te ahorras una ida y venida de una página con el consiguiente ahorro de ancho de banda ..)

Un saludo,
  #3 (permalink)  
Antiguo 18/09/2004, 05:51
 
Fecha de Ingreso: agosto-2004
Mensajes: 195
Antigüedad: 19 años, 7 meses
Puntos: 0
Yo también tengo problem....

hola,,, igual me da problemas la función header() .. la veo un poco incómoda comparada con el redirect() del asp....

uno tiene que escribir la URL completa sample, header("location: http://www.qbanos.com") ????.. cuando pongo un fichero dentro de la misma carpeta que la URL desde la que quiero redireccionar medio que se marea,,, no hay algo mejor por ahí para redireccionar.. ???..

miren el código...

if (isset($_SESSION["power"]) && ($_SESSION["power"] == "admin")) {
header("Location: http://localhost/index2.php");
}

quisiera que fuese...

if (isset($_SESSION["power"]) && ($_SESSION["power"] == "admin")) {
header("Location: index2.php");
}

pero da problems...
__________________
http://www.qbanitas.com - Las chicas más lindas de Cuba.

http://www.santaclarahostel.com - casas particulares en Santa Clara, la ciudad del Che.
  #4 (permalink)  
Antiguo 18/09/2004, 11:20
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 21 años, 4 meses
Puntos: 0
Hola qbanos.com, como te he respondido en otro mensaje, se puede hacer y se hace perfectamente.
Recuerda poner exit(); después de la instrucción header

header("Location: index2.php");
exit();
  #5 (permalink)  
Antiguo 18/09/2004, 12:35
 
Fecha de Ingreso: agosto-2004
Mensajes: 195
Antigüedad: 19 años, 7 meses
Puntos: 0
Vaya que no sabía lo importante que era el exit(); ,, mira que me gastó tiempo esa sentencia....
__________________
http://www.qbanitas.com - Las chicas más lindas de Cuba.

http://www.santaclarahostel.com - casas particulares en Santa Clara, la ciudad del Che.
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 14:08.