Foros del Web » Programando para Internet » PHP »

Opcion header() fuera de sitio...

Estas en el tema de Opcion header() fuera de sitio... en el foro de PHP en Foros del Web. Saludos... He estado trabajando con el redireccionamiento que ofrece la funcion header y da los resultados propuestos: Cita: <?php header ("Refresh: 5; URL=index.php") ; Con ...
  #1 (permalink)  
Antiguo 26/10/2007, 06:08
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Opcion header() fuera de sitio...

Saludos...

He estado trabajando con el redireccionamiento que ofrece la funcion header y da los resultados propuestos:

Cita:
<?php
header("Refresh: 5; URL=index.php");
Con el anterior Script lo que hago es que la página después de algunos eventos se redireccione automáticamente en cinco segundos a index.php.

El problema es que al llegar a este punto todo se cambia de sitio.Me explico: Este script lo tengo en medio de código HTML y cuando se ejecuta me descentra los menus, los gráficos, absolutamente todo lo que se ve en el navegador. Por cinco segundos todo se muestra en desorden.

¿De qué manera podría arreglar este problema? He echado un vistazo a los bugs de php.net pero no encuentro nada y no hay una comunidad PHP para preguntarlo.

Gracias por vuestra ayuda.
__________________
Andrew :P
  #2 (permalink)  
Antiguo 26/10/2007, 08:33
Avatar de McBlink  
Fecha de Ingreso: noviembre-2006
Ubicación: $ARG->LaPampa()
Mensajes: 1.694
Antigüedad: 17 años, 5 meses
Puntos: 23
Re: Opcion header() fuera de sitio...

Buenos dias,
si es todo codigo HTML,
que mejor que hacer asi:

con html

Código:
<meta http-equiv="Refresh" content="3;URL=./pagina.php">
donde el 3 son los segundos, esos lo modificas a tu gusto..

si tienes mas codigo PHP, y quieres redireccionar despues de alguna accion,
lo puedes hacer asi:

Código PHP:
echo '<meta http-equiv="Refresh" content="3;URL=./pagina.php">' 
saludos!
MC
__________________
Recuerda usar el highlight para mostrar código
mauricioblint.com
  #3 (permalink)  
Antiguo 26/10/2007, 13:02
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 225
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Opcion header() fuera de sitio...

opino lo mismo tbn podrias usar la redireccion de javascript
  #4 (permalink)  
Antiguo 26/10/2007, 15:06
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Re: Opcion header() fuera de sitio...

Gracias por vuestra ayuda...

He cambiado la manera php que me habéis recomendado pero me sigue descentrando el contenido.

De hecho tengo la siguiente acción (resumida):

Cita:
<?php
} else {
$query = "INSERT INTO `usuarios` ( `usuario` , `contrasena` , `email` , `nombre`)
VALUES ('".$_POST['usuario']."','".$_POST['contrasena']."','".$_POST['email']."','".$_POST['nombre']."')";
$result = mysql_query($query)
or die (mysql_error());
$_SESSION['usuario_accedido'] = $_POST['usuario'];
$_SESSION['user_contrasena'] = $_POST['contrasena'];
?>
<p>
Gracias, <?php echo $_POST['nombre'] ; ?>.<br>
<?php
header("Refresh: 5; URL=indice.php");
echo "Su registro se ha completado "<br>";
echo "(Si no te rediriges automaticamente, " .
"<a href=\"indice.php\">clica aqui</a>)";
die();
}
} else {
?>
He probado quitando todo el segundo script que inicia en header y se ve perfectamente. No obstante necesito este segundo script para redirgir al usuario automáticamente a la pagina inicial logueado y darle la oportunidad de clicar sobre el mismo si el navegador no lo hace por él.

He probado otros medios como incluirlo entre etiquetas <p> <span>, etc... Pero no va y me sigue descentrando todo.

Agradezco nuevamente si podéis ayudarme al respecto.

Saludos.
__________________
Andrew :P
  #5 (permalink)  
Antiguo 26/10/2007, 15:40
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Re: Opcion header() fuera de sitio...

Y esto no te funciona ???
Código PHP:
<?php
    
}else{
        
$query "INSERT INTO `usuarios` ( `usuario` , `contrasena` , `email` , `nombre`)
        VALUES ('"
.$_POST['usuario']."','".$_POST['contrasena']."','".$_POST['email']."','".$_POST['nombre']."')";
        
$result mysql_query($query) or die (mysql_error());
        
$_SESSION['usuario_accedido'] = $_POST['usuario'];
        
$_SESSION['user_contrasena'] = $_POST['contrasena'];
        
?>
        <p>
        Gracias, <?php echo $_POST['nombre'] ; ?>.<br>
        <?php
        
//header("Refresh: 5; URL=indice.php");
        
echo '<meta http-equiv="refresh" content="5; url=indice.php">';
        echo 
"Su registro se ha completado <br>";
        echo 
'(Si no te rediriges automaticamente, <a href="indice.php">clica aqui</a>)';
        die();
    }
}else{
?>
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 27/10/2007, 15:47
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Re: Opcion header() fuera de sitio...

Marvi... Gracias por tu comentario y la ampliación del script.

Voy por pasos... El script funciona perfectamente, tanto en la manera que yo la tenía como la que he aprendido gracias a vosotros. Ambos van bien y cumplen su cometido.

El problema es que durante esos cinco segundos todo se ve desordenadamente (probado igualmente en diferentes navegadores). Quiero decir... El menu que tengo en la parte superior de la pagina, un recuadro que encierra el formulario de inscripción, el logo superior, etc., se visualizan hacia la derecha de la pantalla y como si estuvieran en una columna super pequeña. El menu sale con las letras revueltas, etc...
He probado la etiqueta <div> encerrando, incluso, el codigo. He probado centrando con <center>, con <p class...> y <span style>, etc., dando un estilo desde un CSS y todo sigue igual. En efecto todo el formulario se ve perfectamente y el script del php final en indice.php se ve perfectamente... El problema que tengo es que este bendito header me saca todo desordenado y no sé cómo o de qué manera arreglarlo.

Una vez más agradezco si e ayudáis a encontrar una solución.

Saludos y gracias!
__________________
Andrew :P
  #7 (permalink)  
Antiguo 27/10/2007, 16:34
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
Pregunta Re: Opcion header() fuera de sitio...

Hoal andrewp, cómo vas??

Son necesario esos cinco segundos?
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 28/10/2007, 10:03
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Re: Opcion header() fuera de sitio...

Pues Carxl... Honestamente no conozco otra manera para que el navegador se refresque y me envie a la pagina del indice con la información del usuario. En este aspecto he tenido en cuenta que si el usuario no esta logueado o no tiene su registro una vez ingrese al indice.php, se envie al registro. Una vez aquí el navegador recuerda su última parada y lo envía logueado donde estaba. Mismo si entra automáticamente a otra zona (por link) sin logueo...

Gracias por tu ayuda y si hay otra posibilidad agradecería que me la comentárais para ponerla en práctica.

Saludos.
__________________
Andrew :P
  #9 (permalink)  
Antiguo 29/10/2007, 06:48
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 9 meses
Puntos: 70
De acuerdo Re: Opcion header() fuera de sitio...

Y si le colocas 0(cero)?? No sirve?? Pienso que harìa lo mismo con 5 ò 0 segundos...

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #10 (permalink)  
Antiguo 29/10/2007, 07:20
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Re: Opcion header() fuera de sitio...

Gracias Carxl por tu respuesta. Bueno... he puesto 0 en vez de cinco pero como ya he comentado el problema es que el famoso header (indiferente del tiempo) hace que todo se desordene. Con el 0, 1, 2, etc... (tiempo de espera para ser redireccionado) la página se ve desordenada.

De cualquier manera esos cinco segundos hacen referencia a que si el navegador no soporta el redireccionamiento automático el usuario pueda cliquear en el vínculo que se ofrece para tal fin.
__________________
Andrew :P
  #11 (permalink)  
Antiguo 29/10/2007, 08:02
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 19 años
Puntos: 1
Re: Opcion header() fuera de sitio...

hola andrewp,

lo único que veo que puede estar desordenando el código es la etiqueta <p> que tienes en medio de ese código y no la has cerrado
  #12 (permalink)  
Antiguo 29/10/2007, 08:08
Avatar de andrewp  
Fecha de Ingreso: agosto-2003
Ubicación: Barcelona
Mensajes: 1.160
Antigüedad: 20 años, 8 meses
Puntos: 5
Re: Opcion header() fuera de sitio...

Deet, Fracias por tu aporte. Esa <p> la cierro más adelante. También la quité por ver si era el conflicto, añadí una etiqueta de formato especial, etc... Y así y todo el bendito "header" me desordena todo. Al final me tendré que resignar a que este 'header' deje todo por cinco segundos desordenado porque al parecer no hay solución!?... :(
__________________
Andrew :P
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 04:21.