Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/12/2008, 20:15
PANAFLAKIN
 
Fecha de Ingreso: septiembre-2004
Ubicación: Chihuahua Mex
Mensajes: 404
Antigüedad: 19 años, 7 meses
Puntos: 2
Ayuda con Error Warning: Cannot modify header information - headers already sent by

Hola empeze ah crear un sistema de login para una pagina que quiero hacer pero cuando me logeo me deberia de actualizar la pagina con la funcion header Location pero me aparece el siguiente error Warning: Cannot modify header information - headers already sent by y no se porque es que aparece este es el codigo que utilizo

index.php
Código PHP:
<?php 
require_once './db/conexion.php';
require_once 
'./funciones/admin.php';
if (!isset(
$_SESSION['Logeado'])){
?>

<form action="<?php $_SERVER['PHP_SELF'];?>" method="post">
<p>Login: Usuario
<input name="user" type="text" size="10" />
Password
<input type="password" name="pass" size="10" />
<input type="submit" name="adminlogin" value="Login" />
</p>
</form>

<?php
} else {
$datos mysql_query("SELECT * FROM administradores WHERE id =  '".$_SESSION['Logeado']."'") or die (mysql_error());
      while(
$row mysql_fetch_object($datos)){
      
$nombre $row->usuario;    
echo 
"Hola $nombre ";
echo 
'<a href="logout.php">Cerrar Ssion</a>';
}
}
if (isset(
$_POST['adminlogin'])){
login($user$pass);
}
 
//Si el Login Falla
if (isset($MensajeError)) { 
        echo 
"<p><span class=\"warning\">$MensajeError</span></p>\n";
        }
        
?>
conexion.php
Código PHP:
<?php
session_start
();
 
// Propiedades de la Base de Datos
$dbhost 'xxxx';
$dbuser 'xxxxx'
$dbpass 'xxxx';    
$dbname 'xxxx';
 
// Nos Conectamos a la Base de datos
$conn mysql_connect ($dbhost$dbuser$dbpass) or die ("No puedo conectarme a la base de datos porque: " mysql_error());
mysql_select_db ($dbname) or die ("No puedo seleccionar la base de datos '$dbname' porque: " mysql_error());
?>
admin.php
Código PHP:
<?php
function login($user$pass){
   
//sacar los datos del formulario 
   
$user trim($_POST['user']);
   
$pass trim($_POST['pass']);
   
//quitamos tags de las variables   
   
$user strip_tags($user);
   
$pass strip_tags($pass);
   
// Sacar variables seguras para evitar inyecciones SQL
   
$user mysql_real_escape_string($user);
   
$pass mysql_real_escape_string($pass);
   
//Encriptamos el Password con MD5
   
$pass md5($pass);
    
// Revisamos si la convinacion del usuario y el password convinan en la base de datos
   
$sql "SELECT usuario FROM administradores WHERE usuario = '$user' AND password = '$pass'";
   
$result mysql_query($sql) or die('Query Fallo. ' mysql_error());
    
//Revisamos si hubo una convinacion
    
if (mysql_num_rows($result) == 1) {
      
// el usuario y password coincidieron iniciar la sesion
 
      //Obtenemos el id del usuario por la base de datos
      
$obtenerid mysql_query("SELECT * FROM administradores WHERE usuario = '$user'");
      while(
$row mysql_fetch_object($obtenerid)){
 
      
//Asignar el Id a el Valor
      
$id $row->id;      
 
      
//Creamos la Sesion
      
$_SESSION['Logeado'] = $id;
       
// recargar la pagina
     
header('Location: '.$_SERVER['HTTP_REFERER']);
      exit; 
      }
      } else {
   
//Sacar el error de la funcion
    
global  $MensajeError;
    
// Definir el Mensaje
    
$MensajeError '<p>Lo Sentimos, El Usuario y Password no coinciden</p>';
   }
}
?>
Ojala puedan ayudarme