Foros del Web » Programando para Internet » PHP »

includes y Warning: Cannot modify header information - headers already sent...

Estas en el tema de includes y Warning: Cannot modify header information - headers already sent... en el foro de PHP en Foros del Web. Buenas gente, tengo una web donde index.php es la página "madre" y todas las páginas se incluyen dentro de esta. Osea, index.php tiene enmedio un ...
  #1 (permalink)  
Antiguo 18/08/2005, 12:17
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 13 años, 10 meses
Puntos: 1
includes y Warning: Cannot modify header information - headers already sent...

Buenas gente,
tengo una web donde index.php es la página "madre" y todas las páginas se incluyen dentro de esta. Osea, index.php tiene enmedio un
Código:
<?php include ($page);?>
y arriba del todo de la misma página escribo lo siguiente para que el include sea dinámico:

Código:
<?php 
session_start();
$page=$_GET ['loadPage'];   
if ($page=="") $page="step1.php";
?>
Hasta aquí bien, el problema llega cuando desde step1.php (la primera página en cargarse dentro) hago un redireccionamiento a step2.php:

Código:
header ("location: index.php?loadPage=step2.php");
Pues bien, en vez de ejecutarse el redireccionamiento, me aparece otra vez step1.php y además sale escrito:

Código:
Warning: Cannot modify header information - headers already sent by (output started at E:\Apache2\htdocs\Miweb\index.php:17) in E:\Apache2\htdocs\Miweb\step1.php on line 77
Cabe decir que en la linea 17 de index.php solo hay codigo html y que en la 77 de step1.php esta el redireccionamiento.

Qué narices debo hacer para que funcione?

Muchisimas gracias!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #2 (permalink)  
Antiguo 18/08/2005, 12:31
 
Fecha de Ingreso: mayo-2004
Ubicación: Managua, Nicaragua
Mensajes: 281
Antigüedad: 13 años, 7 meses
Puntos: 0
No podes hacer redireccionamiento con header conteniendo antes código html, pues al inicio de content-type, hace uso de html
__________________
Julio Hernández
  #3 (permalink)  
Antiguo 18/08/2005, 12:35
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 14 años, 1 mes
Puntos: 11
El error es por que no debe haber html y/o llamarse a echo, print o cualquier funcion que imprima texto antes de usar header(). Puedes estar haciendo eso en el include o en la pagina padre. En estos casos tambien es conveniente usar include_once() o require_once(), por si hay 2 scripts que realizan el mismo include(). Documentacion:

http://www.php.net/manual/es/function.include.php
http://www.php.net/manual/es/function.header.php
http://www.php.net/manual/es/function.include-once.php
http://www.php.net/manual/es/function.require-once.php
  #4 (permalink)  
Antiguo 18/08/2005, 13:18
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
en dado caso, si usas echo o cualquier impresion..
te serviran las funciones.
ob_start
ob_clean_end()
  #5 (permalink)  
Antiguo 19/08/2005, 06:01
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 13 años, 10 meses
Puntos: 1
Buenisimo vevni, poniendo ob_start(); antes de comenzar el html ha sido suficiente para q funcionase!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:38.