Foros del Web » Programando para Internet » PHP »

Problema al redireccionar con header

Estas en el tema de Problema al redireccionar con header en el foro de PHP en Foros del Web. Hola, Tengo el PHP algo apartado desde hace un par de años y ahora no me queda otra que retomarlo, me he puesto a modularizar ...
  #1 (permalink)  
Antiguo 29/08/2008, 07:54
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema al redireccionar con header

Hola,

Tengo el PHP algo apartado desde hace un par de años y ahora no me queda otra que retomarlo, me he puesto a modularizar un código antiguo y me encuentro con el siguiente error:
Warning:Cannot modify header information-headers already sent ...

Mi código es el siguiente:
<?php
session_start();
require ("libreria.php");
...
$usuario=$_REQUEST['usuario'];

if (isset($usuario))
{
...
//si se ha introducido usuario y contraseña y existen en la base de datos
//redirecciono
header("Location: http://localhost/primerpaso.php");
exit;
}
else
{ //mostraría pantalla para introducir user y password
$titulo = "Home";
$imagen = "'header.jpg'";
poner_encabezado($titulo, $imagen);
?>
<!-- relleno el body y me hago el form para el usuario y la contraseña-->
....
}

---------
En libreria.php tendría lo siguiente:
<? function poner_encabezado($titulo,$imagen)
{
$encabezado="<html>\n<img src=".$imagen."/>\n<head>\n\t<title>".$titulo.">/title>\n</head>\n";
echo $encabezado;
}
?>

Por favor, alguien puede ayudarme a corregir este error? Supuestamente no se puede escribir con echo antes de usar el header para redireccionar, pero es que no se me ocurre otra forma de hacerlo para modularizar mi código.
Gracias por anticipado y un saludo.
  #2 (permalink)  
Antiguo 29/08/2008, 08:41
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Respuesta: Problema al redireccionar con header

Prueba de este modo:
Código PHP:
<?php
session_start
();

...
$usuario=$_REQUEST['usuario'];

if (isset(
$usuario))
{
...
//si se ha introducido usuario y contraseña y existen en la base de datos
//redirecciono
header("Location: http://localhost/primerpaso.php");
exit;
}
else
//mostraría pantalla para introducir user y password
require ("libreria.php");
$titulo "Home";
$imagen "'header.jpg'";
poner_encabezado($titulo$imagen);
?>
<!-- relleno el body y me hago el form para el usuario y la contraseña-->
....
}
El problema es el echo de "libreria.php", y como solo lo usas si entras en el "else", pues listo.

Espero que te sirva.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 29/08/2008, 08:44
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Respuesta: Problema al redireccionar con header

no se pueden enviar un header si hay una previa salida por pantalla fijate de no tener nada antes del <?php
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 29/08/2008, 08:57
 
Fecha de Ingreso: agosto-2008
Mensajes: 2
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Problema al redireccionar con header

Muchas gracias por vuestra rápida respuesta! Cambié el require a la librería tal y como me indicasteis y ya funciona! Gracias!!
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:15.