JezK
Edit File: usermanagement.php
<?php include "sidemenu-start.php" ?> <div class="container-fluid"> <div class="row"> <div class="col-lg-4"> <h1>User Management</h1> </div> <div class="col-lg-8 text-end"> <button type="button" data-bs-toggle="modal" data-bs-target="#addUser" class="de-btn-small text-uppercase">Add New User</button> </div> </div> <!-- <div class="row mt-3"> <div class="col-md-6 offset-md-6"> <form class="d-flex justify-content-end"> <div class="form"> <i class="fa fa-search"></i> <input type="text" class="form-control form-input" placeholder="Search"> </div> </form> </div> </div> --> <div class="row mt-3"> <div class="col-md-12"> <table class="table" id="usersTable"> <thead> <tr> <th class="text-center">S.no</th> <th class="text-center">Username</th> <th class="text-center">Email Id</th> <th class="text-center">User Id</th> <!-- <th class="text-center">Points</th> --> <th>Phone Number</th> <th>Actions</th> </tr> </thead> <tbody> <!-- Table content goes here --> </tbody> </table> </div> </div> </div> <!-- Modal --> <div class="modal fade" id="addUser" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content de-modal-content"> <form id="newUser"> <div class="modal-header de-mh"> <h5 class="modal-title" id="exampleModalLabel">Add New User</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <div class="mb-0"> <label for="name" class="form-label">Name</label> <input type="text" class="form-control" name="name" id="name"> <p class="error name_error"></p> </div> <div class="mb-0"> <label for="phone" class="form-label">Phone Number</label> <input type="number" class="form-control" name="mobile" id="mobile"> <p class="error mobile_error"></p> </div> <div class="mb-0"> <label for="email" class="form-label">Email Address</label> <input type="email" class="form-control" name="email" id="email"> <p class="error email_error"></p> </div> <div class="mb-3 position-relative"> <label for="password" class="form-label">Password</label> <input type="text" class="form-control" onfocus="passwordGenerator()" name="password" id="password"> <span class="toggle-icon"><i class="fa fa-eye"></i></span> <p class="error password_error"></p> </div> <div class="mb-0"> <label for="address" class="form-label">Address</label> <textarea class="form-control" id="address" name="address" rows="2"></textarea> <p class="error address_error"></p> </div> </div> <div class="d-flex justify-content-center"> <button type="submit" class="de-btn-small" name="submit" onclick="return validateNewUser()">ADD</button> </div> </form> </div> </div> </div> <!-- Delete Modal --> <div class="modal fade" id="deleteModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content de-modal-content"> <div class="modal-header de-mh"> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <h1 class="modal-title text-center" id="exampleModalLabel">Do You want to Delete?</h1> </div> <div class="modal-footer"> <button type="button" class="de-btn-small yes" name="submit" onclick="deleteUser(this.value)">Yes</button> <button type="button" class="close-btn" data-bs-dismiss="modal">Close</button> </div> </div> </div> </div> <?php include "sidemenu-end.php"; ?> <script> let baseUrl = "<?php echo $baseUrl; ?>"; let datatable; $(document).ready(function() { datatable = $('#usersTable').DataTable({ "processing": true, //Feature control the processing indicator. "serverSide": true, //Feature control DataTables' servermside processing mode. //"order": [], //Initial no order. "searching": true, "iDisplayLength": 10, "orderable": false, "ajax": { "url": baseUrl + 'admin/app/getUsers.php', "type": "POST", "dataType": "json", "dataSrc": function(jsonData) { return jsonData.data; } }, "language": { searchPlaceholder: "Search", "search": '<div class="form"><i class="fa fa-search"></i></div>', "paginate": { "previous": '<i class="angles fa fa-angle-left"></i>', "next": '<i class="angles fa fa-angle-right"></i>' } } }); }); </script> <script> function passwordGenerator() { let password = $('#password').val(); if (password == "") { let name = $('#name').val(); let mobile = $('#mobile').val(); let usernamePrefix; let firstLetter; let secondLetter; let phoneNumberSuffix; if (name.length < 4) { firstLetter = name.charAt(0).toUpperCase(); secondLetter = name.charAt(1).toLowerCase(); phoneNumberSuffix = mobile.substring(mobile.length - 5); password = firstLetter + secondLetter + name.substring(2) + "@" + phoneNumberSuffix; } else { usernamePrefix = name.substring(0, 4); firstLetter = usernamePrefix.charAt(0).toUpperCase(); secondLetter = usernamePrefix.charAt(1).toLowerCase(); phoneNumberSuffix = mobile.substring(mobile.length - 4); password = firstLetter + secondLetter + usernamePrefix.substring(2) + "@" + phoneNumberSuffix; } $('#password').val(password); return password; } } $('#newUser').submit(function(event) { event.preventDefault(); formData = $('#newUser').serialize(); $.ajax({ type: 'POST', url: baseUrl + 'admin/app/addNewUser.php', data: formData, success: function(data) { if (data == 1) { toastr.success('User added successfully'); datatable.draw(); } else { toastr.warning('User Exists'); } $('#addUser').modal('toggle') document.getElementById("newUser").reset(); } }) }) function getUserId(id) { $('.yes').val(id); } function deleteUser(id) { $.ajax({ url: baseUrl + 'admin/app/deleteUser.php', type: 'POST', data: { deleteStatus: 'yes', id: id }, success: function(response) { if (response == 1) { $('#deleteModal').modal('toggle'); datatable.draw(); toastr.success('User Deleted'); } else { $('#deleteModal').modal('toggle'); toastr.error('Unable to delete'); } } }) } </script>