Foros del Web » Programando para Internet » PHP »

Problema con HEADERS!!!

Estas en el tema de Problema con HEADERS!!! en el foro de PHP en Foros del Web. Hola, como puedo hacer si necesito envíar 'headers' pero me dice que ya fueron envíados??? El codigo es: if (mysql_num_rows($rs)!=0){ //usuario y contraseña válidos //defino ...
  #1 (permalink)  
Antiguo 14/03/2006, 10:52
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Exclamación Problema con HEADERS!!!

Hola, como puedo hacer si necesito envíar 'headers' pero me dice que ya fueron envíados???

El codigo es:

if (mysql_num_rows($rs)!=0){
//usuario y contraseña válidos
//defino una sesion y guardo datos
session_start();
$_SESSION['autentificado']="SI";
$_SESSION['nombre']= $resultado['name'];
$_SESSION['nick']= $resultado['nick'];
header ("Location: auth/inicio.php?nick=$nick");
}else {
header("Location: auth/inicio.php?errorusuario=si"); //si no existe vuewlve a la portada con errorusuario ON
}


y el error es:

Warning: Cannot modify header information - headers already sent by (output started at C:\Documents and Settings\Marcelo\Escritorio\Mis Webs\elfaro\index.php:9) in C:\Documents and Settings\Marcelo\Escritorio\Mis Webs\elfaro\auth\control.php on line 24


Espero que me puedan ayudar, ya que es bastante URGENTE!!!

muchas gracias...
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #2 (permalink)  
Antiguo 14/03/2006, 11:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Debes indicar el código -completo- que usas .. por qué si tu extraes cierto código de su contexto ya no se vé justamente el error que te dice donde se originó esa "salida" que te está molestando.

Concretamente dice:
index.php:9

Eso significa que en la línea 9 de ese script index.php tienes algo de HTML, un espacio por médio .. un salto de línea .. un echo "algo" .. o salida en general que envias al cliente ante de tu header() ... (antes o despues de un <? o un ?>)

Cita:
Espero que me puedan ayudar, ya que es bastante URGENTE!!!
OK, .. pero para agilizar las respuestas que puedas tener ya sabes para otra vez que si tu no aportas todo el código en su contexto es complicado hacer verte el problema concreto donde está exactamente.

Un saludo,
  #3 (permalink)  
Antiguo 14/03/2006, 13:15
 
Fecha de Ingreso: noviembre-2003
Ubicación: México
Mensajes: 72
Antigüedad: 20 años, 5 meses
Puntos: 0
aparte recuerda que al manejar headers no debes enviar previamente ninguna salida a pantalla, es decir nada que se despliegue en pantalla ya sea en html o algun echo de php. espero te sirva de algo
  #4 (permalink)  
Antiguo 14/03/2006, 13:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 148
Antigüedad: 18 años, 2 meses
Puntos: 0
Trata de que el signo de apertura de php "<?" este en la primera línea y primero hacer un header antes de hacer alguna salida en html.
  #5 (permalink)  
Antiguo 14/03/2006, 19:18
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Si, yo entiendo eso, pero el problema que tengo es que yo saco todos los links por el index (ej: la sección "fotos" sale por index.php?pag=fotos) lo que hace que incluya la pag. fotos... y todo así...

entonces eso es 1 de todos los "includes", es imposible que no haya imprimido nada en pantalla antes, ya que se imprimió todo el "template" de la web...

se entiende???
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #6 (permalink)  
Antiguo 14/03/2006, 20:18
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
no, creo que eso está todo bien, pero el tema es ¿Cómo puedo hacer si tengo que enviar el header, pero por lo anteriormente explicado, me da error?
tiene solución?
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #7 (permalink)  
Antiguo 20/03/2006, 15:18
Avatar de rafaconpu  
Fecha de Ingreso: febrero-2006
Mensajes: 331
Antigüedad: 18 años, 2 meses
Puntos: 3
Hola.

Pon lo siguiente al inicio y final de tu codigo php

<? ob_start();

...... //aqui el codigo tuyo


ob_end_flush(); ?>

Con esto creo que no tendrás problemas.
  #8 (permalink)  
Antiguo 20/03/2006, 15:26
Avatar de icebeam  
Fecha de Ingreso: marzo-2006
Mensajes: 27
Antigüedad: 18 años, 1 mes
Puntos: 0
cuando inicié en esto de las sesiones me dijeron que el session_start y el session_register deberían ir siempre al inicio del script... me suena conocido tu problema, recomendaría que pusieras el session_start hasta arriba y no dentro de un if como lo haces.

Ah! y despues de un header deberías poner la sentencia exit;

Saludos
  #9 (permalink)  
Antiguo 20/03/2006, 15:43
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 18 años, 9 meses
Puntos: 28
Muchas gracias a todos, al final lo pude solucionar...!

gracias y salu2...
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
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 07:25.