WEB TIN TỨC PHP CĂN BẢN
Bài 1: PHP trang tin tức - Tạo database và cấu trúc folder admin Bài 2: PHP trang tin tức - Viết thư viện xử lý database admin Bài 3: PHP trang tin tức - Viết thư viện session và functions admin Bài 4: PHP trang tin tức - Kết nối database và cấu trúc index admin Bài 5: PHP trang tin tức - Xây dựng header và footer admin Bài 6: PHP trang tin tức - Tạo chức năng đăng nhập, đăng xuất admin Bài 7: PHP trang tin tức - Xây dựng sidebar, content và phân trang admin Bài 8: PHP trang tin tức - Các chức năng chuyên mục admin Bài 9: PHP trang tin tức - Các chức năng chuyên mục admin (tiếp theo) Bài 10: PHP trang tin tức - Các chức năng của hình ảnh admin Bài 11: PHP trang tin tức - Các chức năng của hình ảnh admin (tiếp theo) Bài 12: PHP trang tin tức - Các chức năng của bài viết admin Bài 13: PHP trang tin tức - Các chức năng của bài viết admin (tiếp theo) Bài 14: PHP trang tin tức - Các chức năng cài đặt admin Bài 15: PHP trang tin tức - Các chức năng của tài khoản admin Bài 16: PHP trang tin tức - Các chức năng của tài khoản admin (tiếp theo) Bài 17: PHP trang tin tức - Các chức năng của profile admin Bài 18: PHP trang tin tức - Các chức năng của profile admin (tiếp theo) Bài 19: PHP trang tin tức - Xây dựng dashboard admin và fix bug Bài 20: PHP trang tin tức - Cấu trúc folder client Bài 21: PHP trang tin tức - Kết nối database và rewrite url Bài 22: PHP trang tin tức - Xây dựng header và footer client Bài 23: PHP trang tin tức - Xây dựng layout client Bài 24: PHP trang tin tức - Hiển thị danh sách bài viết mới nhất Bài 25: PHP trang tin tức - Hiển thị danh sách bài viết chuyên mục Bài 26: PHP trang tin tức - Hiển thị nội dung bài viết Bài 27: PHP trang tin tức - Xây dựng chức năng tìm kiếm Bài 28: PHP trang tin tức - Xây dựng các trang con và clear source (End)
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Bài 16: PHP trang tin tức - Các chức năng của tài khoản admin (tiếp theo)

Xin chào tất cả các bạn, chào mừng các bạn đã quay trở lại với series hướng dẫn xây dựng trang tin tức PHP. Ở trong bài trước, chúng ta đã khái quát và xây dựng một vài chức năng của tài khoản, hôm nay mình sẽ hướng dẫn các bạn viết tiếp các chức năng còn lại nhé! Bây giờ chúng ta bắt tay vào làm ngay thôi.

1.  Cập nhật nội dung bài học trước

Trước khi vào bài, mình lưu ý có một số update trong bài 15 vào ngày 6/7/2017. Các bạn hãy quay lại và update lại source code, bạn nào mà theo dõi sau ngày 6/7/2017 thì có thể bỏ qua.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nội dung update:

  • Phần 3 dòng 68: Lỗi id lock_acc_list trong dãy nút của danh sách tài khoản (sửa thành unlock_acc_list)
  • Phần 5 dòng 26: Lỗi class warming trong label trạng thái của bảng danh sách (sửa thành warning
  • Phần 5 dòng 37, 40, 43: Thêm các class vào các thẻ a của dãy nút danh sách (.lock-acc-list, .unlock-acc-list, .del-acc-list

Các bạn có thể sửa ngay trực tiếp trên source của bạn bạn.

Ok! Bây giờ chúng ta bắt đầu đi vào bài học hôm nay.

2. Khoá tài khoản

Tất cả các chức năng dưới đây đều chia làm hai loại: thao tác cùng lúc với nhiều tài khoản hoặc thao tác với một tài khoản chỉ định.

Khoá nhiều tài khoản cùng lúc

Viết Ajax gửi dữ liệu

Các bạn mở file admin/js/form.js lên và copy đoạn code này:

// Khoá nhiều tài khoản cùng lúc
$('#lock_acc_list').on('click', function() {
	$confirm = confirm('Bạn có chắc chắn muốn khoá các tài khoản đã chọn không?');
	if ($confirm == true)
	{
		$id_acc = [];

		$('#list_acc input[type="checkbox"]:checkbox:checked').each(function(i) {
			$id_acc[i] = $(this).val();
		});

		if ($id_acc.length === 0)
		{
			alert('Vui lòng chọn ít nhất một tài khoản.');
		}
		else
		{
			$.ajax({
				url : $_DOMAIN + 'accounts.php',
				type : 'POST',
				data : {
					id_acc : $id_acc,
					action : 'lock_acc_list'
				},
				success : function(data) {
					location.reload();
				}, error : function() {
					alert('Đã có lỗi xảy ra, hãy thử lại.');
				}
			});
		}
	}
	else
	{
		return false;
	}
});

Viết PHP xử lý dữ liệu

Mở file admin/accounts.php và chèn đoạn code này bên dưới dòng // Khoá tài khoản:

// Khoá nhiều tài khoản cùng lúc		
else if ($action == 'lock_acc_list')
{
	foreach ($_POST['id_acc'] as $key => $id_acc)
	{
		$sql_check_id_acc_exist = "SELECT id_acc FROM accounts WHERE id_acc = '$id_acc'";
		if ($db->num_rows($sql_check_id_acc_exist))
		{
			$sql_lock_acc = "UPDATE accounts SET status = '1' WHERE id_acc = '$id_acc'";
			$db->query($sql_lock_acc);
		}
	}	
	$db->close();
}

Khoá tài khoản chỉ định

Viết Ajax gửi dữ liệu

Các bạn mở file admin/js/form.js lên và copy đoạn code này:

// Khoá tài khoản chỉ định trong bảng danh sách
$('.lock-acc-list').on('click', function() {
	$confirm = confirm('Bạn có chắc chắn muốn khoá tài khoản này không?');
	if ($confirm == true)
	{
		$id_acc = $(this).attr('data-id');

		$.ajax({
			url : $_DOMAIN + 'accounts.php',
			type : 'POST',
			data : {
				id_acc : $id_acc,
				action : 'lock_acc'
			},
			success : function() {
				location.reload();
			}
		});
	}
	else
	{
		return false;
	}
});

Viết PHP xử lý dữ liệu

Mở file admin/accounts.php và chèn đoạn code này bên dưới code xử lý khoá tài khoản:

// Khoá 1 tài khoản
else if ($action == 'lock_acc')
{		
	$id_acc = trim(htmlspecialchars(addslashes($_POST['id_acc'])));
	$sql_check_id_acc_exist = "SELECT id_acc FROM accounts WHERE id_acc = '$id_acc'";
	if ($db->num_rows($sql_check_id_acc_exist))
	{
		$sql_lock_acc = "UPDATE accounts SET status = '1' WHERE id_acc = '$id_acc'";
		$db->query($sql_lock_acc);
		$db->close();
	}		
}

3. Mở khoá tài khoản

Chức năng này cũng tương tự như phần trên, các bạn cũng có thể tự code rồi quay lại đây xem kết quả :v

Mở khoá nhiều tài khoản cùng lúc

Viết Ajax gửi dữ liệu

Các bạn mở file admin/js/form.js lên và copy đoạn code này:

// Mở khoá nhiều tài khoản cùng lúc
$('#unlock_acc_list').on('click', function() {
	$confirm = confirm('Bạn có chắc chắn muốn mở khoá các tài khoản đã chọn không?');
	if ($confirm == true)
	{
		$id_acc = [];

		$('#list_acc input[type="checkbox"]:checkbox:checked').each(function(i) {
			$id_acc[i] = $(this).val();
		});

		if ($id_acc.length === 0)
		{
			alert('Vui lòng chọn ít nhất một tài khoản.');
		}
		else
		{
			$.ajax({
				url : $_DOMAIN + 'accounts.php',
				type : 'POST',
				data : {
					id_acc : $id_acc,
					action : 'unlock_acc_list'
				},
				success : function(data) {
					location.reload();
				}, error : function() {
					alert('Đã có lỗi xảy ra, hãy thử lại.');
				}
			});
		}
	}
	else
	{
		return false;
	}
});

Viết PHP xử lý dữ liệu

Mở file admin/accounts.php và chèn đoạn code này bên dưới dòng // Mở khoá tài khoản:

// Mở khoá nhiều tài khoản cùng lúc		
else if ($action == 'unlock_acc_list')
{
	foreach ($_POST['id_acc'] as $key => $id_acc)
	{
		$sql_check_id_acc_exist = "SELECT id_acc FROM accounts WHERE id_acc = '$id_acc'";
		if ($db->num_rows($sql_check_id_acc_exist))
		{
			$sql_unlock_acc = "UPDATE accounts SET status = '0' WHERE id_acc = '$id_acc'";
			$db->query($sql_unlock_acc);
		}
	}	
	$db->close();
}

Mở khoá tài khoản chỉ định

Viết Ajax gửi dữ liệu

Các bạn mở file admin/js/form.js lên và copy đoạn code này:

// Mở tài khoản chỉ định trong bảng danh sách
$('.unlock-acc-list').on('click', function() {
	$confirm = confirm('Bạn có chắc chắn muốn mở khoá tài khoản này không?');
	if ($confirm == true)
	{
		$id_acc = $(this).attr('data-id');

		$.ajax({
			url : $_DOMAIN + 'accounts.php',
			type : 'POST',
			data : {
				id_acc : $id_acc,
				action : 'unlock_acc'
			},
			success : function() {
				location.reload();
			}
		});
	}
	else
	{
		return false;
	}
});

Viết PHP xử lý dữ liệu

Mở file admin/accounts.php và chèn đoạn code này bên dưới code xử lý mở khoá tài khoản:

// Mở khoá 1 tài khoản
else if ($action == 'unlock_acc')
{		
	$id_acc = trim(htmlspecialchars(addslashes($_POST['id_acc'])));
	$sql_check_id_acc_exist = "SELECT id_acc FROM accounts WHERE id_acc = '$id_acc'";
	if ($db->num_rows($sql_check_id_acc_exist))
	{
		$sql_unlock_acc = "UPDATE accounts SET status = '0' WHERE id_acc = '$id_acc'";
		$db->query($sql_unlock_acc);
		$db->close();
	}		
}

4. Xoá tài khoản

Cũng như chức năng xoá ở trong các bài trước. Chức năng xoá này cũng chia làm 2 loại, cấu trúc của nó cũng giống như hai phần trên nên các bạn cũng có thể tự viết.

Xoá nhiều tài khoản cùng lúc

Viết Ajax gửi dữ liệu

Các bạn mở file admin/js/form.js lên và copy đoạn code này:

// Xoá nhiều tài khoản cùng lúc
$('#del_acc_list').on('click', function() {
	$confirm = confirm('Bạn có chắc chắn muốn xoá các tài khoản đã chọn không?');
	if ($confirm == true)
	{
		$id_acc = [];

		$('#list_acc input[type="checkbox"]:checkbox:checked').each(function(i) {
			$id_acc[i] = $(this).val();
		});

		if ($id_acc.length === 0)
		{
			alert('Vui lòng chọn ít nhất một tài khoản.');
		}
		else
		{
			$.ajax({
				url : $_DOMAIN + 'accounts.php',
				type : 'POST',
				data : {
					id_acc : $id_acc,
					action : 'del_acc_list'
				},
				success : function(data) {
					location.reload();
				}, error : function() {
					alert('Đã có lỗi xảy ra, hãy thử lại.');
				}
			});
		}
	}
	else
	{
		return false;
	}
});

Viết PHP xử lý dữ liệu

Mở file admin/accounts.php và chèn đoạn code này bên dưới dòng // Xoá tài khoản:

// Xoá nhiều tài khoản cùng lúc		
else if ($action == 'del_acc_list')
{
	foreach ($_POST['id_acc'] as $key => $id_acc)
	{
		$sql_check_id_acc_exist = "SELECT id_acc FROM accounts WHERE id_acc = '$id_acc'";
		if ($db->num_rows($sql_check_id_acc_exist))
		{
			$sql_del_acc = "DELETE FROM accounts WHERE id_acc = '$id_acc'";
			$db->query($sql_del_acc);
		}
	}	
	$db->close();
}

Xoá tài khoản chỉ định

Viết Ajax gửi dữ liệu

Các bạn mở file admin/js/form.js lên và copy đoạn code này:

// Xoá tài khoản chỉ định trong bảng danh sách
$('.del-acc-list').on('click', function() {
	$confirm = confirm('Bạn có chắc chắn muốn xoá tài khoản này không?');
	if ($confirm == true)
	{
		$id_acc = $(this).attr('data-id');

		$.ajax({
			url : $_DOMAIN + 'accounts.php',
			type : 'POST',
			data : {
				id_acc : $id_acc,
				action : 'del_acc'
			},
			success : function() {
				location.reload();
			}
		});
	}
	else
	{
		return false;
	}
});

Viết PHP xử lý dữ liệu

Mở file admin/accounts.php và chèn đoạn code này bên dưới code xử lý xoá tài khoản:

// Xoá 1 tài khoản
else if ($action == 'del_acc')
{		
	$id_acc = trim(htmlspecialchars(addslashes($_POST['id_acc'])));
	$sql_check_id_acc_exist = "SELECT id_acc FROM accounts WHERE id_acc = '$id_acc'";
	if ($db->num_rows($sql_check_id_acc_exist))
	{
		$sql_del_acc = "DELETE FROM accounts WHERE id_acc = '$id_acc'";
		$db->query($sql_del_acc);
		$db->close();
	}		
}	
Giờ các bạn chạy thử xem thành quả nhé!

5. Lời kết

Các chức năng trên đây tương tự nhau nên các bạn có thể tự xây dựng được mà không cần nhìn vào source code, qua bài sau mình sẽ hướng dẫn các bạn xây dựng chức năng hồ sơ admin cho ứng dụng. Nếu các bạn có thắc mắc gì hãy comment bên dưới hoặc đăng bài 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!

Cùng chuyên mục:

Hàm key_exists() trong PHP

Hàm key_exists() trong PHP

Cách sử dụng key_exists() trong PHP

Hàm mysqli_fetch_row() trong PHP

Hàm mysqli_fetch_row() trong PHP

Cách sử dụng mysqli_fetch_row() trong PHP

Hàm end() trong PHP

Hàm end() trong PHP

Cách sử dụng end() trong PHP

Hàm mysqli_field_count() trong PHP

Hàm mysqli_field_count() trong PHP

Cách sử dụng mysqli_field_count() trong PHP

Hàm count() trong PHP

Hàm count() trong PHP

Cách sử dụng count() trong PHP

Hàm mysqli_field_seek() trong PHP

Hàm mysqli_field_seek() trong PHP

Cách sử dụng mysqli_field_seek() trong PHP

Hàm compact() trong PHP

Hàm compact() trong PHP

Cách sử dụng compact() trong PHP

Hàm mysqli_field_tell() trong PHP

Hàm mysqli_field_tell() trong PHP

Cách sử dụng mysqli_field_tell() trong PHP

Hàm array_values() trong PHP

Hàm array_values() trong PHP

Cách sử dụng array_values() trong PHP

Hàm mysqli_free_result() trong PHP

Hàm mysqli_free_result() trong PHP

Cách sử dụng mysqli_free_result() trong PHP

Hàm array_unshift() trong PHP

Hàm array_unshift() trong PHP

Cách sử dụng array_unshift() trong PHP

Hàm mysqli_get_charset() trong PHP

Hàm mysqli_get_charset() trong PHP

Cách sử dụng mysqli_get_charset() trong PHP

Hàm array_shift() trong PHP

Hàm array_shift() trong PHP

Cách sử dụng array_shift() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Hàm mysqli_get_client_stats() trong PHP

Cách sử dụng mysqli_get_client_stats() trong PHP

Hàm array_unique() trong PHP

Hàm array_unique() trong PHP

Cách sử dụng array_unique() trong PHP

Hàm mysqli_get_client_version() trong PHP

Hàm mysqli_get_client_version() trong PHP

Cách sử dụng mysqli_get_client_version() trong PHP

Hàm array_uintesect() trong PHP

Hàm array_uintesect() trong PHP

Cách sử dụng array_uintesect() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Hàm mysqli_get_connection_stats() trong PHP

Cách sử dụng mysqli_get_connection_stats() trong PHP

Hàm array_sum() trong PHP

Hàm array_sum() trong PHP

Cách sử dụng array_sum() trong PHP

Hàm mysqli_get_host_info() trong PHP

Hàm mysqli_get_host_info() trong PHP

Cách sử dụng mysqli_get_host_info() trong PHP

Top