Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2010, 12:19
pankas
 
Fecha de Ingreso: marzo-2009
Mensajes: 5
Antigüedad: 15 años, 2 meses
Puntos: 0
Problemas con header()

Tengo un script de autentificación que dependiendo de si los datos del usuario están o no correctos los envía a determinada página, usando la función header(). Pero me da el error:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\pruebas\ingreso.php:1) in C:\xampp\htdocs\pruebas\ingreso.php on line 38

Ya revisé en este foro y en otras páginas de Internet y recomiendan quitar cualquier línea de código, PHP o HTML, que genere salida. He revisado y no veo en mi script ningún tipo de salida.

Código PHP:
<?php    
    
{
        
$login $_POST['login'];
        
$pass $_POST['pass'];
    
        
//Conexión a MySQL y selección de la BD

        
$conexion mysql_connect('localhost''root''');

        
mysql_select_db('usuarios'$conexion);    

        
//Se escapan los carácteres problemáticos de los strings que se reciben por POST

        
$login mysql_real_escape_string($login);
        
$pass mysql_real_escape_string($pass);

        
/*Se consulta a la base de datos para verificar si existe el login o el email y si la contraseña es correcta*/

        
$query "SELECT * FROM usuarios WHERE (login='$login' OR email='$login') AND pass='$pass'";
        
$consulta mysql_query($query$conexion);

        if( 
$reg mysql_fetch_array($consulta) )
        {    
            
session_start();
            
$_SESSION["autentificado"] = TRUE;
            
$_SESSION["login"] = $reg['login'];
            
$_SESSION["nombre"] = $reg['nombre'];
            
header("Location: restringido.php");
            }
        else
        {
            
header("Location: home.php?errorUsuario=TRUE");
            }
        
?>
Incluso le agregué un condicional con la funcion headers_sent() atrapando el resultado en dos variables:

Código PHP:
<?php
if(headers_sent($archivo$linea))
{
echo 
"Archivo: $archivo <br />";
echo 
"Línea: $linea";
}
else
{
//acá incluí todo el código de arriba.
}
?>
El script modificado me genero este resultado:

Archivo: C:\xampp\htdocs\pruebas\ingreso.php
Línea: 1


Ya le he dado vueltas al asunto, borré cualquier salida, hasta la respuesta del manejo de errores "or die("problemas conectando con la BBDD")" que le había puesto a los llamados de funciones de MySQL pero no he podido solucionarlo. Espero que me puedan ayudar. Muchas gracias.