Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/09/2010, 14:07
MXM450
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 13 años, 8 meses
Puntos: 0
Mensaje Cannot modify header information - headers already sent by

Hola a todos/as :)

he estado teniendo muchos problemas con esta warning, he leido ya sobre head() funciones ob y sesiones, aun asi no lo he podido solucionar...

Mi pagina inicial pasa por un script de login, y ya en ella tiene un menu para buscar un numero en la base de datos, solo que el menu se despliega completo en la pagina que tengo (que segun la idea que tengo esta bien....), y si el usuario no tiene el nivel para ejercer cierta accion (ej. alta) entonces debe de salir el acceso inadecuado.

En el caso contrario cuando el usuario si tiene el nivel, hasta ahora parece estar respondiendo bien (estoy tratando de construir paso a paso para no irme para atras con cosas de esas pequeñas que son dificiles de encontrar, y porque soy nuevo en php)

En realidad no se que tanta relacion tiene el head con la sesion.... y tampoco comprendo por que me sale esa warning, entre las cosas que he probado es los caracteres extraños, razon por la cual mi archivo solo tiene una linea jeje he modificado tanto mi archivo que ya no parece lo que me hubiera gustado pero en este momemento el diseño para a ultimo instancia...

mi warning completa es

Warning: Cannot modify header information - headers already sent by (output started at XXX\new2.php:17) in XXX\checa_usr2.php on line 1

el archivo checa_usr2.php es una sola linea, lo he abierto en modo binario y eliminado los caracteres extraños, el archivo new2.php es mi pagina principal sin nada de contenido agradable y su linea 17 es una llave que abre codigo php: <? y no tiene caracteres extraños entre esta y lo ultimo de codigo html (tambien lo abri en modo binario, no lo hice una sola line apero le elimine los caracteres)... en otras palabras no creo que mi problema sean los mentados caracteres extraños, como comente previamente el error wwarning me esta saliendo cuando doy click en un hypervinvulo para el cual el usuario no tiene acceso, porque cuando hago login con un usuario con acceso simplemente no entra en el if que cambia el header:

Código PHP:
header ("Location: $redir?error_login=5"
hay alguna manera para erradicar ese error en esa instancia?

el archivo del error (unilinea) tiene una funcion require pero no es ninguna de los involucrados en la linea de la warning, podria aun asi tener algo que ver con esto?

y en el archivo new2 que es mi supuesto menu (la pagina que "llega" despues del script de login), el link del menu lo hice con

Código HTML:
<a href="?content=usr"> Registro de PAX</a> 
y en el area donde deseo que se muestre dicho contenido al dar clic:

Código PHP:
<?php $content$_GET[content];
if (
$content=="usr"){
include (
'checa_usr2.php');
}
?>
la gracia es que al dar click en ese link si el usuario tiene el nivel, proceda con un formulario y si no, que no permita el acceso, el archivo checa_usr2 tiene en sus primeras lineas lo propio del script de login:

Código PHP:
<?php require("aut_verifica.inc.php");$nivel_acceso=2;if ($nivel_acceso <= $_SESSION['usuario_nivel']){ob_end_clean();ob_start();header ("Location: $redir?error_login=5");exit;}?>
y mi problema viene si de entrada hice login con algun user con nivel 3 (no autorizado), pero si lo hago con el user nivel 0 (si autorizado) no me manda esa warning...

cuando lo separo con lineas puedo ver que el error hace referencia a la del encabezado,,,,

he probado algunas funciones de ob sin resultado exitoso alguno, no podiendo nisiquiera determinar donde verdaderamente esta mi error.... ayuda, por favor.

cualquier info, comentario, etc es bienvenido.

el error log del xampp dice:

client denied by server configuration: C:/......

(no se si haya algo que mirar ahi (noob))


de antemano, gracias.

saludos.-