viernes, 22 de mayo de 2020

15. como eliminar un usuario de la base de datos - Curso como hacer un software web con patron MVC, PHP y la plantilla ADMIN LTE

Instrucciones

1. Primero nos aseguraremos que no se puedan registrar dos usuarios iguales, para ello en el input de nuevo usuario colocamos el id nuevoUsuario

2. En el archivo usuarios.js, creamos un bloque de código en el que validamos con ajax si el usuario ya esta registrado


/*=============================================
    Validad usuario unico
    =============================================*/

    $("#nuevoUsuario").change(function(){
      $(".alert").remove();
      var usuario = $(this).val();
      var datos = new FormData();
      datos.append("validarUsuario",usuario);
      $.ajax({
        url:"ajax/usuarios.ajax.php",
        method: "POST",
        data: datos,
        cache:false,
        contentType:false,
        processData:false,
        success:function(respuesta){
          console.log("Respuesta",respuesta);
          if(respuesta!="false"){
              console.log("Respuesta2",respuesta);
            $("#nuevoUsuario").parent().after("<div class='alert alert-warning'>Este nombre de usuario ya existe</div>");
            $("#nuevoUsuario").val("");
          }
        }
      })
    })

3. En el archivo usuarios.ajax.php dentro de la clase creamos la función  validar usuario único

/*=============================================
VALIDAR USUARIO UNICO
=============================================*/

public $validarUsuario;

public function ajaxValidarUsuario(){
$item = "usuario";
$valor = $this -> validarUsuario;
$respuesta = ControladorUsuarios::ctrMostrarUsuarios($item,$valor);
echo json_encode($respuesta);

}

4. Fuera de la clase preguntamos que si viene la variable post validarUsuario entonces nos ejecute la función ajaxValidarUsuario

/*=============================================
VALIDAR USUARIO UNICO
=============================================*/

if(isset($_POST['validarUsuario'])){
$validarUsuario = new AjaxUsuarios();
$validarUsuario -> validarUsuario = $_POST['validarUsuario'];
$validarUsuario -> ajaxValidarUsuario();
}

5. En el boton de eliminar usuario se agrega la clase btnEliminarUsuario

6. en el archivo usuarios.js agregamos un bloque de código para eliminar usuario

/*=============================================
Eliminar Usuario
=============================================*/

$(".btnEliminarUsuario").click(function(){

var idUsuario = $(this).attr("idUsuario");
var fotoUsuario = $(this).attr("fotoUsuario");
var usuario   = $(this).attr("usuario");

  Swal.fire({
  title: '¡Estas seguro que deseas eliminar el Usuario?',
  text: "Si no es asi puedes presionar el boton cancelar",
  icon: 'warning',
  showCancelButton: true,
  confirmButtonColor: '#3085d6',
  cancelButtonColor: '#d33',
  confirmButtonText: 'Si, Borrar usuario'
  }).then((result) => {
    if (result.value) {
       window.location = "index.php?ruta=usuarios&idusuario="+idUsuario+"&usuario="+usuario+"&fotousuario="+fotoUsuario;
   
  }
})
})
7. en el archivo usuarios.php al fnal llamamos el controlador  borrarUsuario

<?php
  $borrarUsuario = new ControladorUsuarios();
  $borrarUsuario -> ctrBorrarUsuario();
  ?>
8. En el archivo usuarios.controlador.php creamos la función ctrBorrarUsuario


static public function ctrBorrarUsuario(){
if(isset($_GET['idusuario'])){
$tabla = "usuarios";
$datos = $_GET['idusuario'];
if($_GET['fotousuario']!=""){
unlink($_GET['fotousuario']);
rmdir("vistas/img/usuarios/".$_GET['usuario']);
}
$respuesta = ModeloUsuarios::mdlBorrarUsuario($tabla,$datos);
if($respuesta=="ok"){
echo"<script>
Swal.fire({
title: 'Success!',
text: '¡El usuario ha sido actualizaddo correctamente!',
icon: 'success',
confirmButtonText:'Ok'
}).then((result)=>{
if(result.value){
window.location = 'usuarios';
}
})
</script>";
}

}
}


9. En el archivo usuarios.modelo.php creamos la funcion mdlBorrarUsuario

static public function mdlBorrarUsuario($tabla,$datos){
$stmt = conexion::conectar()->prepare("DELETE FROM $tabla WHERE id = :id");
$stmt -> bindParam(":id",$datos,PDO::PARAM_STR);
if($stmt->execute()){
return "ok";
}else{
return "error";
}
$stmt -> close();
$stmt = null;

}


No hay comentarios:

Publicar un comentario