Como insertar roles en php y mysql?


16 de Noviembre del 2020

Hola buenas, tengo una consulta, lo que pasa es que quiero ingresar roles de usuario en mi código pero no se como hacerlo, tengo el formulario de registro y login ya creados, solo me falta agregar la referencia que ya mencioné anteriormente:

registro_usuario_be.php:

<?php

include 'conexion_be.php';

$nombre_completo = $_POST['nombre_completo'];
$correo = $_POST['correo'];
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$contrasena = hash('sha512', $contrasena);

$query = "INSERT INTO usuarios(nombre_completo, correo, usuario, contrasena)
VALUES('$nombre_completo', '$correo', '$usuario', '$contrasena')";

//Verificar que el correo no se repita en la bd


$verificar_correo = mysqli_query($conexion, "SELECT * FROM usuarios WHERE correo='$correo' ");
if (mysqli_num_rows($verificar_correo) > 0) {
echo '
<script>
alert("Este correo ya está registrado");
window.location = "../index.php";
</script>
';
exit();
}

//Verificar que el nombre de usuario no se repita en la bd


$verificar_usuario = mysqli_query($conexion, "SELECT * FROM usuarios WHERE usuario='$usuario' ");
if (mysqli_num_rows($verificar_usuario) > 0) {
echo '
<script>
alert("Este usuario ya está registrado");
window.location = "../index.php";
</script>
';
exit();
}

$ejecutar = mysqli_query($conexion, $query);
if ($ejecutar) {
echo '<script>
alert("Usuario registrado correctamente");
window.location = "../index.php";
</script>';
}else{
echo '<script>
alert("Inténtalo de nuevo, usuario no registrado");
window.location = "../index.php";
</script>';
}

mysqli_close($conexion);

?>

login_usuario_be.php:

<?php

session_start();

include 'conexion_be.php';

$correo = $_POST['correo'];
$contrasena = $_POST['contrasena'];
$contrasena = hash('sha512', $contrasena);

$validar_login = mysqli_query($conexion, "SELECT * FROM usuarios where correo='$correo' and contrasena='$contrasena'");

if (mysqli_num_rows($validar_login) > 0) {
$_SESSION['usuario'] = $correo;
header("location: ../inicio.php");
exit;
}else{
echo '
<script>
alert("El usuario no existe, por favor verifique los datos introducidos");
window.location = "../index.php";
</script>
';
exit;
}

?>

index.php:

<?php

session_start();

if (isset($_SESSION['usuario'])) {
header("location: inicio.php");
}

?>

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Iniciar Sesión</title>
<link rel="stylesheet" type="text/css" href="assets/css/estilos.css">
</head>
<body>
<main>
<div class="contenedor__todo">
<div class="caja__trasera">
<div class="caja__trasera-login">
<h3>¿Ya tienes una cuenta?</h3>
<p>Inicia sesión para entrar a la página</p>
<button id="btn__iniciar-sesion">Iniciar sesión</button>
</div>
<div class="caja__trasera-register">
<h3>¿Aún no tienes una cuenta?</h3>
<p>Regístrate para que puedas iniciar sesión</p>
<button id="btn__registrarse">Regístrate</button>
</div>
</div>
<!--Formulario de registro y login-->
<div class="contenedor__login-register">
<!--Login-->
<form action="php/login_usuario_be.php" method="POST" class="formulario__login">
<h2>Iniciar sesión</h2>
<input type="text" placeholder="Correo electrónico" name="correo">
<input type="password" placeholder="Contraseña" name="contrasena">
<button>Entrar</button>
</form>
<!--Registro-->
<form action="php/registro_usuario_be.php" method="POST" class="formulario__register">
<h2>Regístrarse</h2>
<input type="text" placeholder="Nombre Completo" name="nombre_completo">
<input type="text" placeholder="Correo Electrónico" name="correo">

 

<input type="text" placeholder="Usuario" name="usuario">
<input type="password" placeholder="Contraseña" name="contrasena">
<button>Regístrarse</button>
</form>
</div>
</div>
</main>
<script src="assets/js/script.js"></script>
</body>
</html>


Mauro Chojrin
13 de Enero del 2021

Hola!

 

  Escribí este artículo con un par de ejemplos de implementación de roles, tal vez te ayude: https://academy.leewayweb.com/implementacion-de-roles-basada-en-php-y-mysql/

 

  Consúltame si tienes dudas!