Ver Mensaje Individual
  #6 (permalink)  
Antiguo 14/10/2008, 06:32
samu22
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años, 11 meses
Puntos: 16
Respuesta: Echen un ojo a este autentificador.

mira te muesto como lo hago con la clase que hice capaz que les sirva:

Código PHP:

<?php

class usuario {
        public 
$id;
        public 
$login;
        public 
$tipo ;
        public 
$permiso;
        public 
$email;
        public 
$valor;
    
    
    public function 
setUser($Euser,$Epass){
        
$com self::checkUser($Euser,$Epass);
        
                
            if(
$com==TRUE){
                
$data self::GetUserInfo();
                
$this->id $data[0];
                
$this->login $data[1];
                
$this->tipo $data[3];
                
$this->permiso $data[4];
                
$this->email $data[5];
                
$valor DbConn::GetAllArr('permisos');
                
$this->valor $valor[$data[4]][2];
                
                
                
$_SESSION['id'] = $data[0];    
                
                
            }else{
                
$this->login false;
                echo 
'los datos no coinciden';
            }
            
    }
    
    
    
    
    private function 
checkUser($Euser,$Epass){
        global 
$DbConn;
            
$sql "Select * From usuarios WHERE login='$Euser'";
            
$res $DbConn->query($sql);
            
$data $DbConn->fetchArray($res);
            
            
            if(
$data['pass']==$Epass){
                
$this->login $Euser;
                return 
true;
                
            }else{
                return 
false;
            }
        
    }

    public function 
GetUserInfo($id=''){
        global 
$DbConn;
            if(
$id==''){
            
$usuario =  $this->login;
            
$sql "Select * From usuarios WHERE login='$usuario'";
            
$res $DbConn->query($sql);
            
$data $DbConn->fetchArray($res);
            
            }else{
            
$sql "Select * From usuarios WHERE idUsuario='$id'";
            
$res $DbConn->query($sql);
            
$data $DbConn->fetchArray($res);
            }
            
            
            
            return 
$data;
    }
compruebo los datos con una funcion de la clase si los datos son correctos guardo la id de session, fijate que tengo otra funcion que es GetUserInfo que con la ID puedo obtener el dato que necesito sin tener que guardar ninguna otra cosa entonces si quiero saber el nombre del usuario actual seria cuestion de hacer
Código PHP:
 $datos $usActual->GetUserInfo($_SESSION['id']);
 
$login $datos['login']; 
teniendo la clase cuando proceso el formulario pongo lo siguiente:
Código PHP:
if($_POST['check']=='ok'){
    
    
$usActual->setUser($_POST['usuario'],$_POST['pass']);
    
redirect($_SERVER['HTTP_REFERER']);


donde redirect es una funcion personalizada para no usar header location, ya que a veces necesito redireccionar a la misma pagina, te dejo tambien el codigo de la funcion por si te interesa

Código PHP:
function redirect($pagina){
        echo 
            
'<script type="text/javascript">
            window.location="'
.$pagina.'";
            </script>'
;
    } 
es simple pero efectivo

Última edición por samu22; 14/10/2008 a las 06:36 Razón: faltaba mas info