Đào Tạo PHP & Mysql

Học PHP Online - PHP Framework - Tự Học PHP

Lập Trình PHP Căn Bản

Bài 13: Viết ứng dụng quản lý thành viên bằng PHP và MYSQL

Ở các bài trước, chúng ta đã cùng tìm hiểu về việc thêm một thành viên thiết lập trang đăng nhập vào hệ thống administrator. Ở bài này, chúng ta sẽ cùng nghiên cứu về ứng dụng quản trị các tài khoản. Hay nói cách khác là hệ thống lại toàn bộ danh sách của những thành viên trên website của chúng ta.


Sau khi đăng nhập vào trang admin người dùng sẽ được đẩy sang trang quản lý admin, tại đây chỉ những ai đã đăng nhập đúng với username và password trong cơ sở dữ liệu và có quyền hạn level là 2 thì mới có thể truy xuất vào trang này. Vì vậy chúng ta cần thao tác kiểm tra session để quản lý phiên làm việc của người sử dụng. Đặt đoạn code sau ở những trang bạn muốn kiểm tra quyền truy cập của người sử dụng.

Như vậy, chúng ta sẽ đặt đoạn code này ở trang quản lý user. Cụ thể tôi đặt trang này có tên file là manage_user.php. Vì dữ liệu sẽ lặp lại toàn bộ user và ứng với từng user sẽ là 1 dòng dữ liệu được lặp lại. Chúng ta sẽ xây dựng 1 bảng gồm có STT là số thứ tự của từng user được đếm trên mỗi user khi lặp, username là tên truy cập của họ, level là cấp bậc của user (1 là member và 2 là admin), edit là cột chứa các link chỉnh sửa user, del là cột xóa các user.

Tiếp theo, chúng ta sẽ kết nối CSDL để tiến hành lặp các user.

Đoạn code ở trên tiến hành lựa chọn tất cả user có trong database. Đồng thời kiểm tra xem trong database có tồn tại user nào không. Nếu không sẽ xuất ra thông báo "chưa có username nào". Ngược lại khi có tồn tại user chúng ta sẽ xử lý tiếp như sau:

Ở đây ta dùng biến $stt để làm bộ đếm cho số lượng user. Như vậy, cứ mỗi lần lặp 1 user thì bộ đếm này sẽ tự động tăng lên 1 đơn vị. Sau đó, chúng ta đưa dữ liệu vào mảng và truyền các giá trị trên vào các cột dữ liệu trong bảng.


Bài 13: Viết ứng dụng quản lý thành viên bằng PHP & MYSQL

Tới đây ta đã kết thúc thao tác quản lý các user đang tồn tại trong cơ sở dữ liệu. Sau đây là toàn bộ code trong ứng dụng này.

Ở bài sau, chúng ta lại tiếp tục tìm hiểu ứng dụng chỉnh sửa và xóa một thành viên trong PHP và MYSQL như thế nào. Mọi sự góp ý, cũng như thắc mắc của các bạn dành cho bài viết vui lòng sử dụng tính năng thảo luận tại diễn đàn. Hoặc thông qua việc liên hệ của hệ thống website. Mong sẽ nhận được nhiều ý kiến đóng góp từ các bạn.


(Bùi Quốc Huy)
42215
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.

Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này

Phản hồi của bạn Tiếng Anh Telex VNI VIQR





TrangNguyen (11:38 11/05/2010)

Em cũng copy và paste như code trên, chỉnh sửa session ở đầu và thêm dấu } ở cuối thì chương trình chạy được nhưng không thấy hiển thị bảng quản lý thành viên đâu. Không biết sai chỗ nào. Mong admin chỉ cho em với!!!

Reply

nguyễn huy hoàng (14:23 15/05/2010)

Sao em sử dụng code ở trên mà nó lại báo lỗi :"Parse error: syntax error, unexpected $end in D:xampphtdocsdel_user.php on line 49".Thầy chỉ giùm e với!

Reply

minh (17:03 19/05/2010)

<?
$sql="select * from tbl_user";
$query=mysql_query($sql);
$num=@mysql_num_rows($query);
echo $num;

?>
đếm thành viên nè

Reply

Trần Tiến Đề (00:23 20/05/2010)

Cảm ơn bài viết này của Anh rất nhiều . Em đang làm báo cáo môn php Đề Tài QLSV , em dựa nhiều vào bài viết này . Thanks

Reply

trung (01:29 04/06/2010)

em có đang vướng bận như thế này em có
1 bảng trong csdl gồm có 1 cột loại thuê bao: thuê bao trả trước(tbtt), thuê bao trả sau(tbts) em tạo list box để load đươc 2 loai thuê bao nay rùi mà mỗi loại thuê bao này lại có nhiêu dịch vu khách nhau vd: tbtt co dịch vụ Mobi4U, Mobifriends.., tbts có dịch vụ Mobicard, G9-G6....
em muốn khi select vô listbox chứa mã thuê bao thì ở listbox thứ 2 sẽ hiên ra nhưng dịch vụ riêng của loại thuê bao đó
có thể vấn đề nay chưa đúng với đề tài dang binh luận nhưng vì thắc mắc quá không biêt hỏi ai mong thầy giúp cho
thầy giải đáp gửi vo mail giùm em để em tiện theo dõi cảm ơn thầy nhiều

Reply

lê quốc hùng (06:45 27/06/2010)

sao code này em gõ nó báo sai hàng 45 46 47 zậy thầy ơi

Reply

Load (02:38 29/09/2010)

Code bài chạy đc bài không chạy được, mà chạy được thì toàn chạy linh tinh, mà hầu như là không chạy được.

Reply

linh lưu (13:56 01/01/2011)

lúc trước mình cũng hay copy paste nên chẳng đc gì nhiều,nếu các bạn hiểu và tự code thì sẽ không có lỗi mà có lỗi thì sẽ sửa được

Reply

bankimo (22:12 09/01/2011)

bài này tui rất cần nhưng chưa hiểu đc rỏ Admin có thể hướng dẩn chi tiết chứ tình hình là ko chạy đc rùi

Reply

Thảo solokoko (15:14 25/01/2011)

Mình cũng đang học php, rất vui khi biết được trang web này , code bài này mình đã chạy được rồi và mình cũng muốn chia sẻ với các bạn.

-tên database là demo_mysql, tên bảng là taikhoan(username, password, level) , mình dùng WampServer->phpMyAdmin để tạo csdl

-Mình viết code bằng php Designer 7

-Các bạn phải lưu file .php trong thư mục localhost thì mới chạy được nhé, ví dụ như mình dùng wampserver đường dẫn lưu file của mình là: C:wampwwwaitap, (baitap là folder mình tự tạo), chạy trên trình duyệt các bạn để url là http://localhost/baitap/login.php

1. Trang login.php

<?php
session_start();
if(isset($_POST['ok']))
{
if($_POST['username']==NULL)
{echo("vui long nhap username");}
else
{$u=$_POST['username'];}
if($_POST['password']==NULL)
{echo("vui long nhap password");}
else
{$p=$_POST['password'];}
if($u

Reply

Songoku (14:58 04/04/2011)

Em bị cùng lỗi bạn nguyễn huy hoàng

Reply

ha (04:10 06/05/2011)

-- --------------------------------------------------------

--
-- Table structure for table `class`
--

CREATE TABLE `class` (
`classid` int(11) NOT NULL auto_increment,
`name` text,
PRIMARY KEY (`classid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

--
-- Dumping data for table `class`
--

INSERT INTO `class` VALUES (1, 'DH07DTH');
INSERT INTO `class` VALUES (2, 'DH07DTM');
INSERT INTO `class` VALUES (3, 'DH06DTA');
INSERT INTO `class` VALUES (4, 'DH06DTB');

-- --------------------------------------------------------

--
-- Table structure for table `student`
--

CREATE TABLE `student` (
`id` varchar(8) NOT NULL,
`name` text NOT NULL,
`class` text,
`grade` float default NULL,
`email` text,
`birthday` date default NULL,
`url` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Dumping data for table `student`
--

INSERT INTO `student` VALUES ('07130108', 'Nguyen Hoang Son', '4', 10, '07130108@st.hcmuaf.edu.vn', '2011-05-18', 'upload/21-1.jpg');
INSERT INTO `student` VALUES ('07130019', 'Che Thi Ngoc Duyen', '1', 9, '07130019@st.hcmuaf.edu.vn', '2011-05-03', 'upload/18.jpg');
INSERT INTO `student` VALUES ('07130147', 'Nguyen Thuy Vy', '3', 9, '07130147@st.hcmuaf.edu.vn', '2011-05-17', 'upload/27.jpg');

Reply

Hoàng Đình Thành (12:43 10/06/2011)

Những bài viết hay và bổ ích quá.
Cảm ơn những tác giả nhé

Reply

bui quang tan (13:29 21/06/2011)

admin cho em hoi cai doan

echo "<td><a href=edit_user.php?userid=$row[id]>Edit</a></td>";
echo "<td><a href=del_user.php?userid=$row[id]>Del</a></td>";
co phai lien ket duong dan toi file edit_user.php
the con doan. sau :?userid=$row[id] co nghia la gi vay admin help me !!!

Reply

nguyen manh hung (15:30 29/12/2011)

cai do dung de sau nay bat ID cua user do ban

thuận (19:33 14/08/2011)

các bác oi!không có file edit_user.php và file del_user.php thì làm sao mà sủa với xóa ạ.

Reply

Nguyễn Năng Trưởng (17:49 21/09/2011)

Code hòan chỉnh:
<?php session_start();//Khởi động session?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<?php
//Kiểm tra xem đã tồn tại 2 biến session dưới ko
if(isset($_SESSION['userid'])

Reply

huy (08:20 23/11/2011)

echo "<td><a href=edit_user.php?userid=$row[id]>Edit</a></td>";
Xin cho mình hỏi dấu
? chỗ userid=$row[id]
nó có ý nghĩa gì vậy

Reply

Mr Hard Rock (14:14 17/12/2011)

echo "<td><a href=edit_user.php?user[id]=$row[id]>Edit</a></td>";
Dấu hỏi này là quy cách của php thôi, tức nếu nhấp vào link Edit thì sẽ được chuyển sang trang edit_user.php đồng thời bên trang edit_user.php sẽ request được biến $row[id] bằng cách gán $id = $_request["$row[id]"] rồi dùng biến $id này cho thủ tục xóa bằng câu lệnh sql bên trang edit_user.php

danebuidoi (19:32 18/12/2011)

hay,dể hiểu.....

Reply

PHP MYSQL Online - Hoc PHP - Dao Tao PHP - Học PHP - CakePHP Framework - Lap Trinh PHP Can Ban - Lap Trinh PHP Nang Cao - PHP Framework - Tài liệu,Thư viện
Copyright 2007-2010 © QHOnline.Info | Powered By QHOnline Version 2.0 - XHTML Valid