Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - bbitter

#1
PHP / Re: Ayuda Login.php
3 Diciembre 2013, 13:20 PM
Buenas,
primer punto: el código. ¿Qué condición no se está compliendo?

<?php
//...
if($user==$user1 && $pass==$pass1 && $user!="" && $rol=="admin"){
//logueamos como admin
exit;
}elseif($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user"){
//logueamos como user
exit;
}else{
//no logueamos
exit;
}
?>

Con esta estructura, ¿qué condición es la que nos "echa"?¿La primera o la segunda?¿Es por user, es por pass, ...por el rol?...

Yo propondía algo así:

<?php
//...
if($user==$user1 && $pass==$pass1 && $user!="") {
     // Se ha verificado que es un usuario, a ver que rol desempeña
     switch($rol) {
          case "admin":
          //logueamos como admin
           break;
          case "user":
          //logueamos como user
           break;
          default:
          //notificamos que el rol del usuario no está implementado o lo que sea
          }
}else{
          //notificamos que user o password son incorrectos           
}
?>

más que nada para tener algo más de control y no andar todo el rato preguntando lo mismo. Además en caso de no tener éxito, tenemos un error más específico.

Sería interesante tener la definición SQL de la tabla. A la hora de comparar el pasword, o resto de datos, ¿qué estamos comparando? Es decir, así como los locos, se me ocurrió que quizá pueda ser un error de tipos. Lo mismo podría suceder con otros valores de la siguiente condición.

if ($user==$user1 && $pass==$pass1 && $user!="" && $rol=="user")

Prueba a usar === en lugar de == . El operador '===' no realiza conversión de tipo y evita problemas "inesperados", aunque debes asegurarte de que los dos elementos son del mismo tipo.
#2
PHP / Re: Desarrollando shell.
3 Diciembre 2013, 11:11 AM
Muy interesante, ¡gracias por compartirlo!