Foros del Web » Programando para Internet » PHP »

Cannot modify header information - headers already sent by

Estas en el tema de Cannot modify header information - headers already sent by en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/09/2010, 14:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 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.-
  #2 (permalink)  
Antiguo 09/09/2010, 14:09
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Cannot modify header information - headers already sent by

Ese error es muy tipico, tratas de modificar un header() pero antes ya has enviado algo al cliente, no puede haber NADA de html antes, ningun echo, nada, tu pagina tiene que empezar por

<?php......



Porque si "imprimes" algo ya los headers se envian y no hay nada que hacer...
  #3 (permalink)  
Antiguo 09/09/2010, 14:10
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Cannot modify header information - headers already sent by

el error te indica que estas enviando salida antes de usar un header("location"); cuando se habla de salida pude ser un echo o codigo html que este antes de este verifica tu codigo si tienes q mostrar alguna salida redirecciona con javascript saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 09/09/2010, 14:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

Gracias por sus prontos comentarios, las paginas involucradas comienzan con <?php las dos...
yo creo que se me esta jodiendo el asunto con las sesiones, la verdad no entiendo por qué con un usuario que si tiene el nivel y no aplica el If que cambia el header, no tengo problemas, es decir, se que no aplica esa linea pero si ahi esta el problema entonces porque si ese archivo es de una sola linea y comienza con <?php porque me sale esto?... y como he comentado, los he abierto en binary para comprobar que no haya caracteres invisibles/extraños antes del signo menor que.

el archivo new2 comienza con codigo php por el script de login (basicamente por eso todos comienzan asi) sin embargo sí tienen html entre su contenido, pordria este afectarle aun cuando el archivo en si ya comenzo con <?php ???

de antemano gracias, sigo tratando.......

saludos.
  #5 (permalink)  
Antiguo 09/09/2010, 14:31
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Cannot modify header information - headers already sent by

Pues pon todo el codigo desde el inicio hasta que te da el error, tiene que haber algo SEGURO.
  #6 (permalink)  
Antiguo 10/09/2010, 14:32
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

^ gracias, el archivo donde me marca el warning es

Código PHP:
<?php
require("aut_verifica.inc.php");
$nivel_acceso=4;
if (
$nivel_acceso <= $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
y esas son las primeras lineas... entiendo que como ya se envio un header, no se puede enviar otro, pero acaso no hay manera de eliminar lo que se envio o mejor aun, guardarlo, eliminarlo, cambiarlo, y despues, por si fuese necesario, regresarlo? pregunto habiendo leido sobre las funciones OB (start, flush, clean end, etc) porque ciertamente no las he podido ver en acccion, es decir, por mas de donde las pongo, pareciera no cambiarme en nada el resultado...

no se lo del menu que estoy usando si de alguna forma al hacer ese direccionamiento, esta enviando algo tambien...

cualquier obsservacion es bienvenida,

saludos.
  #7 (permalink)  
Antiguo 10/09/2010, 14:45
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 15 años, 3 meses
Puntos: 150
Respuesta: Cannot modify header information - headers already sent by

Obviamente en aut_verifica.inc.php estas imprimiendo algo, ¿es muy largo ese archivo para ponerlo aqui?
  #8 (permalink)  
Antiguo 10/09/2010, 18:57
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 22 años, 3 meses
Puntos: 8
Respuesta: Cannot modify header information - headers already sent by

Tambien puede ser que en aut_verifica.inc.php haya algo despues de ?>, como un espacio, o un enter. Por eso recomiendan ahora no usar ?>, sino dejar sin cerrar la ultima porcion de codigo php.

Saludos
  #9 (permalink)  
Antiguo 11/09/2010, 01:36
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

son 147 lineas no se si se puede pegar tanto, pero si comienza con <?php y asi termina

es el script de login creado por Cluster creo que este archivo no le he modificado pero para nada, al que llama las variables si, pero ese solo guarda los datos para la conexion sql......

Código PHP:
<?php
//  Autentificator
//  Gestión de Usuarios PHP+Mysql+sesiones
//  by Pedro Noves V. (Cluster)
//  [email protected]
//  v1.0  - 17/04/2002 Versión inicial.
//  v1.01 - 24/04/2002 Solucionado error sintactico en aut_verifica.inc.php.
//  v1.05 - 17/05/2002 Optimización código aut_verifia.inc.php
//  v1.06 - 03/06/2002 Corrección de errores de la versión 1.05 y error con navegadores Netscape
//  v2.00 - 18/08/2002 Optimización código + Seguridad.
//                     Ahora funciona con la directiva registre_globals= OFF. (PHP > 4.1.x)
//                     Optimización Tablas SQL. (rangos de tipos).
//  v2.01 - 16/10/2002 Solucionado "despistes" de la versión 2.00 de Autentificator
//                     en aut_verifica.inc.php y aut_gestion_usuarios.php que ocasinavan errores al trabajar
//                     con la directiva registre_globals= OFF.
//                     Solucionado error definición nombre de la sessión.
//
// Descripción:
// Gestión de Páginas restringidas a Usuarios, con nivel de acceso
// y gestión de errores en el Login
// + administración de usuarios (altas/bajas/modificaciones)
//
// Licencia GPL con estas extensiones:
// - Uselo con el fin que quiera (personal o lucrativo).
// - Si encuentra el código de utilidad y lo usas, mandeme un mail si lo desea.
// - Si mejora el código o encuentra errores, hagamelo saber el mail indicado.
//
// Instalación y uso del Gestor de usuarios en:
// documentacion.htm
//  ----------------------------------------------------------------------------


// Motor autentificación usuarios.

// Cargar datos conexion y otras variables.
require ("aut_config.inc.php");


// chequear página que lo llama para devolver errores a dicha página.

$url explode("?",$_SERVER['HTTP_REFERER']);
$pag_referida=$url[0];
$redir=$pag_referida;
// chequear si se llama directo al script.
if ($_SERVER['HTTP_REFERER'] == ""){
die (
"Error cod.:1 - Acceso incorrecto!");
exit;
}


// Chequeamos si se está autentificandose un usuario por medio del formulario
if (isset($_POST['user']) && isset($_POST['pass'])) {

// Conexión base de datos.
// si no se puede conectar a la BD salimos del scrip con error 0 y
// redireccionamos a la pagina de error.
$db_conexionmysql_connect("$sql_host""$sql_usuario""$sql_pass") or die(header ("Location:  $redir?error_login=0"));
mysql_select_db("$sql_db");

// realizamos la consulta a la BD para chequear datos del Usuario.
$usuario_consulta mysql_query("SELECT ID,usuario,pass,nivel_acceso FROM $sql_tabla WHERE usuario='".$_POST['user']."'") or die(header ("Location:  $redir?error_login=1"));

 
// miramos el total de resultado de la consulta (si es distinto de 0 es que existe el usuario)
 
if (mysql_num_rows($usuario_consulta) != 0) {

    
// eliminamos barras invertidas y dobles en sencillas
    
$login stripslashes($_POST['user']);
    
// encriptamos el password en formato md5 irreversible.
    
$password md5($_POST['pass']);

    
// almacenamos datos del Usuario en un array para empezar a chequear.
     
$usuario_datos mysql_fetch_array($usuario_consulta);
  
    
// liberamos la memoria usada por la consulta, ya que tenemos estos datos en el Array.
    
mysql_free_result($usuario_consulta);
    
// cerramos la Base de dtos.
    
mysql_close($db_conexion);
    
    
// chequeamos el nombre del usuario otra vez contrastandolo con la BD
    // esta vez sin barras invertidas, etc ...
    // si no es correcto, salimos del script con error 4 y redireccionamos a la
    // página de error.
    
if ($login != $usuario_datos['usuario']) {
           
Header ("Location: $redir?error_login=4");
        exit;}

    
// si el password no es correcto ..
    // salimos del script con error 3 y redireccinamos hacia la página de error
    
if ($password != $usuario_datos['pass']) {
        
Header ("Location: $redir?error_login=3");
        exit;}

    
// Paranoia: destruimos las variables login y password usadas
    
unset($login);
    unset (
$password);

    
// En este punto, el usuario ya esta validado.
    // Grabamos los datos del usuario en una sesion.
    
     // le damos un mobre a la sesion.
    
session_name($usuarios_sesion);
     
// incia sessiones
    
session_start();

    
// Paranoia: decimos al navegador que no "cachee" esta página.
    
session_cache_limiter('nocache,private');
    
    
// Asignamos variables de sesión con datos del Usuario para el uso en el
    // resto de páginas autentificadas.

    // definimos usuarios_id como IDentificador del usuario en nuestra BD de usuarios
    
$_SESSION['usuario_id']=$usuario_datos['ID'];
    
    
// definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_nivel']=$usuario_datos['nivel_acceso'];
    
    
//definimos usuario_nivel con el Nivel de acceso del usuario de nuestra BD de usuarios
    
$_SESSION['usuario_login']=$usuario_datos['usuario'];

    
//definimos usuario_password con el password del usuario de la sesión actual (formato md5 encriptado)
    
$_SESSION['usuario_password']=$usuario_datos['pass'];


    
// Hacemos una llamada a si mismo (scritp) para que queden disponibles
    // las variables de session en el array asociado $HTTP_...
    
$pag=$_SERVER['PHP_SELF'];
    
Header ("Location: $pag?");
    exit;
    
   } else {
      
// si no esta el nombre de usuario en la BD o el password ..
      // se devuelve a pagina q lo llamo con error
      
Header ("Location: $redir?error_login=2");
      exit;}
} else {
// -------- Chequear sesión existe -------
// usamos la sesion de nombre definido.
session_name($usuarios_sesion);// Iniciamos el uso de sesiones
session_start();// Chequeamos si estan creadas las variables de sesi identificaci usuario,// El caso mas comunes el de una vez "matado" la sesion se intenta volver hacia atras// con el navegador.
if (!isset($_SESSION['usuario_login']) && !isset($_SESSION['usuario_password'])){
// Borramos la sesion creada por el inicio de session anterior
session_destroy();
die (
"Error cod.: 2 - Acceso incorrecto!");
exit;
}
}
?>
cualquier observacion es bienvenida.

gracias por el tip fran86 desconocia ese dato por completo.

de anteano gracias.
  #10 (permalink)  
Antiguo 11/09/2010, 02:01
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Cannot modify header information - headers already sent by

Cita:
Iniciado por MXM450
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:
Parece que ahi tienes la clave del problema...

Si tienes en new2.php
Código PHP:
Ver original
  1. <?php // Linea 1
  2. // ...
  3. // Linea 15
  4. ?>
  5. <?php // Linea 17
  6. //...

Entre la linea 16 ?> y la linea 17 <?php tienes un salto de linea... eso es suficiente para que no se puedan enviar encabezados.

Podrias mostrar el codigo de new2.php?

Sugerencia extendida de lo que dijo fran86: Al finalizar el archivo, no uses ?> ya que no es necesario... en todo caso, si crees necesitar una "marca" para saber que ahi termina el archivo, puedes agregar una linea: // EOF;

Con eso evitaras que algun espacio o salto de linea "se cuele" al final del archivo, despues del ultimo ?>
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 13/09/2010, 09:32
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

^ gracias, si, ahora te pongo el codigo "entero" del archivo new2...

ya nisiquiera tiene un estilo agradable o con las columnas como yo queria (lo que supuestamente queria ahorrarme y que DW hiciera por mi) por tanto que le quite y modifique, pero debido a mis circunstancias (presion) voy a seguir trabajandolo asi, saludos y gracias por las respuestas a todos.

Código PHP:
<?php

require("aut_verifica.inc.php"); // incluir motor de autentificación.
$nivel_acceso=3// definir nivel de acceso para esta página. segun yo 2 sera el maximo nivel... (0,1,2)
if ($nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?>

<html>
<head>
<title>Probando</title>
</head>
<body>


<div class="container">
  <div class="header">
    <div align="center"><a href="#"><img src="logo.jpg" alt="Insert Logo Here" name="Insert_logo" width="324" height="63" id="Insert_logo" style="background: #C6D580; display:block;" /></a></div> 
    <!-- end .header --></div>
  <div class="sidebar1">
    <ul class="nav">
      <li><a href="?content=usr"> Registro de PAX</a></li>
      <li><a href="?content=hw"> Hello</a></li>
    </ul>
    <p> Area en construccion.</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <!-- end .sidebar1 --></div>
  <div class="content">
    <h1>Transportes.</h1>
    <p>Por favor, a continuacion, haga su seleccion para continuar...</p>
    <?php
//    ob_start(); No me sirvio de nada aqui
    
$content$_GET[content];
    if (
$content=="hw"){
        include (
'hw.php'); //prueba, hola munda
    
}
    if (
$content=="usr"){
    include (
'checa_usr2.php');
    }
    
//ob_flush();
    
?>
&nbsp;  <!-- end .content --></h1>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>
  <div class="footer">
    <p><img src="pie.jpg" width="932" height="128" alt="Powered by C" /></p>
  <!-- end .footer --></div>
<!-- end .container --></div>


</body>
</html>
  #12 (permalink)  
Antiguo 13/09/2010, 10:38
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Cannot modify header information - headers already sent by

En ese codigo que muestras, cual es el error que te da y en que linea?

Por cierto, ob_start() y funciones relacionadas no te solucionaran el problema de encabezados si ya enviaste etiquetas html al navegador, por lo que deberias replantear la logica de tu script.
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 13/09/2010, 11:42
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

^ gracias, bueno el script de login no es mio, y he tratado de no modificarlo por cuestiones de ignorancia, basicamente....

hoy he estado tratando de darle algo de forma pero de plano me salen mas errores de este tipo

saludos.
  #14 (permalink)  
Antiguo 14/09/2010, 12:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

he esta intentando de otras maneras y no logro quitarme el warning, pense que los archivos tendrian algo extraño al estos contener html, asi que comenze otra etapa y un archivo php (update.php) donde hasta ahora solo tiene codigo php, pero al igual, si le mando una instruccion header, me manda la misma warning en new2.php.... he tratado de modificar un poco ese archivo (new2) pero aun asi no veo donde esta mi problema....

cualquier obrservacion es bienvenida, gracias de antemano.

new2.php:

Código PHP:
<?php
require("aut_verifica.inc.php"); // incluir motor de autentificac
$nivel_acceso=3// definir nivel de acceso para estaina. segun yo 2 sera el maximo nivel... (0,1,2)
if ($nivel_acceso $_SESSION['usuario_nivel']){
header ("Location: $redir?error_login=5");
exit;
}
?><html><head><title>JOM!</title></head>
<body><div class="container">
  <div class="header">
    <div align="center"><a href="#"><img src="logo.jpg" alt="Insert Logo Here" name="Insert_logo" width="324" height="63" id="Insert_logo" style="background: #C6D580; display:block;" /></a></div> 
    <!-- end .header --></div>
  <div class="sidebar1">
    <ul class="nav">
      <li><a href="?content=usr"> Registro de PAX</a></li>
      <li><a href="#"> Registro de Viaje</a></li>
      <li><a href="#">Consultas </a></li>
      <li><a href="#">Impresion de Pase</a></li>
    </ul>
    <p> Area en construccion.</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <!-- end .sidebar1 --></div>
  <div class="content">
    <h1>Sistema de control para el servicio de Transportes Subrogado.</h1>
    <p>Por favor, a continuacion, haga su seleccion para continuar...</p><?php
    $content
$_GET[content];
    if (
$content=="usr"){
    include (
'checa_usr2.php');
    }
    if (
$content=="update"){
    include(
'update.php');
    }
    
?>
&nbsp;  <!-- end .content --></h1>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
  </div>
  <div class="footer">
    <p><img src="pie.jpg" width="932" height="128" alt="Powered by C" /></p>
  <!-- end .footer --></div>
<!-- end .container --></div></body></html>
y este es update.php:
Código PHP:
<?php
$nvoMat 
$_POST['nvoMat'];
$nvoApM $_POST['nvoApM'];
$nvoApP $_POST['nvoApP'];
$nvoUMF $_POST['nvoUMF'];
$original $_POST['original'];
if (
$nvoMat != $original){
header ("Location: $pag?accion=nuevo&error=2"); //gggrrrr
exit;
}
?>
la warning sigue siendo la misma,

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

la linea 30 de new2 es una llava <?php y la linea 8 del update.php es la de la instrccion header...
  #15 (permalink)  
Antiguo 14/09/2010, 13:24
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 1 mes
Puntos: 80
Respuesta: Cannot modify header information - headers already sent by

Los errores que te dan en la linea 1 por headers puede deberse al caracter BOM...
Bite Order Mark

Tienes que abrir el archivo con algún editor binario y podrás ver un carácter extraño al principio, si es así se lo quitas..
Netbeans creo que ya sirve para ver eso....

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #16 (permalink)  
Antiguo 14/09/2010, 14:54
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Cannot modify header information - headers already sent by

^ gracias, te comento que "segun yo" erradique ese posible problema con anterioridad, de hecho he estado usando notepad++ y siempre elijo "codifcar utf sin bom"

por cierto me marcaba ese error en linea 1 cuando "transforme" mi archivo a una sola linea (precisamente tratando de encontrar mi problema), asi tambien los abri en binary mode con edit y con vim.

Segun yo, los caracteres extraños no son mi problema en este caso.... segun yo. (la verdad ni estoy seguro, pero se que hice eso)

Bajare netbeans para ver que tal. (buenisimo el numero de version actual para descarga :P )

Agradezco la observacion, saludos!!
  #17 (permalink)  
Antiguo 14/09/2010, 16:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Cannot modify header information - headers already sent by

El causante del error es todo el codigo HTML enviado al navegador antes de:
Código PHP:
Ver original
  1. <?php
  2.     $content= $_GET[content];
  3.     if ($content=="usr"){
  4.     include ('checa_usr2.php');
  5.     }
  6.     if ($content=="update"){
  7.     include('update.php');
  8.     }
  9.     ?>

Repito, deberias replantear la logica de tu script:
1- session_start()
2- Recolectar info necesaria de la pagina
3- Recolectar info del usuario y, de ser necesario, rediriges
4- Verificar la info recibida en GET/POST y, de ser necesario, rediriges
5- Iniciar la salida HTML

Considera usar un sistema de plantillas o programar en MVC, de otra forma te va a ser muy dificil seguir con el proyecto.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: header, modify
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 09:10.