PHP - Else en caso de contraseña incorrecta

 
Vista:

Else en caso de contraseña incorrecta

Publicado por Pedro (8 intervenciones) el 28/12/2017 23:26:23
Hola tengo este código (que es al que me redirige cuando se logea un usuario desde index) que me redirige a una página u otra en función del tipo de usuarios 1 o 2, pero por más que lo intento y le doy vueltas, ¿Cómo podría con un else? Regirigir a index y que antes de redirigir me dijera el usuario o el password son incorrectos.

No sé por qué cuando me equivoco de clave o usuario, y en lugar de dar error se me queda en la web sin error, lo que intento es que cuando el log no sea el correcto o el usuario que me redirija a index con o sin mensaje.
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

Else en caso de contraseña incorrecta

Publicado por Pedro (8 intervenciones) el 29/12/2017 10:11:20
Este es el código disculpad

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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
include("conectar_bd.php");
conectar_bd();
 
$usr = $_POST['usuario'];
$pw = $_POST['password'];
//Obtengo la version encriptada del password
$pw_enc = md5($pw);
 
$sql1 = "SELECT id_TipoUsuario FROM tbl_users
WHERE tx_username = '".$usr."'
AND tx_password = '".$pw_enc."' ";
 
$result1=mysql_query($sql1,$conexio);
 
$uid = "";
$rs=mysql_fetch_array($result1);
 
if( $rs[0]=="2"){
 
    $sql = "SELECT id_usuario FROM tbl_users
            INNER JOIN ctg_tiposusuario
            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
            WHERE tx_username = '".$usr."'
            AND tx_password = '".$pw_enc."'
		";
    $result     =mysql_query($sql,$conexio);
 
    $uid = "";
 
    //Si existe al menos una fila
    if( $fila=mysql_fetch_array($result) ) {
        //Obtener el Id del usuario en la BD        
        $uid = $fila['id_usuario'];
        //Iniciar una sesion de PHP
        session_start();
        //Crear una variable para indicar que se ha autenticado
        $_SESSION['autenticado']    = 'SI';
        //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
        $_SESSION['uid']            = $uid;
        //CODIGO DE SESION
 
        //Crear un formulario para redireccionar al usuario y enviar oculto su Id 
        ?>
        <form name="formulario" method="post" action="principalcero.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
 
    <?php
    }
 
}
elseif( $rs[0]=="1"){
 
    $sql = "SELECT id_usuario FROM tbl_users
            INNER JOIN ctg_tiposusuario
            ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
            WHERE tx_username = '".$usr."'
            AND tx_password = '".$pw_enc."'
			";
    $result     =mysql_query($sql,$conexio);
 
    $uid = "";
 
    //Si existe al menos una fila
    if( $fila=mysql_fetch_array($result) )
    {
        //Obtener el Id del usuario en la BD        
        $uid = $fila['id_usuario'];
        //Iniciar una sesion de PHP
        session_start();
        //Crear una variable para indicar que se ha autenticado
        $_SESSION['autenticado']    = 'SI';
        //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
        $_SESSION['uid']            = $uid;
        //CODIGO DE SESION
 
        //Crear un formulario para redireccionar al usuario y enviar oculto su Id 
        ?>
        <form name="formulario" method="post" action="administrador.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
 
 
	<?php
    }
 
 
    else {
        //En caso de que no exista una fila...
        //..Crear un formulario para redireccionar al usuario a la pagina de login 
        //enviandole un codigo de error
	    ?>
        <form name="formulario" method="post" action="index.php">
            <input type="hidden" name="msg_error" value="1">
        </form>
        <?php
    }
 
 
}?>
 
 
<script type="text/javascript">
    //Redireccionar con el formulario creado
    document.formulario.submit();
</script>

El élse es lo que no sé hacer porque no se ejecuta.
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

Else en caso de contraseña incorrecta

Publicado por xve (6935 intervenciones) el 29/12/2017 10:47:52
Hola Pedro, puede ser por este condicional que no entre nunca en el if?

1
if( $fila=mysql_fetch_array($result) )
prueba a cambiarlo por:
1
2
if($result)
    $fila=mysql_fetch_array($result);

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

Else en caso de contraseña incorrecta

Publicado por Pedro (8 intervenciones) el 30/12/2017 20:06:51
Hola,

Nada. He probado haciendo lo del if pero no funciona. Lo he modificado así, pero no funciona tampoco. A ver si alguno vé porqué no me redirige al index cuando me equivoco en la pass y se queda en el fichero que se llama así (el código de abajo) validarusuario.php y se queda en blanco sin dar error.


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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?php
include("conectar_bd.php");
conectar_bd();
 
$usr = $_POST['usuario'];
$pw = $_POST['password'];
//Obtengo la version encriptada del password
$pw_enc = md5($pw);
 
 
 
$sql = "SELECT id_usuario FROM tbl_users
    INNER JOIN ctg_tiposusuario
    ON tbl_users.id_TipoUsuario = ctg_tiposusuario.id_TipoUsuario
    WHERE tx_username = '".$usr."'
    AND tx_password = '".$pw_enc."'
    ";
$result     =mysql_query($sql,$conexio);
 
$uid = "";
 
 
 
$sql1 = "SELECT id_TipoUsuario FROM tbl_users
WHERE tx_username = '".$usr."'
AND tx_password = '".$pw_enc."' ";
 
 
 
$result1=mysql_query($sql1,$conexio);
 
$uid = "";
$rs=mysql_fetch_array($result1);
 
if( $rs[0]=="2"){
 
    if( $fila=mysql_fetch_array($result) )
    {
        //Obtener el Id del usuario en la BD        
        $uid = $fila['id_usuario'];
        //Iniciar una sesion de PHP
        session_start();
        //Crear una variable para indicar que se ha autenticado
        $_SESSION['autenticado']    = 'SI';
        //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
        $_SESSION['uid']            = $uid;
        //CODIGO DE SESION
 
        //Crear un formulario para redireccionar al usuario y enviar oculto su Id 
        ?>
        <form name="formulario" method="post" action="principalcero.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
        <?php
    }
    else {
        //En caso de que no exista una fila...
        //..Crear un formulario para redireccionar al usuario a la pagina de login 
        //enviandole un codigo de error
        ?>
        <form name="formulario" method="post" action="index.php">
            <input type="hidden" name="msg_error" value="1">
        </form>
        <?php
    }
	?>
	<script type="text/javascript">
	    //Redireccionar con el formulario creado
	    document.formulario.submit();
	</script>
 
	<?php
 
}
 
 
elseif( $rs[0]=="1"){
 
 
 
    if( $fila=mysql_fetch_array($result) )
    {
        //Obtener el Id del usuario en la BD        
        $uid = $fila['id_usuario'];
        //Iniciar una sesion de PHP
        session_start();
        //Crear una variable para indicar que se ha autenticado
        $_SESSION['autenticado']    = 'SI';
        //Crear una variable para guardar el ID del usuario para tenerlo siempre disponible
        $_SESSION['uid']            = $uid;
        //CODIGO DE SESION
 
        //Crear un formulario para redireccionar al usuario y enviar oculto su Id 
        ?>
        <form name="formulario" method="post" action="administrador.php">
            <input type="hidden" name="idUsr" value='<?php echo $uid ?>' />
        </form>
        <?php
    }
    else {
        //En caso de que no exista una fila...
        //..Crear un formulario para redireccionar al usuario a la pagina de login 
        //enviandole un codigo de error
        ?>
        <form name="formulario" method="post" action="index.php">
            <input type="hidden" name="msg_error" value="1">
        </form>
        <?php
    }
 
}
 
?>
<script type="text/javascript">
    //Redireccionar con el formulario creado
    document.formulario.submit();
</script>
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