Các bản tin khác
- Bài 12: Viết ứng dụng thêm thành viên bằng PHP và MYSQL
- Bài 11: Viết ứng dụng đăng nhập bằng PHP và MYSQL
- Bài 10: Kết hợp PHP và MYSQL trong ứng dụng website
- Bài 9: Cơ bản về ngôn ngữ SQL và Mysql
- Bài 8: Khái niệm về hàm và gọi lại hàm trong PHP
- Bài 7: Khái niệm cơ bản về Cookie và session trong PHP
- Bài 6: Tổng quan về mảng và các hàm hỗ trợ trong PHP
- Bài 5: Tìm hiểu quy trình làm việc trên file trong PHP
- Bài 4: Xử lý giá trị form trong PHP
- Bài 3: Toán tử và biểu thức trong 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 và 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.
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
PHP Framework những điều nên và không nên
Khái quát về PHP Framework
Học PHP như thế nào khi bạn chưa biết lập trình?
Tự học lập trình PHP dễ hay khó ?
Web 2.0 - Khái niệm và bản chất của chúng như thế nào ?



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 . ThanksReply
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 ơiReply
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 đượcReply
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ùiReply
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àngReply
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 doanecho "<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 banthuậ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