<form class="w3-container" action="controller_login.php" method="post">
<p>
<label class="w3-label">
Użytkownik
</label>
<input class="w3-input w3-border " type="text" name="usuario" >
</p>
<p>
<label class="w3-label">Hasło</label>
<input class="w3-input w3-border" type="password" name="pas">
</p>
<p>
<input type="hidden" name="entrar" value="entrar">
<button class="w3-btn w3-green">Zaloguj</button>
</p>
<p>Jeśli nie masz konta skontaktuj się z administratorem <a href="mailto:admin_buniespo@.com" target="_top">✉</a></p>
</form>
controlerlogin.php
<?php
require_once('usuario.php');
require_once('crud_usuario.php');
require_once('conexion.php');
//inicio de sesion
$usuario=new Usuario();
$crud=new CrudUsuario();
//verifica si la variable registrarse está definida
//se da que está definicda cuando el usuario se loguea, ya que la envía en la petición
if (isset($_POST['registrarse'])) { $usuario->setNombre($_POST['usuario']);
$usuario->setClave($_POST['pas']);
if ($crud->buscarUsuario($_POST['usuario'])) {
$crud->insertar($usuario);
header('Location: index.php'); }else{
header('Location: error.php?mensaje=El nombre de usuario ya existe'); }
}elseif (isset($_POST['entrar'])) { //verifica si la variable entrar está definida $usuario=$crud->obtenerUsuario($_POST['usuario'],$_POST['pas']);
// si el id del objeto retornado no es null, quiere decir que encontro un registro en la base
if ($usuario->getId()!=NULL) {
$_SESSION['usuario']=$usuario; //si el usuario se encuentra, crea la sesión de usuario
header('Location: cuenta.php'); //envia a la página que simula la cuenta }else{
header('Location: error.php?mensaje=Tus nombre de usuario o clave son incorrectos'); // cuando los datos son incorrectos envia a la página de error }
}elseif(isset($_POST['salir'])){ // cuando presiona el botňn salir header('Location: index.php'); unset($_SESSION['usuario']); //destruye la sesión }
?>