PHP - ¿Como manejar roles al iniciar session en php y mysql?

 
Vista:
sin imagen de perfil

¿Como manejar roles al iniciar session en php y mysql?

Publicado por Sebastian (2 intervenciones) el 16/06/2018 20:19:43
Hola buenas tardes estoy intentando que al iniciar session un usuario lo redireccione segun el roll al cual esta asociado dentro de la tabla,en este caso hay dos tipos el roll admin y el roll limitado quiero saber como podria lograr esto lo que tengo hasta ahora es lo siguiente:, que basicamente es solo el login sin condicion de roles:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php session_start();
 
if (isset($_SESSION['usuario'])){
 
	header('Location: index.php');
 
}
 
 
if($_SERVER['REQUEST_METHOD']=='POST'){
	$usuario = filter_var(strtolower($_POST['usuario']),FILTER_SANITIZE_STRING);
	$password = $_POST['password'];
	$password = hash('sha512', $password);
	$errores ='';
	try{
		$conexion = new PDO('mysql:host=localhost;dbname=centromedico','root','');
	}catch(PDOException $e){
		echo "Error: ". $e->getMessage();
	}
	$statement = $conexion -> prepare(
			'SELECT * FROM usuarios');
 
	$statement ->execute(array(':usuario'=> $usuario,':password'=> $password ));
 
	$resultado = $statement->fetch();
	if($resultado !==false){
		$_SESSION['usuario'] = $usuario;
		header('Location: index.php');
	}else{
		$errores .= 'Datos incorrectos y/o invalidos!';
	}
}
	require 'vista/login.php';
?>



Y este seria el index.php que solo redirige al menu si todo se hizo correctamente:
1
2
3
4
5
6
7
<?php session_start();
if (isset($_SESSION['usuario'])){
	header('Location: CenterMedicine.php');
}else{
	header('Location: login.php');
}
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 127
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

¿Como manejar roles al iniciar session en php y mysql?

Publicado por Rrazo (55 intervenciones) el 17/06/2018 03:09:44
Dentro de la misma condicionante puedes hacerlo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php session_start();
 
if (isset($_SESSION['usuario'])){
     if ($_SESSION['rol'] == 'Admin'){
	     header('Location: PaginaAdmin.php');
          }else{
	     header('Location: Paginalimitada.php');
          }
 
}else{
 
	header('Location: login.php');
 
}
 
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar