Pos mira se me hace un poco complicado la manera en como manejas la autentificacion, yo hice un script que me funciona y va asi, cualquier duda me dices ;)
Código:
<?php
/**
* @author David Gamboa Gomez
* Clase encargada de realizar la autentificacion de un usuario en la base de datos
*
*/
include_once("BDMysql.class.php");
include_once("Consulta.class.php");
class Usuario{
/**
* Nombre del usuario
*
* @var String
*/
private $login;
/**
* Password del usuario
*
* @var String
*/
private $passw;
/**
* Objeto que maneja la conexion a la base de datos
*
* @var BDMysql
*/
private $db;
/**
* Objeto que realiza las consultas a la base de datos
*
* @var Consulta
*/
private $query;
function __construct(){
$this->db= new BDMysql();
$this->query= new Consulta();
}
/**
* Establece el valor de la variable $login
*
* @param String $login
*/
function setLogin($login){
$this->login=$login;
}
/**
* Establece el valor de la varisable $password
*
* @param String $password
*/
function setPassword($password){
$this->passw= $password;
}
/**
* Funcion encargada de realizar la autentificacion del usuario, si resulta correcta redirecciona el explorador a la pantalla
* inicial y establece las variables de sesion, de lo contrario devuelve un indicador de que la autentificacion fue incorrecta
* @return Int
*/
function autentificacion(){
$this->db->conectar("localhost","miusuario","mi password", "mibd");
$sqlb="SELECT * FROM accesos WHERE LOGIN='".$this->login."' AND PASSWORD='".$this->passw."'";
$aute=$this->query->consultar($sqlb, $this->db);
$filas=mysql_fetch_array($aute);
if ($this->query->numero_registros($aute)==1){
session_start();
@extract($filas);
$_SESSION["registrado"]="SI";
$_SESSION["usuario"]=$LOGIN;
$_SESSION["nivel"]=$NIVEL;
$_SESSION["nombre"]=$DESCRIPCION;
header("Location:principal.php");
exit();
return 1;
}else
return 0;
}
}
?>