Foros del Web » Programando para Internet » PHP »

Problema con header e include

Estas en el tema de Problema con header e include en el foro de PHP en Foros del Web. Hola chicos, tengo un problema que me está volviendo loca, resulta que tengo un include en mi página index2 que lo que hace es actualizar ...
  #1 (permalink)  
Antiguo 13/03/2004, 03:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 0
Problema con header e include

Hola chicos, tengo un problema que me está volviendo loca, resulta que tengo un include en mi página index2 que lo que hace es actualizar en pantalla el número de productos añadidos a la compra del usuario y redireccionarlo con un header $_SERVER(HTTP_REFERER) a la misma página por la que estaba navegando pero mostrando en pantalla el número de productos... Total que me da el siguiente error:

Warning: Cannot add header information - headers already sent by (output started at C:\FoxServ\www\index2.php:10) in C:\FoxServ\www\compras\compra.php

He eliminado todos los espacios en blanco de compra.php y y de index2.php, además la línea 10 del index2.php es donde se especifican las etiquetas meta, si quito dichas etiquetas meta el error sigue dando en la misma línea independientemetne de lo que aparece en la misma.

¿Alguien tiene alguna idea al respecto?
  #2 (permalink)  
Antiguo 13/03/2004, 09:48
Avatar de CHILENOCES  
Fecha de Ingreso: octubre-2001
Ubicación: Mmm paseando por la vida
Mensajes: 491
Antigüedad: 23 años, 1 mes
Puntos: 0
Hola bueno eso significa que ya has llamado laVariable HEADER en tu página o está tratando de enviar la información y no puede chequee que en tu codigo no quede ningun espacio en la primera linea de codigo osea que sea asi:

<?php
codigo.............

y no

<?php

codigo................


Saludos y ojala te ayude.
__________________
ChilenoCesar Looking for something new...
  #3 (permalink)  
Antiguo 13/03/2004, 12:21
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Hola,
Cita:
además la línea 10 del index2.php es donde se especifican las etiquetas meta, si quito dichas etiquetas meta el error sigue dando en la misma línea independientemetne de lo que aparece en la misma.
Esos metas, ¿son HTML? Es qua antes del header() no debes enviar ninguna salida al navegador, ni HTML ni nada.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 13/03/2004, 13:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 0
Si, las etiquetas meta son html, pero sino ¿cómo lo hago?
  #5 (permalink)  
Antiguo 13/03/2004, 13:10
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 0
Os pongo los códigos a ver si podéis aclararme:

este es el php que incluye los productos en el carrito
<?require_once("class.carro.php");
$tabla=$_GET["tabla"];
$cantidad=$_GET["cantidad"];
$codigo=$_GET["codigo"];
$pedido = new CarroCompraBD;
$pedido->inc_producto($tabla,$codigo,1,$fecha);
Header("Location:"$_SERVER[HTTP_REFERER]);
?>

y al que llamo con un include desde el index2.php del tipo:

<?$case=$_GET['case'];
switch ($case) {
case a:
include("compras/compra.php");
break;
default;
include("compras/minicarrito.php");
}
?>

Por lo tanto claro que las etiqeutas meta son html, es la página principal de la web...

Sigo en las mismas, ya he quitado todos los espaciosy demás y no se me ocurre qué hacer...
  #6 (permalink)  
Antiguo 13/03/2004, 14:10
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 22 años, 5 meses
Puntos: 16
Pues antes del header() no puede hacer HTML. Asi que reordena tu codigo.

Tambien podrias usar las funciones de buffer (ob_start()) para acumular en un baffer la salida y poder poner el header(), pero recargarias el servidor.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 13/03/2004, 17:39
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 0
A ver si me entero ¿Cómo puedo reordenar mi codigo si hago un include dentro del index2.php? y sino ¿cómo puedo usar esas funciones que comentas y qué quiere decir que recargaría el servidor?? La verdad es que soy un poco novata y ando a veces perdida...

Gracias por orientarme
  #8 (permalink)  
Antiguo 14/03/2004, 05:15
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 21 años
Puntos: 0
Solucionado, tenías razón, lo que he hecho ha sido eliminar el include del index y ahcer una llamada a una página externa utilizando las funciones que me has sugerido, el código de la página externa quedaría de la siguiente manera:

<?include("sesion.php");

require_once("class.php");

ob_start();

... Aquí llamo las variables necesarias e instancio el objeto pedido

header("Location:".$_SERVER[HTTP_REFERER]);

ob_end_flush();

?>

Muchas gracias por tu ayuda
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 13:00.