Quản lý tài khoản php
Xin chào tất cả các bạn, chào mừng các bạn đã quay trở lại với Freetuts trong series hướng dẫn xây dựng trang tin tức bằng PHP. Ở trong bài trước, chúng ta đã hoàn thiện các chức năng của bài viết, hôm nay mình sẽ hướng dẫn các bạn xây dựng các chức năng của quản lý tài khoản. Bắt tay vào việc thôi nào! Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. 1. Khái quátChức năng này dùng để quản lý tài khoản của các tác giả. Gồm có các chức năng sau:
Các bạn thắc mắc vì sao không có chức năng chỉnh sửa phải không? Theo mình các chức năng "nhạy cảm" như thế này thì khi nào tác giả quên mật khẩu, cứ liên hệ admin vào database mà lấy :v 2. Lưu ý và chỉnh sửaỞ trong bài 6, chúng ta đã tạo table Bài viết này được đăng tại [free tuts .net] Các bạn để ý bên phần sidebar mình thiếu mất một item của quản lý tài khoản, các bạn mở file
Tài khoản Reload lại các bạn sẽ được kết quả như thế này: Tiếp theo các bạn mở file else if ($tab == 'accounts') { echo ''; } Sau đó, các bạn mở file else if ($tab == 'accounts') { // Hiển thị template tài khoản require_once 'templates/accounts.php'; } Nếu load trang mà thấy lỗi thì đừng lo lắng nhé, do chúng ta chưa tạo file 3. Phân trang tài khoảnỞ trong chức năng này, ta sẽ có hai trang:
Các bạn tạo cho mình file Bạn không có đủ quyền để vào trang này. Tài khoản'; // Lấy tham số ac if (isset($_GET['ac'])) { $ac = trim(addslashes(htmlspecialchars($_GET['ac']))); } else { $ac = ''; } // Lấy tham số id if (isset($_GET['id'])) { $id = trim(addslashes(htmlspecialchars($_GET['id']))); } else { $id = ''; } // Nếu có tham số ac if ($ac != '') { // Trang thêm tài khoản if ($ac == 'add') { // Dãy nút của thêm tài khoản echo ' Trở về '; // Content thêm tài khoản } } // Ngược lại không có tham số ac // Trang danh sách tài khoản else { // Dãy nút của danh sách tài khoản echo ' Thêm Reload khoá Mở khoá Xoá '; // Content danh sách tài khoản } } } // Ngược lại chưa đăng nhập else { new Redirect($_DOMAIN); // Trở về trang index } ?>4. Thêm tài khoảnTruy cập đường dẫn http://domain.com/admin/accounts/add để bắt đầu làm nhé! Xây dựng templateMở file echo ''; Viết Ajax gửi dữ liệuCác bạn mở file // Thêm tài khoản $('#formAddAcc button').on('click', function() { $un_add_acc = $('#un_add_acc').val(); $pw_add_acc = $('#pw_add_acc').val(); $repw_add_acc = $('#repw_add_acc').val(); if ($un_add_acc == '' || $pw_add_acc == '' || $repw_add_acc == '') { $('#formAddAcc .alert').removeClass('hidden'); $('#formAddAcc .alert').html('Vui lòng điền đầy đủ thông tin.'); } else { $.ajax({ url : $_DOMAIN + 'accounts.php', type : 'POST', data : { un_add_acc: $un_add_acc, pw_add_acc : $pw_add_acc, repw_add_acc : $repw_add_acc, action : 'add_acc' }, success : function(data) { $('#formAddAcc .alert').html(data); }, error : function() { $('#formAddAcc .alert').removeClass('hidden'); $('#formAddAcc .alert').html('Đã có lỗi xảy ra, hãy thử lại.'); } }); } }); Viết PHP xử lý dữ liệuTạo cho mình file $("#formAddAcc .alert").removeClass("hidden");'; $hide_alert = ''; $success = ''; // Kiểm tra tên đăng nhập $sql_check_un_exist = "SELECT username FROM accounts WHERE username = '$un_add_acc'"; if ($un_add_acc == '' || $pw_add_acc == '' || $repw_add_acc == '') { echo $show_alert.'Vui lòng điền đầy đủ thông tin.'; } else if (strlen($un_add_acc) < 6 || strlen($un_add_acc) > 32) { echo $show_alert.'Tên đăng nhập nằm trong khoảng 6-32 ký tự.'; } else if (preg_match('/\W/', $un_add_acc)) { echo $show_alert.'Tên đăng nhập không chứa kí tự đậc biệt và khoảng trắng.'; } else if ($db->num_rows($sql_check_un_exist)) { echo $show_alert.'Tên đăng nhập đã tồn tại.'; } else if (strlen($pw_add_acc) < 6) { echo $show_alert.'Mật khẩu quá ngắn.'; } else if ($pw_add_acc != $repw_add_acc) { echo $show_alert.'Mật khẩu nhập lại không khớp.'; } else { $pw_add_acc = md5($pw_add_acc); $sql_add_acc = "INSERT INTO accounts VALUES ( '', '$un_add_acc', '$pw_add_acc', '', '', '0', '0', '$date_current', '', '', '', '', '', '' )"; $db->query($sql_add_acc); $db->close(); echo $show_alert.$success.'Thêm tài khoản thành công.'; new Redirect($_DOMAIN.'accounts'); // Trở về trang danh sách tài khoản } } // Mở tài khoản // Khoá tài khoản // Xoá tài khoản } else { new Redirect($_DOMAIN); // Trở về trang index } } else { new Redirect($_DOMAIN); // Trở về trang index } 5. Danh sách tài khoảnCác bạn mở file $sql_get_list_acc = "SELECT * FROM accounts WHERE position = '1' ORDER BY id_acc DESC"; // Nếu có tài khoản if ($db->num_rows($sql_get_list_acc)) { echo ' Giờ các bạn chạy lại xem thành quả nhé! 6. Lời kếtỞ bài này chúng ta đã viết xong chức năng thêm tài khoản và hiển thị danh sách của chúng. Ở bài sau, chúng ta đã hoàn thành nốt các chức năng còn lại của tài khoản. Nếu các bạn có thắc mắc gì hãy comment bên dưới hoặc đăng bên trên group kèm link bài viết để được hỗ trợ nhanh nhất. Cảm ơn các bạn đã theo dõi, chúc các bạn thành công! |