¿Control de acceso a usuarios con PHP y PDO?

Tengo una base en la que la tabla ingenieros hago que ingresen sus datos.
¿Cómo puedo controlar la sesión para que esta me indique si es administrador o usuario normal?

2 Respuestas

Respuesta
1

Simplemente en la tabla creas un campo que te indique si es Administrador o no. Creas una variable de session para llevarla a otro script de tu programa:

<?php  session_start();
// leer en tu BBDD y almacenas en: $var
// $var = "S" ..... es administrador
// $var = "N" ..... es Ingeniero
$_SESSION['administrador'] = $var;
?>
//luego en los scripts que necesites la información, llamas a la variable de session:
<?php  session_start();
$que_es = $_SESSION['administrador'];
?>
Respuesta
1

En tu base de datos puedes crear una columna con el nivel de usuario.

En tu página de logue lo determinas como una variable de sesión y luego lo puedes pasar a un formulario de control

$LoginRS__query=sprintf("SELECT * FROM usuarios WHERE usuario=%s AND password=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
$LoginRS = mysql_query($LoginRS__query, $sico) or die(mysql_error());
$loginFoundUser = mysql_num_rows($LoginRS);
$row_Recordset1 = mysql_fetch_assoc($LoginRS);
if ($loginFoundUser) {
$loginStrGroup = "";
if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
//declare two session variables and assign them
$_SESSION['MM_Username'] = $loginUsername;
$_SESSION['MM_UserGroup'] = $loginStrGroup;
$_SESSION['MM_Usuario'] = $row_Recordset1["id"];
$_SESSION['usuario'] = $row_Recordset1["usuario"];
$_SESSION['nivel'] = $row_Recordset1["nivel"];
$_SESSION['proy'] = $row_Recordset1["proyecto"];
if (isset($_SESSION['PrevUrl']) && true) {
$MM_redirectLoginSuccess = $_SESSION['PrevUrl'];

y de acuerdo al nivel lo redireccionas dentro de tu web

query_nivel= sprintf ("select * from usuarios where id =%s ", GetSQLValueString($varalbum_contador, "int"));
$nivel = mysql_query($query_nivel) or die(mysql_error());
$row_nivel = mysql_fetch_assoc($nivel);
//echo "nivel:" .$row_nivel['nivel'];

if($row_nivel['nivel']==1)//110
{header('Location: admin.php');}
elseif($row_nivel['nivel']==2)//110 VEHICULOS
{header('Location: veh_liquidacion.php');}
elseif($row_nivel['nivel']==3)//110 VIATICOS
{header('Location: viaticos/via_panel.php');}
elseif($row_nivel['nivel']==4)//110 VEHICULOS PROPIOS
{header('Location: veh_aceitealarma.php');}
else {}//111

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas