Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/04/2010, 10:52
kadas99
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 8 meses
Puntos: 4
Discriminar entre admin y usuarios

Buenas! Como andan?

Bueno... mi problema de hoy (Tengo 1 por dia mas o menos jaja) no es tan jodido, me arme una web que contiene un uploader de imagenes, las cuales van a una seccion privada (Solo para admines [osea yo]) en donde las selecciono o borro dependiendo del caso. El tema es que quiero hacer que solo yo pueda acceder ahi.

¿Que hice hasta ahora?
En la bd de usuarios agregue un campo llamado userlevel para discriminar entre usuarios normales (1) o admines (2), entonces, cuando inicio session lo hago de esta forma

Código PHP:
[B]
if(
$count==1){
$registro=mysql_fetch_array($resultado);
$_SESSION['usuario']=$registro['username'];
$_SESSION['id']=$registro['id'];
$_SESSION['userlevel']=$registro['userlevel']; //Como veran aca tomo el lvl del usuario
[/B
¿Bien? Ok!

luego, como ya registre la session['userlevel'] ahora ya lo que tengo que hacer, es en mi seccion restringida solo para admines, chequear que sea un userlevel 2. ¿verdad? ok entonces recobro los valores de la session...


Código PHP:
[B]session_start();
if(isset(
$_SESSION['usuario'])){
$usuario=$_SESSION['usuario'];
$userid=$_SESSION['id'];
$userlevel=$_SESSION['userlevel'];
}
[/
B
y luego hago un switch...

Código PHP:
[B]switch ($userlevel){
case 
'1': echo "usuario comun";
case 
'2': echo "es admin"
}[/
B
Pero esto no me funciona, es decir, no me hace el switch, me muestra en pantalla las dos salidas....

pero... si lo hago con un anidamiento de if...

Código PHP:
[B]if($userlevel == 1){
echo 
"Es usuario comun<br />";}else if($userlevel == 2){
echo 
"Es admin<br />";}
[/
B
solo me muestra la opcion correcta (sea 1 o 2 muestra bien).

bueno, eso es una cuestion. Lo que sigue es, ¿Este metodo, (El de usar niveles para discriminar admines de usuarios) es valido? Si bien lo vi tambien en otros lados y lo usaban, solo queria saber si no habia algo "nuevo" o "mejorado" que esto.

Un abrazo!