Hola,
Esto es uno de los temas que mas me contactan por mp :P
Ahora les voy a explicar como hacerlo, enbase a
http://www.forosdelweb.com/f18/aport...suario-725268/
Para empezar, vamos a nesesitar una fila mas en la tabla ( donde vamos a tener el rango del usuario ), por ejemplo
rank:
Código sql:
Ver originalCREATE TABLE `users` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nick` VARCHAR( 100 ) NOT NULL ,
`clave` VARCHAR( 100 ) NOT NULL ,
`rank` INT( 1 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL
) ENGINE = MYISAM ;
Hay pondremos el rango numericamente, por ejemplo:
Código:
0: Usuario desactiva, no activo su cuenta (opcional)
1: Usuario normal, cuanta activada
5: Usuario baneado (opcional)
8: Usuario adminitrador
etc..
Lo unico que tendriamos que editar, es
entrar.php:
Código php:
Ver original<?php
include('config.php'); // Incluimos la conexion a la bd y la session
$user=$_POST['usuario'];
$clave=$_POST['clave'];
$consulta="SELECT * FROM users WHERE nick='".$user."' AND clave='".$clave."'"; // Selecionamos el nick y la clave
$consultar=mysql_query($consulta,$conexion) or
die(mysql_error()); // En el primer parametro ponemos la consulta, y en el segundo ponemos la conexion a la bd if(mysql_num_rows($consultar)==1){ // mysql_num_rows sirve para saber cuantos resultados devolvio la consulta // Si devolvio 1 resultado, es que los datos del usuario estan bien, porque selecionamos de la bd el nick y la clave.
// es casi imposible que devuelva mas de 1, porque deven aver 2 personas que se registren con el mismo nick y clave, pero ya
// vamos a evitar eso en el registro
switch($datos['rank']){
case 0: // Si el rank es 0, la cuenta esta desactivada
die("Tu usuario no esta activado!"); break;
case 5: // Si el rank es 5, la cuenta esta baneada
die("Tu usuario fue banneado de aqui!"); break;
case 8: // Si es 8, es un administrador
$_SESSION['usuario']=$user; // Creamos la session y le damos un dato para que lo guarde, con esta session identificamos al usuario en cualquier parate de la web.
$_SESSION['administrador']='on'; // Creamos la session del administrador, para saber mas tarde.
echo "Hola adminitrador!";
break;
default: // Si no es ninguno de los otros, es usuario normal
$_SESSION['usuario']=$user; // Creamos la session y le damos un dato para que lo guarde, con esta session identificamos al usuario en cualquier parate de la web.
echo "Se a logeado correctamente como ".$user;
break;
}
}else{ // Sino devolvio 1 resultado
echo "Datos inconrrectos. Intente denuevo.";
}
?>
Recuerden definir al registrar, el rango( rank ) de usuario.
Para implementarlo en
Easy Login:
Código php:
Ver original<?php
include('EasyLogin 3-0.php');
$sis = new EasyLogin
(array("localhost","root","","base_de_datos"),'users',array('nick','clave'));
$usuario = 'demo_user'; // Usuario a registrar
$clave = 'demo'; // Clave del usuario
if($sis->loginUser($usuario,$clave)){
$datos=$sis->dataUser($usuario);
switch($datos['rank']){
case 0: // Si el rank es 0, la cuenta esta desactivada
die("Tu usuario no esta activado!"); break;
case 5: // Si el rank es 5, la cuenta esta baneada
die("Tu usuario fue banneado de aqui!"); break;
case 8: // Si es 8, es un administrador
$_SESSION['usuario']=$usuario; // Creamos la session y le damos un dato para que lo guarde, con esta session identificamos al usuario en cualquier parate de la web.
$_SESSION['administrador']='on'; // Creamos la session del administrador, para saber mas tarde.
echo "Hola adminitrador!";
break;
default: // Si no es ninguno de los otros, es usuario normal
$_SESSION['usuario']=$usuario; // Creamos la session y le damos un dato para que lo guarde, con esta session identificamos al usuario en cualquier parate de la web.
echo "Se a logeado correctamente como ".$usuario;
break;
}
}else{
echo "Usuario o clave incorrecto";
}
$sis->closedBD(); // Cerramos la conexion a la bd
?>
Haci de facil!
Bueno eso es todo el tutorial :P
Espero que les ayude..
Salu2
PD: Recuerden el tema de seguridad.. yo no probe el codigo, lo hice mientras escribia el tutorial