Tironemota

PHP

Facturación Pág. 2

Ver sistema

Paginar buscador

Paginar Buscador

usuarioBuscar.php

<?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Lista de usuarios</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <?php // CONVERTIR EN MINUSCULA $busqueda = strtolower($_REQUEST['busqueda']); if(empty($busqueda)){ header('Location: usuarioLista.php'); } ?> <h1>Lista de usuarios</h1> <a href="usuarioReg.php" class="btn_new">Crear usuario</a> <form action="usuarioBuscar.php" method="get" class="form_buscar"> <input type="text" name="busqueda" id="busqueda" placeholder="Buscar"> <input type="submit" value="buscar" class="btn_buscar"> </form> <table> <tr> <th>ID</th> <th>Nombre</th> <th>Correo</th> <th>Usuario</th> <th>Rol</th> <th>Acciones</th> </tr> <?php // PAGINADOR // BUSCAR $rol = ''; if($busqueda == 'administrador'){ $rol = " OR rol LIKE '%1%'"; }else if($busqueda == 'supervisor'){ $rol = " OR rol LIKE '%2%'"; }else if($busqueda == 'vendedor'){ $rol = " OR rol LIKE '%3%'"; } $query_reg = mysqli_query($conexion,"SELECT COUNT(*) as total_registro FROM usuario idusuario LIKE '%$busqueda%' OR nombre LIKE '%$busqueda%' OR correo LIKE '%$busqueda%' OR usuario LIKE '%$busqueda%') AND estatus = 1"); $resul_reg = mysqli_fetch_array($query_reg); $total_reg = $resul_reg['total_registro']; // REGISTROS A MOSTRAR POR PAGINA $por_pag = 5; // SI NO EXISTE PAGINA if(empty($_GET['pag'])){ $pag = 1; }else{ $pag = $_GET['pag']; } $desde = ($pag - 1) * $por_pag; $total_pag = ceil($total_reg / $por_pag); $query = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE (u.idusuario LIKE '%$busqueda%' OR u.nombre LIKE '%$busqueda%' OR u.correo LIKE '%$busqueda%' OR u.usuario LIKE '%$busqueda%' OR r.rol LIKE '%$busqueda%') AND estatus = 1 ORDER BY nombre ASC LIMIT $desde,$por_pag"); $result = mysqli_num_rows($query); if($result > 0){ while ($data = mysqli_fetch_array($query)) { ?> <tr> <td><?php echo $data['idusuario'] ?></td> <td><?php echo $data['nombre'] ?></td> <td><?php echo $data['correo'] ?></td> <td><?php echo $data['usuario'] ?></td> <td><?php echo $data['rol'] ?></td> <td> <a href="usuarioEditar.php?id=<?php echo $data['idusuario'] ?>" class="link_edit">Editar</a> <?php // SI EL USUARIO NO ES 1 MUESTRO BOTON ELIMINAR if($data['idusuario'] != 1){ ?> | <a href="usuarioElimina.php?id=<?php echo $data['idusuario'] ?>" class="link_delete">Eliminar</a> <?php } ?> </td> </tr> <?php } } ?> </table> <?php if($total_reg != 0){ ?> <div class="paginador"> <ul> <?php if($pag != 1){ ?> <li><a href="?pag=<?php echo 1; ?>&busqueda=<?php echo $busqueda; ?>">|<</a></li> <li><a href="?pag=<?php echo $pag - 1; ?>&busqueda=<?php echo $busqueda; ?>"><<</a></li> <?php } for($i=1; $i <= $total_pag; $i++){ if($i == $pag){ echo '<li class="pageSelect">'.$i.'</li>'; }else{ echo '<li><a href="?pag='.$i.'&busqueda='.$busqueda.'">'.$i.'</a></li>'; } } if($pag != $total_pag){ ?> <li><a href="?pag=<?php echo $pag + 1; ?>&busqueda=<?php echo $busqueda; ?>">>></a></li> <li><a href="?pag=<?php echo $total_pag; ?>&busqueda=<?php echo $busqueda; ?>">>|</a></li> <?php } ?> </ul> </div> <?php } ?> </section> <?php include('incluir/footer.php') ?> </body> </html>

Cerrar conexión

Para cerrar la conexión a la base de datos usamos mysqli_close()

Debemos cerrarla en:

  • Inicio de sesión index.php, después del query en la línea 25.
  • Registro de usuario usuarioReg.php, después del query en la línea 64.
  • Lista de usuarios usuarioLista.php, después del query en la línea 46.
  • Actualizar usuario usuarioEditar.php:
    • Después de comprobar si existe usuario o correo en línea 42.
    • Si ID no tiene valor redireccionamos a lista de usuario y cerramos la conexión después de la línea 48.
    • Después del query en la línea 54.
    • Antes del query del select debemos conectarnos de nuevo a la base de datos después de la línea 106 y cerrar después del query en la línea 109.
  • Eliminar usuario usuarioElimina.php:
    • Después de redirecionar en la línea 6.
    • Después del query en la línea 16.
    • Después de redirecionar en la línea 27.
    • Después del query en la línea 32.
  • Buscar usuario usuarioBuscar.php:
    • Después de redirecionar en la línea 19.
    • Después del query en la línea 63.

index.php

<?php $alert=""; // CREAMOS SESION session_start(); // SI EXISTE SESION ACTIVA if(!empty($_SESSION['active'])){ header('Location: sistema/'); } else { // SI PULSO EL BOTON INGRESAR if(!empty($_POST)){ // SI ESTA VACIO EL CAMPO USUARIO O CLAVE if(empty($_POST['usuario']) || empty($_POST['clave'])){ $alert = "Ingrese su usuario y clave."; // CASO CONTRARIO } else { // NOS CONECTAMOS A LA BASE DE DATOS require_once('conexion/conex.php'); // RECUPERAMOS LOS DATOS Y ELIMINO LOS CARACTERES RAROS $user = mysqli_real_escape_string($conexion,$_POST['usuario']); // ENCRIPTAMOS LA CONTRASEÑA $pass = md5(mysqli_real_escape_string($conexion,$_POST['clave'])); // CONSULTA A EJECUTAR $query = mysqli_query($conexion,"SELECT * FROM usuario WHERE usuario = '$user' AND clave = '$pass'"); // CIERRO LA CONEXION mysqli_close($conexion); // RESULTADO DE LA CONSULTA $resul = mysqli_num_rows($query); // SI EL RESULTADO ES MAYOR A CERO if($resul > 0){ // GUARDAMOS LOS DATOS EN UN ARRAY $data = mysqli_fetch_array($query); // CONFIRMAR QUE CONTIENE EL ARRAY //print_r($data); // CREAMOS VARIABLES DE SESION $_SESSION['active'] = true; $_SESSION['iduser'] = $data['idusuario']; $_SESSION['nombre'] = $data['nombre']; $_SESSION['email'] = $data['correo']; $_SESSION['user'] = $data['usuario']; $_SESSION['rol'] = $data['rol']; // REDIRECIONAMOS header('Location: sistema/'); } else { $alert = "El usuario o la clave no es valida."; // DESTRUIMOS LA SESION session_destroy(); } } } } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Login | Sistema de facturación</title> <link rel="stylesheet" type="text/css" href="css/stilo.css"> </head> <body> <section id="container"> <form action="" method="post"> <h3>Iniciar sesión</h3> <img src="img/login.png" alt="Login"> <input type="text" name="usuario" placeholder="Usuario"> <input type="password" name="clave" placeholder="Contraseña"> <div class="alert"><?php echo isset($alert) ? $alert: ""; ?></div> <input type="submit" value="INGRESAR"> </form> </section> </body> </html>

usuarioReg.php

<?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); // SI PULSARON EL BOTÓN if(!empty($_POST)){ $alert=''; // SI EXISTE UN CAMPO VACÍO if(empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['usuario']) || empty($_POST['clave']) || empty($_POST['rol'])){ $alert = '<p class="nsg_error">Todos los campos son obligatorio.</p>'; }else{ // RECIBIMOS LAS VARIABLES $nombre = $_POST['nombre']; $email = $_POST['correo']; $user = $_POST['usuario']; // ENCRIPTAMOS LA CLAVE $clave = md5($_POST['clave']); $rol = $_POST{'rol'}; // CONSULTAMOS SI EXISTE USUARIO O CORREO $query = mysqli_query($conexion,"SELECT * FROM usuario WHERE usuario = '$user' OR correo = '$email'"); // RESULTADO DE LA CONSULTA $result = mysqli_fetch_array($query); // SI EXISTE REGISTRO if($result > 0){ $alert = '<p class="nsg_error">El correo o usuario ya existe.</p>'; // DE LO CONTRARIO } else { // ALMACENA EL REGISTRO $query_insert = mysqli_query($conexion,"INSERT INTO usuario (nombre,correo,usuario,clave,rol) VALUES ('$nombre','$email','$user','$clave','$rol')"); // VALIDAMOS if($query_insert){ $alert = '<p class="nsg_save">Usuario creado correctamente</p>'; } else { $alert = '<p class="nsg_error">Error al crear el usuario.</p>'; } } } } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Registro de usuario</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <div class="form_register"> <h1>Registro de usuario</h1> <hr> <div class="alert"><?php echo isset($alert) ? $alert : ''; ?></div> <form> <label for="nombre">Nombre: </label> <input type="text" name="nombre" id="nombre" placeholder="Nombre completo"> <label for="correo">Correo eléctronico: </label> <input type="email" name="correo" id="correo" placeholder="Correo eléctronico"> <label for="usuario">Usuario: </label> <input type="text" name="usuario" id="usuario" placeholder="Usuario"> <label for="clave">Clave: </label> <input type="password" name="clave" id="clave" placeholder="Clave de acceso"> <label for="rol">Tipo de usuario: </label> <?php $query_rol = mysqli_query($conexion,"SELECT * FROM rol"); // CIERRO LA CONEXION mysqli_close($conexion); $result_rol = mysqli_num_rows($query_rol); ?> <select name="rol" id="rol"> <?php if($result_rol > 0){ while($rol = mysqli_fetch_array($query_rol)){ ?> <option value="<?php echo $rol['idrol'] ?>"><?php echo $rol['rol'] ?></option> <?php } } ?> </select> <input type="submit" value="Crear usuario" class="btn_save"> </form> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

usuarioLista.php

<?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Lista de usuarios</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <h1>Lista de usuarios</h1> <a href="usuarioReg.php" class="btn_new">Crear usuario</a> <form action="usuarioBuscar.php" method="get" class="form_buscar"> <input type="text" name="busqueda" id="busqueda" placeholder="Buscar"> <input type="submit" value="buscar" class="btn_buscar"> </form> <table> <tr> <th>ID</th> <th>Nombre</th> <th>Correo</th> <th>Usuario</th> <th>Rol</th> <th>Acciones</th> </tr> <?php // PAGINADOR // TOTAL REGISTROS $query_reg = mysqli_query($conexion,"SELECT COUNT(*) as total_registro FROM usuario WHERE estatus = 1"); $resul_reg = mysqli_fetch_array($query_reg); $total_reg = $resul_reg['total_registro']; // REGISTROS A MOSTRAR POR PAGINA $por_pag = 5; // SI NO EXISTE PAGINA if(empty($_GET['pag'])){ $pag = 1; }else{ $pag = $_GET['pag']; } $desde = ($pag - 1) * $por_pag; $total_pag = ceil($total_reg / $por_pag); $query = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE estatus = 1 ORDER BY nombre ASC LIMIT $desde,$por_pag"); // CIERRO LA CONEXION mysqli_close($conexion); $result = mysqli_num_rows($query); if($result > 0){ while ($data = mysqli_fetch_array($query)) { ?> <tr> <td><?php echo $data['idusuario'] ?></td> <td><?php echo $data['nombre'] ?></td> <td><?php echo $data['correo'] ?></td> <td><?php echo $data['usuario'] ?></td> <td><?php echo $data['rol'] ?></td> <td> <a href="usuarioEditar.php?id=<?php echo $data['idusuario'] ?>" class="link_edit">Editar</a> <?php // SI EL USUARIO NO ES 1 MUESTRO BOTON ELIMINAR if($data['idusuario'] != 1){ ?> | <a href="usuarioElimina.php?id=<?php echo $data['idusuario'] ?>" class="link_delete">Eliminar</a> <?php } ?> </td> </tr> <?php } } ?> </table> <div class="paginador"> <ul> <?php if($pag != 1){ ?> <li><a href="?pag=<?php echo 1; ?>">|<</a></li> <li><a href="?pag=<?php echo $pag - 1; ?>"><<</a></li> <?php } for($i=1; $i <= $total_pag; $i++){ if($i == $pag){ echo '<li class="pageSelect">'.$i.'</li>'; }else{ echo '<li><a href="?pag='.$i.'">'.$i.'</a></li>'; } } if($pag != $total_pag){ ?> <li><a href="?pag=<?php echo $pag + 1; ?>">>></a></li> <li><a href="?pag=<?php echo $total_pag; ?>">>|</a></li> <?php } ?> </ul> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

usuarioEditar.php

<?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); // SI PULSARON EL BOTÓN if(!empty($_POST)){ $alert=''; // SI EXISTE UN CAMPO VACÍO if(empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['usuario']) || empty($_POST['rol'])){ $alert = '<p class="nsg_error">Todos los campos son obligatorio.</p>'; }else{ // RECIBIMOS LAS VARIABLES $idusuario = $_POST['idusuario']; $nombre = $_POST['nombre']; $email = $_POST['correo']; $user = $_POST['usuario']; // ENCRIPTAMOS LA CLAVE $clave = md5($_POST['clave']); $rol = $_POST{'rol'}; // CONSULTAMOS SI EXISTE USUARIO O CORREO $query = mysqli_query($conexion,"SELECT * FROM usuario WHERE (usuario = '$user' AND idusuario != '$idusuario') OR (correo = '$email' AND idusuario != '$idusuario')"); // RESULTADO DE LA CONSULTA $result = mysqli_fetch_array($query); // SI EXISTE REGISTRO if($result > 0){ $alert = '<p class="nsg_error">El correo o usuario ya existe.</p>'; // DE LO CONTRARIO } else { // VALIDAMO if(empty($_POST['clave'])){ $sql_update = mysqli_query($conexion,"UPDATE usuario SET nombre = '$nombre', correo = '$email', usuario = '$user', rol = '$rol' WHERE idusuario = '$idusuario'"); } else { $sql_update = mysqli_query($conexion,"UPDATE usuario SET nombre = '$nombre', correo = '$email', usuario = '$user', clave = '$clave', rol = '$rol' WHERE idusuario = '$idusuario'"); } // EVALUAMOS if($sql_update){ $alert = '<p class="nsg_save">Usuario actualizado correctamente</p>'; } else { $alert = '<p class="nsg_error">Error al actualizar el usuario.</p>'; } } } // CIERRO LA CONEXION mysqli_close($conexion); } // RECUPERAMOS LOS DATOS // SI NO EXIXTE ID if(empty($_GET['id'])){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); } // VALIDAR EXISTE USUARIO $iduser = $_GET['id']; $sql = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.idrol, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE idusuario = '$iduser'"); // CIERRO LA CONEXION mysqli_close($conexion); $resul_sql = mysqli_num_rows($sql); // SI NO EXISTE REGISTRO REDIRECCIONAMOS if($resul_sql == 0){ header('Location: usuarioLista.php'); // CASO CONTRARIO RECUPERO REGISTRO } else { while($data = mysqli_fetch_array($sql)){ $idusuario = $data['idusuario']; $nombre = $data['nombre']; $correo = $data['correo']; $usuario = $data['usuario']; $idrol = $data['idrol']; $rol = $data['rol']; $option = ''; if($idrol == 1){ $option = '<option value="'.$idrol.'" select>'.$rol.'</option>'; }else if($idrol == 2){ $option = '<option value="'.$idrol.'" select>'.$rol.'</option≫'; }else if($idrol == 3){ $option = '<option value="'.$idrol.'" select>'.$rol.'</option>'; } } } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Actualizar usuario</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <div class="form_register"> <h1>Actualizar usuario</h1> <hr> <div class="alert"><?php echo isset($alert) ? $alert : ''; ?></div> <form action="" method="post"> <input type="hidden" name="idusuario" value="<?php echo $idusuario; ?>"> <label for="nombre">Nombre: </label> <input type="text" name="nombre" id="nombre" placeholder="Nombre completo" value="<?php echo $nombre; ?>"> <label for="correo">Correo eléctronico: </label> <input type="email" name="correo" id="correo" placeholder="Correo eléctronico" value="<?php echo $correo; ?>"> <label for="usuario">Usuario: </label> <input type="text" name="usuario" id="usuario" placeholder="Usuario" value="<?php echo $usuario; ?>"> <label for="clave">Clave: </label> <input type="password" name="clave" id="clave" placeholder="Clave de acceso"> <label for="rol">Tipo de usuario: </label> <?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); $query_rol = mysqli_query($conexion,"SELECT * FROM rol"); // CIERRO LA CONEXION mysqli_close($conexion); $result_rol = mysqli_num_rows($query_rol); ?> <select name="rol" id="rol" class="notItemOne"> <?php echo $option; if($result_rol > 0){ while($rol = mysqli_fetch_array($query_rol)){ ?> <option value="<?php echo $rol['idrol'] ?>"><?php echo $rol['rol'] ?></option> <?php } } ?> </select> <input type="submit" value="Actualizar usuario" class="btn_save"> </form> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

usuarioElimina.php

<?php include('../conexion/conex.php'); if(!empty($_POST)){ // EVALUAMOS QUE EL VALOR NO SEA EL SUPER-ADMINISTRADOR if($_POST['idusuario'] == 1){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); // PARA QUE NO SIGA EJECUTANDO CODIGO exit; } $idusuario = $_POST['idusuario']; // ELIMINAR REGISTRO //$query_delete = mysqli_query($conexion, "DELETE FROM usuario WHERE idusuario = '$idusuario'"); // CAMBIAR ESTATUS $query_delete = mysqli_query($conexion,"UPDATE usuario SET estatus = 0 WHERE idusuario = '$idusuario'"); // CIERRO LA CONEXION mysqli_close($conexion); if($query_delete){ header('Location: usuarioLista.php'); } else { echo "Error al eliminar"; } } // SI 'ID' NO EXISTE O ES IGUAL A 1 if(empty($_REQUEST['id']) || $_REQUEST['id'] ==1 ){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); } else { $idusuario = $_REQUEST['id']; $query = mysqli_query($conexion,"SELECT u.nombre, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE u.idusuario = '$idusuario'"); // CIERRO LA CONEXION mysqli_close($conexion); $resul = mysqli_num_rows($query); if($resul > 0){ while($data = mysqli_fetch_array($query)){ $nombre = $data['nombre']; $usuario = $data['usuario']; $rol = $data['rol']; } } else { header('Location: usuarioLista.php'); } } ?> <!DOCTYPE html> <html lang="es"> <head>/span> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Eliminar usuario</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <div class="data_delete"> <h2>¿Está seguro de eliminar el siguiente registro?</h2> <p>Nombre: <span><?php echo $nombre; ?></span></p> <p>Usuario: <span><?php echo $usuario; ?></span></p> <p>Tipo de usuario: <span><?php echo $rol; ?></span></p> <form method="post" action=""> <input type="hidden" name="idusuario" value="<?php echo $idusuario; ?>"> <a href="usuarioLista.php" class="btn_cancel">Cancelar</a> <input type="submit" value="Aceptar" class="btn_ok"> </form> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

usuarioBuscar.php

<?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Lista de usuarios</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <?php // CONVERTIR EN MINUSCULA $busqueda = strtolower($_REQUEST['busqueda']); if(empty($busqueda)){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); } ?> <h1>Lista de usuarios</h1> <a href="usuarioReg.php" class="btn_new">Crear usuario</a> <form action="usuarioBuscar.php" method="get" class="form_buscar"> <input type="text" name="busqueda" id="busqueda" placeholder="Buscar"> <input type="submit" value="buscar" class="btn_buscar"> </form> <table> <tr> <th>ID</th> <th>Nombre</th> <th>Correo</th> <th>Usuario</th> <th>Rol</th> <th>Acciones</th> </tr> <?php // PAGINADOR // BUSCAR $rol = ''; if($busqueda == 'administrador'){ $rol = " OR rol LIKE '%1%'"; }else if($busqueda == 'supervisor'){ $rol = " OR rol LIKE '%2%'"; }else if($busqueda == 'vendedor'){ $rol = " OR rol LIKE '%3%'"; } $query_reg = mysqli_query($conexion,"SELECT COUNT(*) as total_registro FROM usuario idusuario LIKE '%$busqueda%' OR nombre LIKE '%$busqueda%' OR correo LIKE '%$busqueda%' OR usuario LIKE '%$busqueda%') AND estatus = 1"); $resul_reg = mysqli_fetch_array($query_reg); $total_reg = $resul_reg['total_registro']; // REGISTROS A MOSTRAR POR PAGINA $por_pag = 5; // SI NO EXISTE PAGINA if(empty($_GET['pag'])){ $pag = 1; }else{ $pag = $_GET['pag']; } $desde = ($pag - 1) * $por_pag; $total_pag = ceil($total_reg / $por_pag); $query = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE (u.idusuario LIKE '%$busqueda%' OR u.nombre LIKE '%$busqueda%' OR u.correo LIKE '%$busqueda%' OR u.usuario LIKE '%$busqueda%' OR r.rol LIKE '%$busqueda%') AND estatus = 1 ORDER BY nombre ASC LIMIT $desde,$por_pag"); // CIERRO LA CONEXION mysqli_close($conexion); $result = mysqli_num_rows($query); if($result > 0){ while ($data = mysqli_fetch_array($query)) { ?> <tr> <td><?php echo $data['idusuario'] ?></td> <td><?php echo $data['nombre'] ?></td> <td><?php echo $data['correo'] ?></td> <td><?php echo $data['usuario'] ?></td> <td><?php echo $data['rol'] ?></td> <td> <a href="usuarioEditar.php?id=<?php echo $data['idusuario'] ?>" class="link_edit">Editar</a> <?php // SI EL USUARIO NO ES 1 MUESTRO BOTON ELIMINAR if($data['idusuario'] != 1){ ?> | <a href="usuarioElimina.php?id=<?php echo $data['idusuario'] ?>" class="link_delete">Eliminar</a> <?php } ?> </td> </tr> <?php } } ?> </table> <?php if($total_reg != 0){ ?> <div class="paginador"> <ul> <?php if($pag != 1){ ?> <li><a href="?pag=<?php echo 1; ?>&busqueda=<?php echo $busqueda; ?>">|<</a></li> <li><a href="?pag=<?php echo $pag - 1; ?>&busqueda=<?php echo $busqueda; ?>"><<</a></li> <?php } for($i=1; $i <= $total_pag; $i++){ if($i == $pag){ echo '<li class="pageSelect">'.$i.'</li>'; }else{ echo '<li><a href="?pag='.$i.'&busqueda='.$busqueda.'">'.$i.'</a></li>'; } } if($pag != $total_pag){ ?> <li><a href="?pag=<?php echo $pag + 1; ?>&busqueda=<?php echo $busqueda; ?>">>></a></li> <li><a href="?pag=<?php echo $total_pag; ?>&busqueda=<?php echo $busqueda; ?>">>|</a></li> <?php } ?> </ul> </div> <?php } ?> </section> <?php include('incluir/footer.php') ?> </body> </html>

Restricción

Los administradores tienen acceso a todo el sistema, podrán crear, modificar, eliminar, buscar datos del sistema.

Los supervisores no pueden tener acceso a los usuarios, no puede crear, modificar, eliminar, ni ver la lista de usuarios.

Los vendedores no pueden tener acceso a los usuarios.

Pasos a seguir:
  1. Restringir acceso al crear nuevo usuario en usuarioReg.php
  2. Eliminamos la variable de sesión en el header.php para evitar duplicados
  3. Crear sesión en el index del sistema
  4. Crear sesión en lista de usuarios
  5. Crear sesión en editar usuario
  6. Crear sesión en eliminar usuario
  7. Crear sesión en buscar usuario
  8. Mostramos el menú de usuario solo al Administrador en nav.php

Restringir acceso al crear nuevo usuario

usuarioReg.php

<?php // INICIAMOS SESSION session_start(); // SI NO ES ADMINISTRADOR if($_SESSION['rol'] != 1){ // REDIRIGIMOS A LA RAIZ header('Location: ../'); } // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); // SI PULSARON EL BOTÓN if(!empty($_POST)){ $alert=''; // SI EXISTE UN CAMPO VACÍO if(empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['usuario']) || empty($_POST['clave']) || empty($_POST['rol'])){ $alert = '<p class="nsg_error">Todos los campos son obligatorio.</p>'; }else{ // RECIBIMOS LAS VARIABLES $nombre = $_POST['nombre']; $email = $_POST['correo']; $user = $_POST['usuario']; // ENCRIPTAMOS LA CLAVE $clave = md5($_POST['clave']); $rol = $_POST{'rol'}; // CONSULTAMOS SI EXISTE USUARIO O CORREO $query = mysqli_query($conexion,"SELECT * FROM usuario WHERE usuario = '$user' OR correo = '$email'"); // RESULTADO DE LA CONSULTA $result = mysqli_fetch_array($query); // SI EXISTE REGISTRO if($result > 0){ $alert = '<p class="nsg_error">El correo o usuario ya existe.</p>'; // DE LO CONTRARIO } else { // ALMACENA EL REGISTRO $query_insert = mysqli_query($conexion,"INSERT INTO usuario (nombre,correo,usuario,clave,rol) VALUES ('$nombre','$email','$user','$clave','$rol')"); // VALIDAMOS if($query_insert){ $alert = '<p class="nsg_save">Usuario creado correctamente</p>'; } else { $alert = '<p class="nsg_error">Error al crear el usuario.</p>'; } } } } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Registro de usuario</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <div class="form_register"> <h1>Registro de usuario</h1> <hr> <div class="alert"><?php echo isset($alert) ? $alert : ''; ?></div> <form> <label for="nombre">Nombre: </label> <input type="text" name="nombre" id="nombre" placeholder="Nombre completo"> <label for="correo">Correo eléctronico: </label> <input type="email" name="correo" id="correo" placeholder="Correo eléctronico"> <label for="usuario">Usuario: </label> <input type="text" name="usuario" id="usuario" placeholder="Usuario"> <label for="clave">Clave: </label> <input type="password" name="clave" id="clave" placeholder="Clave de acceso"> <label for="rol">Tipo de usuario: </label> <?php $query_rol = mysqli_query($conexion,"SELECT * FROM rol"); // CIERRO LA CONEXION mysqli_close($conexion); $result_rol = mysqli_num_rows($query_rol); ?> <select name="rol" id="rol"> <?php if($result_rol > 0){ while($rol = mysqli_fetch_array($query_rol)){ ?> <option value="<?php echo $rol['idrol'] ?>"><?php echo $rol['rol'] ?></option> <?php } } ?> </select> <input type="submit" value="Crear usuario" class="btn_save"> </form> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

Eliminamos la variable de sesión en el header.php para evitar duplicados

header.php

<?php // SI SESION ACTIVA ESTA VACIA if(empty($_SESSION['active'])){ // REDIRIJO AL LONGEO header('Location: ../'); } ?> <header> <div class="header"> <h1>Sistema Facturación</h1> <div class="optionsBar"> <p>Venezuela, <?php echo fechaC(); ?></p> <span>|</span> <span class="user"><?php echo $_SESSION['user']; ?></span> <img class="photouser" src="img/user.png" alt="Usuario"> <a href="salir.php"><img class="close" src="img/salir.png" alt="Salir del sistema" title="Salir"></a> </div> </div> <?php include('nav.php') ?> </header>

Crear sesión en el index del sistema

sistema/index.php

<?php // INICIAMOS SESSION session_start(); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Sistema Ventas</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <h1>Bienvenido al sistema</h1> </section> <?php include('incluir/footer.php') ?> </body> </html>

Crear sesión en lista de usuarios

usuarioLista.php

<?php // INICIAMOS SESSION session_start(); // SI NO ES ADMINISTRADOR if($_SESSION['rol'] != 1){ // REDIRIGIMOS A LA RAIZ header('Location: ../'); } // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Lista de usuarios</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <h1>Lista de usuarios</h1> <a href="usuarioReg.php" class="btn_new">Crear usuario</a> <form action="usuarioBuscar.php" method="get" class="form_buscar"> <input type="text" name="busqueda" id="busqueda" placeholder="Buscar"> <input type="submit" value="buscar" class="btn_buscar"> </form> <table> <tr> <th>ID</th> <th>Nombre</th> <th>Correo</th> <th>Usuario</th> <th>Rol</th> <th>Acciones</th> </tr> <?php // PAGINADOR // TOTAL REGISTROS $query_reg = mysqli_query($conexion,"SELECT COUNT(*) as total_registro FROM usuario WHERE estatus = 1"); $resul_reg = mysqli_fetch_array($query_reg); $total_reg = $resul_reg['total_registro']; // REGISTROS A MOSTRAR POR PAGINA $por_pag = 5; // SI NO EXISTE PAGINA if(empty($_GET['pag'])){ $pag = 1; }else{ $pag = $_GET['pag']; } $desde = ($pag - 1) * $por_pag; $total_pag = ceil($total_reg / $por_pag); $query = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE estatus = 1 ORDER BY nombre ASC LIMIT $desde,$por_pag"); // CIERRO LA CONEXION mysqli_close($conexion); $result = mysqli_num_rows($query); if($result > 0){ while ($data = mysqli_fetch_array($query)) { ?> <tr> <td><?php echo $data['idusuario'] ?></td> <td><?php echo $data['nombre'] ?></td> <td><?php echo $data['correo'] ?></td> <td><?php echo $data['usuario'] ?></td> <td><?php echo $data['rol'] ?></td> <td> <a href="usuarioEditar.php?id=<?php echo $data['idusuario'] ?>" class="link_edit">Editar</a> <?php // SI EL USUARIO NO ES 1 MUESTRO BOTON ELIMINAR if($data['idusuario'] != 1){ ?> | <a href="usuarioElimina.php?id=<?php echo $data['idusuario'] ?>" class="link_delete">Eliminar</a> <?php } ?> </td> </tr> <?php } } ?> </table> <div class="paginador"> <ul> <?php if($pag != 1){ ?> <li><a href="?pag=<?php echo 1; ?>">|<</a></li> <li><a href="?pag=<?php echo $pag - 1; ?>"><<</a></li> <?php } for($i=1; $i <= $total_pag; $i++){ if($i == $pag){ echo '<li class="pageSelect">'.$i.'</li>'; }else{ echo '<li><a href="?pag='.$i.'">'.$i.'</a></li>'; } } if($pag != $total_pag){ ?> <li><a href="?pag=<?php echo $pag + 1; ?>">>></a></li> <li><a href="?pag=<?php echo $total_pag; ?>">>|</a></li> <?php } ?> </ul> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

Crear sesión en editar usuario

usuarioEditar.php

<?php // INICIAMOS SESSION session_start(); // SI NO ES ADMINISTRADOR if($_SESSION['rol'] != 1){ // REDIRIGIMOS A LA RAIZ header('Location: ../'); } // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); // SI PULSARON EL BOTÓN if(!empty($_POST)){ $alert=''; // SI EXISTE UN CAMPO VACÍO if(empty($_POST['nombre']) || empty($_POST['correo']) || empty($_POST['usuario']) || empty($_POST['rol'])){ $alert = '<p class="nsg_error">Todos los campos son obligatorio.</p>'; }else{ // RECIBIMOS LAS VARIABLES $idusuario = $_POST['idusuario']; $nombre = $_POST['nombre']; $email = $_POST['correo']; $user = $_POST['usuario']; // ENCRIPTAMOS LA CLAVE $clave = md5($_POST['clave']); $rol = $_POST{'rol'}; // CONSULTAMOS SI EXISTE USUARIO O CORREO $query = mysqli_query($conexion,"SELECT * FROM usuario WHERE (usuario = '$user' AND idusuario != '$idusuario') OR (correo = '$email' AND idusuario != '$idusuario')"); // RESULTADO DE LA CONSULTA $result = mysqli_fetch_array($query); // SI EXISTE REGISTRO if($result > 0){ $alert = '<p class="nsg_error">El correo o usuario ya existe.</p>'; // DE LO CONTRARIO } else { // VALIDAMO if(empty($_POST['clave'])){ $sql_update = mysqli_query($conexion,"UPDATE usuario SET nombre = '$nombre', correo = '$email', usuario = '$user', rol = '$rol' WHERE idusuario = '$idusuario'"); } else { $sql_update = mysqli_query($conexion,"UPDATE usuario SET nombre = '$nombre', correo = '$email', usuario = '$user', clave = '$clave', rol = '$rol' WHERE idusuario = '$idusuario'"); } // EVALUAMOS if($sql_update){ $alert = '<p class="nsg_save">Usuario actualizado correctamente</p>'; } else { $alert = '<p class="nsg_error">Error al actualizar el usuario.</p>'; } } } // CIERRO LA CONEXION mysqli_close($conexion); } // RECUPERAMOS LOS DATOS // SI NO EXIXTE ID if(empty($_GET['id'])){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); } // VALIDAR EXISTE USUARIO $iduser = $_GET['id']; $sql = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.idrol, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE idusuario = '$iduser'"); // CIERRO LA CONEXION mysqli_close($conexion); $resul_sql = mysqli_num_rows($sql); // SI NO EXISTE REGISTRO REDIRECCIONAMOS if($resul_sql == 0){ header('Location: usuarioLista.php'); // CASO CONTRARIO RECUPERO REGISTRO } else { while($data = mysqli_fetch_array($sql)){ $idusuario = $data['idusuario']; $nombre = $data['nombre']; $correo = $data['correo']; $usuario = $data['usuario']; $idrol = $data['idrol']; $rol = $data['rol']; $option = ''; if($idrol == 1){ $option = '<option value="'.$idrol.'" select>'.$rol.'</option>'; }else if($idrol == 2){ $option = '<option value="'.$idrol.'" select>'.$rol.'</option≫'; }else if($idrol == 3){ $option = '<option value="'.$idrol.'" select>'.$rol.'</option>'; } } } ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Actualizar usuario</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <div class="form_register"> <h1>Actualizar usuario</h1> <hr> <div class="alert"><?php echo isset($alert) ? $alert : ''; ?></div> <form action="" method="post"> <input type="hidden" name="idusuario" value="<?php echo $idusuario; ?>"> <label for="nombre">Nombre: </label> <input type="text" name="nombre" id="nombre" placeholder="Nombre completo" value="<?php echo $nombre; ?>"> <label for="correo">Correo eléctronico: </label> <input type="email" name="correo" id="correo" placeholder="Correo eléctronico" value="<?php echo $correo; ?>"> <label for="usuario">Usuario: </label> <input type="text" name="usuario" id="usuario" placeholder="Usuario" value="<?php echo $usuario; ?>"> <label for="clave">Clave: </label> <input type="password" name="clave" id="clave" placeholder="Clave de acceso"> <label for="rol">Tipo de usuario: </label> <?php // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); $query_rol = mysqli_query($conexion,"SELECT * FROM rol"); // CIERRO LA CONEXION mysqli_close($conexion); $result_rol = mysqli_num_rows($query_rol); ?> <select name="rol" id="rol" class="notItemOne"> <?php echo $option; if($result_rol > 0){ while($rol = mysqli_fetch_array($query_rol)){ ?> <option value="<?php echo $rol['idrol'] ?>"><?php echo $rol['rol'] ?></option> <?php } } ?> </select> <input type="submit" value="Actualizar usuario" class="btn_save"> </form> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

Crear sesión en eliminar usuario

usuarioElimina.php

<?php // INICIAMOS SESSION session_start(); // SI NO ES ADMINISTRADOR if($_SESSION['rol'] != 1){ // REDIRIGIMOS A LA RAIZ header('Location: ../'); } include('../conexion/conex.php'); if(!empty($_POST)){ // EVALUAMOS QUE EL VALOR NO SEA EL SUPER-ADMINISTRADOR if($_POST['idusuario'] == 1){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); // PARA QUE NO SIGA EJECUTANDO CODIGO exit; } $idusuario = $_POST['idusuario']; // ELIMINAR REGISTRO //$query_delete = mysqli_query($conexion, "DELETE FROM usuario WHERE idusuario = '$idusuario'"); // CAMBIAR ESTATUS $query_delete = mysqli_query($conexion,"UPDATE usuario SET estatus = 0 WHERE idusuario = '$idusuario'"); // CIERRO LA CONEXION mysqli_close($conexion); if($query_delete){ header('Location: usuarioLista.php'); } else { echo "Error al eliminar"; } } // SI 'ID' NO EXISTE O ES IGUAL A 1 if(empty($_REQUEST['id']) || $_REQUEST['id'] ==1 ){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); } else { $idusuario = $_REQUEST['id']; $query = mysqli_query($conexion,"SELECT u.nombre, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE u.idusuario = '$idusuario'"); // CIERRO LA CONEXION mysqli_close($conexion); $resul = mysqli_num_rows($query); if($resul > 0){ while($data = mysqli_fetch_array($query)){ $nombre = $data['nombre']; $usuario = $data['usuario']; $rol = $data['rol']; } } else { header('Location: usuarioLista.php'); } } ?> <!DOCTYPE html> <html lang="es"> <head>/span> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Eliminar usuario</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <div class="data_delete"> <h2>¿Está seguro de eliminar el siguiente registro?</h2> <p>Nombre: <span><?php echo $nombre; ?></span></p> <p>Usuario: <span><?php echo $usuario; ?></span></p> <p>Tipo de usuario: <span><?php echo $rol; ?></span></p> <form method="post" action=""> <input type="hidden" name="idusuario" value="<?php echo $idusuario; ?>"> <a href="usuarioLista.php" class="btn_cancel">Cancelar</a> <input type="submit" value="Aceptar" class="btn_ok"> </form> </div> </section> <?php include('incluir/footer.php') ?> </body> </html>

Crear sesión en buscar usuario

usuarioBuscar.php

<?php // INICIAMOS SESSION session_start(); // SI NO ES ADMINISTRADOR if($_SESSION['rol'] != 1){ // REDIRIGIMOS A LA RAIZ header('Location: ../'); } // CONECTAMOS A BASE DE DATOS include('../conexion/conex.php'); ?> <!DOCTYPE html> <html lang="es"> <head> <meta charset="UTF-8"> <?php include('incluir/script.php') ?> <title>Lista de usuarios</title> </head> <body> <?php include('incluir/header.php') ?> <section id="container"> <?php // CONVERTIR EN MINUSCULA $busqueda = strtolower($_REQUEST['busqueda']); if(empty($busqueda)){ header('Location: usuarioLista.php'); // CIERRO LA CONEXION mysqli_close($conexion); } ?> <h1>Lista de usuarios</h1> <a href="usuarioReg.php" class="btn_new">Crear usuario</a> <form action="usuarioBuscar.php" method="get" class="form_buscar"> <input type="text" name="busqueda" id="busqueda" placeholder="Buscar"> <input type="submit" value="buscar" class="btn_buscar"> </form> <table> <tr> <th>ID</th> <th>Nombre</th> <th>Correo</th> <th>Usuario</th> <th>Rol</th> <th>Acciones</th> </tr> <?php // PAGINADOR // BUSCAR $rol = ''; if($busqueda == 'administrador'){ $rol = " OR rol LIKE '%1%'"; }else if($busqueda == 'supervisor'){ $rol = " OR rol LIKE '%2%'"; }else if($busqueda == 'vendedor'){ $rol = " OR rol LIKE '%3%'"; } $query_reg = mysqli_query($conexion,"SELECT COUNT(*) as total_registro FROM usuario idusuario LIKE '%$busqueda%' OR nombre LIKE '%$busqueda%' OR correo LIKE '%$busqueda%' OR usuario LIKE '%$busqueda%') AND estatus = 1"); $resul_reg = mysqli_fetch_array($query_reg); $total_reg = $resul_reg['total_registro']; // REGISTROS A MOSTRAR POR PAGINA $por_pag = 5; // SI NO EXISTE PAGINA if(empty($_GET['pag'])){ $pag = 1; }else{ $pag = $_GET['pag']; } $desde = ($pag - 1) * $por_pag; $total_pag = ceil($total_reg / $por_pag); $query = mysqli_query($conexion,"SELECT u.idusuario, u.nombre, u.correo, u.usuario, r.rol FROM usuario u INNER JOIN rol r ON u.rol = r.idrol WHERE (u.idusuario LIKE '%$busqueda%' OR u.nombre LIKE '%$busqueda%' OR u.correo LIKE '%$busqueda%' OR u.usuario LIKE '%$busqueda%' OR r.rol LIKE '%$busqueda%') AND estatus = 1 ORDER BY nombre ASC LIMIT $desde,$por_pag"); // CIERRO LA CONEXION mysqli_close($conexion); $result = mysqli_num_rows($query); if($result > 0){ while ($data = mysqli_fetch_array($query)) { ?> <tr> <td><?php echo $data['idusuario'] ?></td> <td><?php echo $data['nombre'] ?></td> <td><?php echo $data['correo'] ?></td> <td><?php echo $data['usuario'] ?></td> <td><?php echo $data['rol'] ?></td> <td> <a href="usuarioEditar.php?id=<?php echo $data['idusuario'] ?>" class="link_edit">Editar</a> <?php // SI EL USUARIO NO ES 1 MUESTRO BOTON ELIMINAR if($data['idusuario'] != 1){ ?> | <a href="usuarioElimina.php?id=<?php echo $data['idusuario'] ?>" class="link_delete">Eliminar</a> <?php } ?> </td> </tr> <?php } } ?> </table> <?php if($total_reg != 0){ ?> <div class="paginador"> <ul> <?php if($pag != 1){ ?> <li><a href="?pag=<?php echo 1; ?>&busqueda=<?php echo $busqueda; ?>">|<</a></li> <li><a href="?pag=<?php echo $pag - 1; ?>&busqueda=<?php echo $busqueda; ?>"><<</a></li> <?php } for($i=1; $i <= $total_pag; $i++){ if($i == $pag){ echo '<li class="pageSelect">'.$i.'</li>'; }else{ echo '<li><a href="?pag='.$i.'&busqueda='.$busqueda.'">'.$i.'</a></li>'; } } if($pag != $total_pag){ ?> <li><a href="?pag=<?php echo $pag + 1; ?>&busqueda=<?php echo $busqueda; ?>">>></a></li> <li><a href="?pag=<?php echo $total_pag; ?>&busqueda=<?php echo $busqueda; ?>">>|</a></li> <?php } ?> </ul> </div> <?php } ?> </section> <?php include('incluir/footer.php') ?> </body> </html>

Mostramos el menú de usuario solo al Administrador

nav.php

<nav> <ul> <li><a href="#">Inicio</a></li> <?php if($_SESSION['rol'] == 1){ ?> <li class="principal"> <a href="#">Usuarios</a> <ul> <li><a href="usuarioReg.php">Nuevo Usuario</a></li> <li><a href="usuarioLista.php">Lista de Usuarios</a></li> </ul> </li> <?php } ?> <li class="principal"> <a href="#">Clientes</a> <ul> <li><a href="#">Nuevo Cliente</a></li> <li><a href="#">Lista de Clientes</a></li> </ul> </li> <li class="principal"> <a href="#">Proveedores</a> <ul> <li><a href="#">Nuevo Proveedor</a></li> <li><a href="#">Lista de Proveedores</a></li> </ul> </li> <li class="principal"> <a href="#">Productos</a> <ul> <li><a href="#">Nuevo Producto</a></li> <li><a href="#">Lista de Productos</a></li> </ul> </li> <li class="principal"> <a href="#">Facturas</a> <ul> <li><a href="#">Nuevo Factura</a></li> <li><a href="#">Facturas</a></li> </ul> </li> </ul> </nav>

Modificar tabla cliente

Vamos hacer una modificación a la tabla cliente, agregando nuevos campos.

1.- Vamos a phpMyAdmin / tabla cliente / Estructura de la tabla.

2.- En Agregar columna, le desimos agregar 3 después de direccion y pulsamos Continuar.

phpMyAdmin

3.- Nombre del campo fechaReg, de tipo DATETIME.
Para registrar la fecha y hora del sistema, nos valemos de la función NOW( ).

phpMyAdmin

4.- Nombre del campo idusuario, de tipo INT, en Índice seleccionamos INDEX.
Esto nos permite relacionarlo con el usuario que lo registro.

phpMyAdmin
phpMyAdmin

5.- Nombre del campo estatus, de tipo INT, en Predeterminado seleccionamos Personalizado: y que empiece con valor 1.

phpMyAdmin

6.- Pulsamos botón Guardar.

ALTER TABLE `cliente` ADD `fechaReg` DATETIME NOT NULL AFTER `direccion` ,
ADD `idusuario` INT NOT NULL AFTER `fechaReg` ,
ADD `estatus` INT NOT NULL DEFAULT '1' AFTER `idusuario`
TRABAJANDO