Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/01/2007, 10:40
Avatar de Dabogam
Dabogam
 
Fecha de Ingreso: enero-2007
Ubicación: Mérida, Yucatán
Mensajes: 21
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Problemas con autentificación de usuarios

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;
	  	}  	
	}
?>