/** * Devuelve los datos del usuario dado, ignorando su hash de contraseña. * Si el usuario no existe se devuelve false. * @param type $usuario * @return boolean */ function getUsuario($usuario) { if (!existeUsuario($usuario)) { return false; } $db = DATABASE::getInstance(); $result = $db->select("usuarios", "usuario, tipo", "usuario='{$usuario}'"); return $result[0]; }
session_destroy(); unset($_SESSION); //Como se nos quedará en la URL el logout, cuando entremos nos sacará //automáticamente. Para evitarlo hacemos que la dirección no tenga parámetros GET. $uri_parts = explode('?', $_SERVER['REQUEST_URI'], 2); //Primero dividimos la URL actual tomando como divisor el símbolo '?' $uri = 'http://' . $_SERVER['HTTP_HOST'] . $uri_parts[0]; //Y lo adaptamos al protocolo HTTP junto al host actual. header("Location: {$uri}"); //Finalmente hacemos que la URL del cliente cambie a la corregida. } //Es posible que el usuario logueado no exista porque un administrador lo ha eliminado. //Si esto fuese así, la aplicación igualmente deja pasar al usuario logueado. Para evitarlo //tendremos que comprobar que el usuario logueado actualmente exista. Si no es así, //destruiremos su sesión y se pedirá login. Además, se informará del error en la vista. if (isset($_SESSION["usuario"]) && !existeUsuario($_SESSION["usuario"])) { session_destroy(); unset($_SESSION); $error_login = "******"; } //Si no hay ningún usuario dado en la sesión actual, lo pedimos. if (!isset($_SESSION["usuario"])) { if (!$_POST || !isset($_POST["usuario"]) || !isset($_POST["pass"])) { include VIEW_PATH . "login.html"; } else { //LOGIN $tipousuario = verificarUsuario($_POST["usuario"], $_POST["pass"]); if ($tipousuario) { $_SESSION["usuario"] = $_POST["usuario"]; $_SESSION["tipousuario"] = $tipousuario; $_SESSION["login_date"] = date("d/m/Y");
include "conector.php"; include "model_usuario.php"; if ($_SERVER['REQUEST_METHOD'] === 'POST') { $nombre = $_POST['nombre']; $usuario = $_POST['usuario']; $pass = $_POST['pass']; $dpto = $_POST['dpto']; $cargo = $_POST['cargo']; $conexion = conexionProcedimiento(); $priv = ''; if ($dpto == "PDM") { $priv = "P"; } else { $priv = "D"; } $existeUsuario = existeUsuario($usuario, $conexion); while ($row = mysqli_fetch_assoc($existeUsuario)) { $cantidad = $row['usuario']; if ($cantidad == 1) { echo '<div class="alert alert-danger fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>El nombre de usuario ya existe.</strong></div>'; } else { $nuevoUsuario = nuevoUsuario($nombre, $usuario, $pass, $dpto, $cargo, $priv, $conexion); if (!$nuevoUsuario) { echo '<div class="alert alert-danger fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>Error en la consulta: ' . mysql_error() . '.</strong></div>'; } else { echo '<div class="alert alert-success fade in"><a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>Se ha creado un nuevo usuario.</strong></div>'; } } } cierraConexion($conexion); }
<!-- Alejandro García Martínez 2ºDAW Desarrollo Web en Entorno Servidor --> <?php include_once HELPER_PATH . "formularios.php"; include_once MODEL_PATH . "usuario.php"; if (!$_POST) { include VIEW_PATH . "usuario_crear.html"; } else { //Verificación del usuario if (trim(getPost("usuario")) == "") { $error_usuario = "Nombre de usuario no válido."; } else { if (existeUsuario(getPost("usuario"))) { $error_usuario = "Ya existe un usuario con ese nombre."; } } //Verificación de la contraseña if (trim(getPost("pass")) == "") { $error_password = "******"; //Si se envía una contraseña vacía evitamos que entre } //Verificación del tipo de usuario if (getPost("tipo") != "ADMIN" && getPost("tipo") != "OPERARIO") { $error_tipo = "Tipo de usuario no válido."; } if (isset($error_usuario) || isset($error_password) || isset($error_tipo)) { include VIEW_PATH . "usuario_crear.html"; } else {
} } break; } } } else { //Cargar el formulario con los datos del usuario actual if (!$_POST) { $_GET["usuario"] = $_SESSION["usuario"]; include VIEW_PATH . "usuario_modificar.html"; } else { //Verificación del usuario if (trim(getPost("usuario")) == "") { $error_usuario = "Nombre de usuario no válido."; } else { if (existeUsuario(getPost("usuario")) && getPost("usuario") != $_SESSION["usuario"]) { $error_usuario = "Ya existe un usuario con ese nombre."; } } //Verificación de la contraseña if (trim(getPost("pass")) == "") { $error_password = "******"; //Si se envía una contraseña vacía evitamos que entre } if (isset($error_usuario) || isset($error_password)) { include VIEW_PATH . "usuario_modificar.html"; } else { if (actualizarUsuario($_SESSION["usuario"], getPost("pass"), getPost("usuario"))) { include VIEW_PATH . "usuario_modificado.html"; } else { include VIEW_PATH . "usuario_modificado_error.html";