Acceder a pagina según rol de usuario
Publicado por jose (71 intervenciones) el 17/01/2021 22:49:24
Buenas noches,
Estoy intentando hacer una pagina de logon sobre una web, que haga que el usuario al acceder y según el rol o grupo al que pertenezca en la tabla mysql acceda a una página u otra.
Lo he intentado de varias maneras con un echo pero no ha funcionado. He mirado en foros y webs pero los intentos han sido infructuosos.
Agradecía que alguien me pueda echar una mano. ES UNA PÁGINA DE GESTION PERSONAL.
Pongo todo el código que he hecho.
Estoy intentando hacer una pagina de logon sobre una web, que haga que el usuario al acceder y según el rol o grupo al que pertenezca en la tabla mysql acceda a una página u otra.
Lo he intentado de varias maneras con un echo pero no ha funcionado. He mirado en foros y webs pero los intentos han sido infructuosos.
Agradecía que alguien me pueda echar una mano. ES UNA PÁGINA DE GESTION PERSONAL.
Pongo todo el código que he hecho.
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
$out ="";
if (isset($_POST['submit-login'])) {
require ("pages/conn/connection.php");
$uName = mysqli_real_escape_string($conn, $_POST['uName']);
$pass1 = mysqli_real_escape_string($conn, $_POST['pass1']);
$grupo = mysqli_real_escape_string($conn, $_POST['grupo']);
$salted ="*********************".$pass1."***********";
$hashed = hash('sha512',$salted);
$query = "SELECT 1 FROM login WHERE uName ='$uName' AND pass1 ='$hashed' AND grupo='$grupo'";
$result = mysqli_query($conn, $query) or die("BAD SQL: $query");
if(mysqli_num_rows($result) > 0){
switch ($grupo){
case "admin":
session_start();
$_SESSION['login'] = "1";
header("location:pages/******/*****1.php");
require('pages/session/cookie.php');
break;
case "renta":
session_start();
$_SESSION['login'] = "1";
header("location:pages/******/*****2.php");
require('pages/session/cookie.php');
break;
default:
$out = "Fail to login. Check user or/and password";
}
}else{
session_start();
$_SESSION['login'] = '';
$out = "Fail to login. Check user or/and password";
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta name="viewport" content="width=device-width, intial-scale=1.0">
<meta name="login" content="login">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div id="base">
<div>
<div >
<picture>
<!--<source media="(min-width: 602px) and (max-width: 800px)" srcset="../images/recibo-movil.png">
<source media="(max-width: 480px)" srcset="images/recibo-movil.png">-->
<img id="imagen" src="images/recibos.png" alt="Recibos">
</picture>
</div>
<div>
<h1>Login de acceso</h1>
</div>
</div>
<div>
<center>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" >
<br><br><br>
<div class="campo">
<label>Usuario:</label> <input type="text" name="uName" placeholder="Escribe el usuario" autocomplete="off" required /><br><br>
<label>Contraseña:</label><input type="password" id="password" name="pass1" placeholder="Escribe la contraseña" autocomplete="off" required />
<span class="button" type="button">Mostrar</span><br><br>
</div>
<br><br>
<input class="button" type="submit" name="submit-login" value="login"/>
<a class="button" href="pages/session/register_login.php">Registrar</a>
</form>
<?php echo $out;?>
</center>
</div>
</div>
<script>
//Función para visualizar contraseña
document.querySelector('.campo span').addEventListener('click', e => {
const passwordInput = document.querySelector('#password');
if (e.target.classList.contains('show')) {
e.target.classList.remove('show');
e.target.textContent = 'Ocultar';
passwordInput.type = 'text';
} else {
e.target.classList.add('show');
e.target.textContent = 'Mostrar';
passwordInput.type = 'password';
}
});
</script>
</body>
</html>
Valora esta pregunta


0