PHP - Problema con el login.

 
Vista:

Problema con el login.

Publicado por Giuliano (27 intervenciones) el 22/02/2014 07:38:26
Bueno amigos, aqui estoy de vuelta. Tengo un formulario de login con orientacion a objetos, pero siempre me da contraseña incorrecta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
session_start();
 
include("../../includes/php/conexion.php");
 
 
 
class login{
    private $user;
    private $pass;
    private $passok;
    private $mysql;
    private $row;
    private $array;
    private $conexion;
    private $db;
 
    public function __construct($usuario,$password){
        $this->user=$usuario;
        $this->pass=$password;
        $this->conexion=conectarDB();
        $this->db=mysql_select_db("sgp",$this->conexion);
        $this->mysql=mysql_query("SELECT * FROM usuarios WHERE username='".$this->user."'",$this->conexion);
        $this->array=mysql_fetch_array($this->mysql);
        $this->passok=$this->mysql['password'];
        $this->row=mysql_num_rows($this->mysql);
    }
    public function comprobar(){
 
        if ($this->row!=0){
                if($this->passok==$this->pass){
                    $_SESSION['usuario']=$this->user;
                    echo ("sesion iniciada");
                }else{
                    echo ("contraseña incorrecta");
                }
        }else{
            echo ("ese usuario no existe");
        }
 
}
}
$session=new login($_POST['user'],$_POST['pass']);
$session->comprobar();
?>

No se que puede ser, estoy probando hacer algunos echos pero no me doy cuenta..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema con el login.

Publicado por Giuliano (27 intervenciones) el 22/02/2014 07:55:33
ya me di cuenta..

1
$this->passok=$this->mysql['password'];

eso esta mal.. es array no mysql..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con el login.

Publicado por Giuliano (27 intervenciones) el 22/02/2014 08:22:31
bueno el problema ahora es que siempre entra a la pagina de administrador, se loguea como administrador, pero no reconozco el error en el algoritmo. es como si siempre el idtipousuario sea 1 el de admin.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
session_start();
 
include("../../includes/php/conexion.php");
 
 
 
class login{
    private $user;
    private $pass;
    private $passok;
    private $mysql;
    private $row;
    private $array;
    private $conexion;
    private $db;
    private $tipouser;
    private $idusuario;
    private $habilitado;
 
    public function __construct($usuario,$password){
        $this->user=$usuario;
        $this->pass=$password;
        $this->conexion=conectarDB();
        $this->db=mysql_select_db("sgp",$this->conexion);
        $this->mysql=mysql_query("SELECT * FROM usuarios WHERE username='".$this->user."'",$this->conexion);
        $this->array=mysql_fetch_array($this->mysql);
        $this->passok=$this->array['password'];
        $this->row=mysql_num_rows($this->mysql);
        $this->tipouser=$this->array['idTipoUsuario'];
        $this->idusuario=$this->array['idUsuario'];
        $this->habilitado=$this->array['habilitado'];
    }
 
    public function comprobar(){
 
        if ($this->row!=0){
                if($this->passok==$this->pass){
                    if($this->tipouser=1){
                        $_SESSION['usuario']=$this->user;
                        Header("Location: ../../aplicaciones/administradores.php?id='$this->idusuario'");
                    }
                    else{
                        if ($this->habilitado="s"){
                            $_SESSION['usuario']=$this->user;
                            Header("Location: ../../aplicaciones/usuarios.php?id='$this->idusuario'");
                        }else{
                            echo ("usted no tiene suficinetes privilegios");
                        }
                    }
                }else{
                    echo ("contraseña incorrecta");
                }
        }else{
            echo ("ese usuario no existe");
        }
 
}
}
$session=new login($_POST['user'],$_POST['pass']);
$session->comprobar();
 
 
?>
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con el login.

Publicado por xve (6935 intervenciones) el 22/02/2014 16:59:54
Hola Giuliano, en tu código veo varias cosas...

en el header("location.... al final pasas el id del usuario, el cual lo pasas entre comillas simples... yo quitaria las comillas para que quede algo como:
header("Location: ../../aplicaciones/administradores.php?id=".$this->idusuario);

De todas maneras, yo no pasaria el id... yo lo guardaria en una variable de sesión, al igual que guardas e nombre de usuario:
$_SESSION['idusuario']=$this->idusuario;

Espero que te sirva... el resto de código, no se verle el error...

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con el login.

Publicado por Giuliano (27 intervenciones) el 22/02/2014 17:32:10
Gracias por responder, lo que te decia es que tengo un administradores.php y un usuarios.php para los users normales, y siempre entra como administrador. pero igual gracias..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar