Ver Mensaje Individual
  #8 (permalink)  
Antiguo 08/06/2010, 20:56
negro1985
 
Fecha de Ingreso: febrero-2009
Ubicación: mexico
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Ayud con login POO

Cita:
Iniciado por fernandozunni Ver Mensaje
Lo primero que haría es comprobar si la sesion esta vacia o no.
En alguna parte de la pagina hace un var_dump:

var_dump($_SESSION["alumno"]) o empleado segun corresponda.

Porque donde se carga el atributo usuario en la clase Login veo que utilizas un metodo "clean" que no lo veo por ningun lado.
Código PHP:
Ver original
  1. $this->usuario = $this->clean($usuario);
  2. $this->password = $this->clean($password); //el metodo clean no lo veo.
Asi es, el metodo clean no lo puse porque fue una modificacion que hice pero weno, ya mi clase login hace lo que yo queria que hiciera, ya funciona acorde a mis necesidades, gracias por la ayuda
Código:
<?php
class Conexion
{
    private $cn;
    private $rs;
    private $servidor;
    private $usuario;
    private $password;
    private $bd;

    public function __construct($servidor = "localhost", $usuario = "root", $password =
        "220785", $bd = "sce")
    {
        $this->servidor = $servidor;
        $this->usuario = $usuario;
        $this->password = $password;
        $this->bd = $bd;
        $this->cn = new mysqli($servidor, $usuario, $password, $bd);
    }
    public function dbExecute($query)
    {
        $this->rs = $this->cn->query($query);
        return $this->rs;
    }
    public function getInsertedId()
    {
        return $this->cn->insert_id;
    }
    public function afectados()
    {
        return $this->cn->affected_rows;
    }
    protected function clean($value)
    {
        if (get_magic_quotes_gpc()) {
            $value = stripslashes($value);
        }
        $value = mysql_real_escape_string(htmlspecialchars($value));
        return $value;
    }
    public function __destruct()
    {
        $this->cn;
    }
}
?>
Código:
<?php
class Login extends Conexion
{
    private $usuario;
    private $password;
    private $tipo_usuario;
    private $nivel;

    public function __construct()
    {
        parent::__construct();
        parent::__destruct();
    }
    public function comprueba($usuario, $password, $tipo_usuario)
    {
        $this->usuario = $this->clean($usuario);
        $this->password = $this->clean($password);
        $this->tipo_usuario = $tipo_usuario;

        if ($tipo_usuario == "Alumno") {
            $query = "SELECT id_alumno,password FROM alumnos WHERE id_alumno='$usuario' AND password='$password'";
        } elseif ($tipo_usuario == "Empleado") {
            $query = "SELECT id_empleado,password,nivel FROM empleados WHERE id_empleado='$usuario' AND password='$password'";
        }
        return $this->dbExecute($query);
    }
    public function crear_sesion()
    {
        if ($this->tipo_usuario == "Alumno") {
            session_start();
            session_register("autentificado");
            $autentificado = "ALUMNO";
            $_SESSION["alumno"] = $this->usuario;
        } elseif ($this->tipo_usuario == "Empleado") {
            session_start();
            session_register("autentificado");
            $autentificado = "ADMINISTRADOR";
            $_SESSION["empleado"] = $this->usuario;
        } 
    }
    public function imprime($tipo_usuario)
    {       
        $this->tipo_usuario=$tipo_usuario;
        session_start();
        if ($tipo_usuario == "Alumno") {
            session_register('alumno');
            return $_SESSION["alumno"];            
        } elseif ($tipo_usuario == "Empleado") {            
            session_register('empleado');
            return $_SESSION["empleado"];                        
        }
    }
    public function proteger()
    {        
        session_start();
        if ($_SESSION["empleado"]!="") {            
            return $this->imprime("Empleado");
        }else{
            header("Location: index.php");
        }        
    }    
    public function cerrar_session()
    {
        session_start();
        $_SESSION = array();
        session_destroy();
        header("Location: index.php");
    }
}
?>

Última edición por negro1985; 08/06/2010 a las 21:04