1. Modificamos la tabla para que según el estado del usuario en la base de datos muestre si esta activo o inactivo, agregando la siguiente decisión en php
2. Se modifica el archivo usuarios.controlador.php de manera que nos pregunte si el usuario esta activo antes de permitirle acceder al sistema, quedando de la siguiente manera
if($value['estado']!="1"){
echo'<td><button class="btn btn-danger btnprueba btn-xs">Inactivo</button></td>';
}else{
echo'<td><button class="btn btn-success btnprueba btn-xs">Activo</button></td>';
}
|
2. Se modifica el archivo usuarios.controlador.php de manera que nos pregunte si el usuario esta activo antes de permitirle acceder al sistema, quedando de la siguiente manera
if($respuesta['estado']==1){
$_SESSION['iniciarSesion']="ok";
$_SESSION['nombre']=$respuesta['nombre'];
$_SESSION['usuario']=$respuesta['usuario'];
$_SESSION['foto']=$respuesta['foto'];
$_SESSION['perfil']=$respuesta['perfil'];
echo '<script>
window.location="inicio";
</script>';
}else{
echo("<div class='alert alert-danger'>Usuario inactivo, contacte al administrador del sistema</div>");
}
|
3. e agrega la clase btnActivar a los botones de activo e inactivo y los atributos estadousuario y idUsuario, quedando de la siguiente manera
4. En el archivo usuarios.js agregamos el siguiente código para que se ejecute cuando presionen uno de los botones
if($value['estado']!="1"){
echo'<td><button class="btn btn-danger btnprueba btn-xs btnActivar" idUsuario="'.$value["id"].'" estadoUsuario="1">Inactivo</button></td>';
}else{
echo'<td><button class="btn btn-success btnprueba btn-xs btnActivar" idUsuario="'.$value["id"].'" estadoUsuario="0">Activo</button></td>';
}
|
4. En el archivo usuarios.js agregamos el siguiente código para que se ejecute cuando presionen uno de los botones
$(".btnActivar").click(function(){
var idUsuario = $(this).attr("idUsuario");
var estadoUsuario = $(this).attr("estadoUsuario");
var datos = new FormData();
datos.append("activarId",idUsuario);
datos.append("activarUsuario",estadoUsuario);
$.ajax({
url:"ajax/usuarios.ajax.php",
method: "POST",
data: datos,
cache:false,
contentType:false,
processData:false,
success:function(respuesta){
}
})
})
|
5. Se agrega al archivo usuarios.ajax.php e código para cambiar el estado del usuario en el método ajaxActivarUsuario
dentro de la clase Ajaxusuarios se agrega
/*=============================================
ACTIVAR USUARIO
=============================================*/
public $activarUsuario;
public $activarId;
public function ajaxActivarUsuario(){
$tabla = "usuarios";
$item1 = "estado";
$valor1 =$this -> activarUsuario;
$item2 = "id";
$valor2 =$this -> activarId;
$respuesta = ModeloUsuarios::mdlActualizarUsuario($tabla,$item1,$valor1,$item2,$valor2);
}
|
Fuera de la clase Ajaxusuarios se agrega
8. En el archivo usuarios.php modificamos la linea donde imprimimos el ultimo login, dejándolo así
/*=============================================
ACTIVAR USUARIO
=============================================*/
if(isset($_POST['activarUsuario'])){
$activarUsuario = new AjaxUsuarios();
$activarUsuario -> activarUsuario=$_POST['activarUsuario'];
$activarUsuario -> activarId=$_POST['activarId'];
$activarUsuario ->ajaxActivarUsuario();
}
|
6. Se agrega el método mdlActualizarUsuario en el archivo usuarios.modelo.php
static public function mdlActualizarUsuario($tabla,$item1,$valor1,$item2,$valor2){
$stmt = conexion::conectar()->prepare("UPDATE $tabla SET $item1 = :$item1 WHERE $item2 = :$item2");
$stmt -> bindParam(":".$item1,$valor1,PDO::PARAM_STR);
$stmt -> bindParam(":".$item2,$valor2,PDO::PARAM_STR);
if($stmt->execute()){
return "ok";
}else{
return "error";
}
$stmt ->close();
$stmt = null;
}
|
7. En el archivo usuarios.controlador en la función ctrIngreso modificamos el código de manera que envíe la fecha de login a la base de datos quedando así
//Fecha de login
date_default_timezone_set("America/Bogota");
$fecha = date("y-m-d");
$hora = date("H:i:s");
$fechaActual = $fecha." ".$hora;
$item1 = "ultimo_login";
$valor1 = $fechaActual;
$item2 = "id";
$valor2 = $respuesta['id'];
$actualizarLogin = ModeloUsuarios::mdlActualizarUsuario($tabla,$item1,$valor1,$item2,$valor2);
if($actualizarLogin=="ok"){
echo '<script>
window.location="inicio";
</script>';
}
|
8. En el archivo usuarios.php modificamos la linea donde imprimimos el ultimo login, dejándolo así
<td>'.$value['ultimo_login'].'</td>
|
No hay comentarios:
Publicar un comentario