Foros del Web » Programando para Internet » PHP »

Diferenciar entre administrador y usuario comun.

Estas en el tema de Diferenciar entre administrador y usuario comun. en el foro de PHP en Foros del Web. Buenas, estoy practicando php e hice un sencillo sistema de de registro y logueo. Funciona correctamente pero se me complico al querer indentificar entre un ...
  #1 (permalink)  
Antiguo 18/05/2010, 18:59
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Diferenciar entre administrador y usuario comun.

Buenas, estoy practicando php e hice un sencillo sistema de de registro y logueo.
Funciona correctamente pero se me complico al querer indentificar entre un usuario comun y un administrador.
Lo q hice fue lo siguiente:
En la tabla cree un campo llamado tipo y por defecto, cuando un usuario se registra, le puse 2 y si quiero agregar un admin le pongo uno manualmente. Hasta ahi funciona bien.
Ahora bien, no se como acomodar el condicional q arme para tal caso.
Yo tengo el archivo q procesa el form de login y es el siguiente:
Código PHP:
<?php
include("db-cnx.php");
$usuario $_POST["usuario"];
$clave $_POST["clave"];
if(
$usuario!= "" && $clave!= ""){
    
$sql mysql_query('SELECT clave, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
    if(
$umysql_fetch_array($sql)){
        if(
$u["clave"] == $clave){
                   
$_SESSION["usuario"] = $u['usuario'];
                   echo 
'Bienvenido '.$_SESSION['usuario'].' <p>';        
        }else{
            echo 
'Clave incorrecta. Volve a loguearte';
        }
    }else{
        echo 
'Usuario inexistente';
    }
    
}
?>
y la condicion q arme para diferenciar es la siguiente:
Código PHP:
if($u['tipo'] == 1) {
 
   
$_SESSION['usuario'] = $u['usuario'];
    echo
"admin";   
   }
   
     else {
     
      
$_SESSION['usuario'] = $u['usuario'];
      echo
"usuario comun";      
      } 
Intente acomodarla pero nologre q funcionara.
Saludos y gracias.
  #2 (permalink)  
Antiguo 19/05/2010, 02:41
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Diferenciar entre administrador y usuario comun.

En la consulta, solo le pides que recoja los valores de clave y usuario, no pides que recoja los valores de tipo, por lo tanto no estarán en el array que devuelve mysql_fetch_array.

Añase ese campo en la consulta.

Un saludo
  #3 (permalink)  
Antiguo 19/05/2010, 14:24
Avatar de reborn  
Fecha de Ingreso: febrero-2010
Mensajes: 440
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Diferenciar entre administrador y usuario comun.

Uuuh pero q tipo inutil q soy, tenes razon.
Con razon me estaba matando y mira donde tenia el error.
Gracias, ya lo pude resolver.
Me quedo asi.
Código PHP:
<?php
include("db-cnx.php");
$usuario $_POST["usuario"];
$clave $_POST["clave"];
if(
$usuario!= "" && $clave!= ""){
    
$sql mysql_query('SELECT clave, usuario, tipo FROM usuarios WHERE usuario="'.$usuario.'"');
    if(
$umysql_fetch_array($sql)){
        if(
$u["clave"] == $clave){
                   
$_SESSION["usuario"] = $u['usuario'];
                   if(
$u['tipo'] == 1) {
 
   
$_SESSION['usuario'] = $u['usuario'];
    echo
"admin";   
   }
   
     else {
     
      
$_SESSION['usuario'] = $u['usuario'];
      echo
"usuario comun";      
      }         
        }else{
            echo 
'Clave incorrecta. Volve a loguearte';
        }
    }else{
        echo 
'Usuario inexistente';
    }
    
}
?>

Etiquetas: comun, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:15.