PDA

Ver la versión completa : Manejo de sesion en php




Marshall
01-11-2010, 02:51 PM
Hola mis amigos, aqui de nuevo molestandolos con mi falta del saber, me gustaria saber si alguien de ustedes ha utilizado EL MANEJO SE SESIONES PHP, bueno lo ke quiero es saber como puedo hacer para que cada usuario ingrese a determinadas paginas de acuerdo a su permiso. Yo ya empece con el logeo de los usuarios el cual me funciona bien, pero quiero que de acuerdo al permiso que tenga cada uno ingrese a algunas paginas y a otras no.


Esto es un ejemplo de lo que quiero lograr:

USUARIO - PERMISO - PAGINAS
UNO - NOVATO - PAGINA 1
DOS - SEMISENIOR- PAGINA 2 Y 3
TRES - SENIOR - PAGINA 1, 4 Y 5
CUATRO - ADMINISTRADOR - PAGINA 1,2,3,4 Y 5

Por lo que veo tengo que tener la tabla usuario con tres campos (usuario, password, permisos), yo tengo este codigo.

archivo seguridad.php
<?php
session_start();
$conexion=mysql_connect("localhost","usuario","password") or
die("Problemas en la conexion");

mysql_select_db("clinica",$conexion) or
die("Problemas en la selección de la base de datos");

$registro=mysql_query("select * from user where username='$_REQUEST[nombre]'
and passwd='$_REQUEST[clave]'",$conexion) or
die("Error:".mysql_error());

if ($reg=mysql_fetch_array($registro))
{
$_SESSION['nombre']=$reg['nombre'];
$_SESSION['nombre']=$_POST['nombre'];
$_SESSION['perm']=$reg["permisos"];
}
?>

en pagina1.php
session_start();
if ($_SESSION['perm']=="novato" && $_SESSION['perm']=="senior" )
{
echo "puedes acceder a la pagina numero 1";
}
die( "No esta autorizado a ingresar. <br> <a href="login.php">Volver a Intentar</a>");
//die( "<a href="login.php">Volver a Intentar</a>");
?>

en pagina2.php

session_start();
if ($_SESSION['perm']=="semisenior")
{
echo "puedes acceder a la pagina numero 2";
}
die( "No esta autorizado a ingresar. <br> <a href="login.php">Volver a Intentar</a>");
//die( "<a href="login.php">Volver a Intentar</a>");
?>

Espero me puedan ayudar con mi codigo porque la verdad esta incompleto y ya no se que hacer!!!! Se me acabaron las ideas y estoy desesperado, por favor ayudenme!
De antemano gracias por leer esto y gracias si me apoyas con algo de tu saber, algun link ke tengan o algun manual, tutorial, pagina o alguna guia de como puedo realizarlo se los agradecere....

Seifreed
01-11-2010, 04:01 PM
Yo lo que haría es diferenciar los dos tipos de Users y inluir en acda página pasando la cookie

talcual
01-13-2010, 12:51 AM
maneja eso por la base de datos indentificandolos que tipo de user es y luego desde el login pregunta y carga una session con el tipo de user y asi cargar el panel adecuado saludos

polin
02-10-2010, 12:07 AM
Hola.

En tu base de datos crea una tabla llamada rangos, esa tabla puede estar estructurada asi:

idRango
rangoNombre

Luego insertas los rangos, por ejemplo para despistar un poco a ataques puedes insertar primero a un rango de invitado.

idRango = 1
rangoNombre= Invitado
Luego a como quieras...
idRango = 2
rangoNombre= Administrador
idRango = 3
rangoNombre= Moderador

Luego en tu tabla de usuarios asignas los permisos por ejemplo tienen un campo permisos y metes para ti como administrados.

$_SESSION['permisos'] = 2 // se supone que en dos pones lo que te genero la query de permisos


luego para cuando vas a cargar tu pagina haces esto:


session_start();
if($_SESSION['permisos']==2)
{
echo "tengo acceso";
}
else
{
echo "no tengo acceso;
}


Tambien puedes asignas varios rangos a un usuario ejemplo 1,3 o 2,3 pero esto ya seria manejar la session como un array y asignandolo con array_push

Aqui para que le eches un vistazo a array_push

http://alsuave.info/369A7

polin
02-10-2010, 12:08 AM
Hola.

En tu base de datos crea una tabla llamada rangos, esa tabla puede estar estructurada asi:

idRango
rangoNombre

Luego insertas los rangos, por ejemplo para despistar un poco a ataques puedes insertar primero a un rango de invitado.

idRango = 1
rangoNombre= Invitado
Luego a como quieras...
idRango = 2
rangoNombre= Administrador
idRango = 3
rangoNombre= Moderador

Luego en tu tabla de usuarios asignas los permisos por ejemplo tienen un campo permisos y metes para ti como administrados.

$_SESSION['permisos'] = 2 // se supone que en dos pones lo que te genero la query de permisos


luego para cuando vas a cargar tu pagina haces esto:


session_start();
if($_SESSION['permisos']==2)
{
echo "tengo acceso";
}
else
{
echo "no tengo acceso;
}


Tambien puedes asignas varios rangos a un usuario ejemplo 1,3 o 2,3 pero esto ya seria manejar la session como un array y asignandolo con array_push

Aqui para que le eches un vistazo a array_push

http://alsuave.info/369A7