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


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áckiể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.
<?php sessison_start(); if(isset($_SESSION['userid']) && $_SESSION['level'] == 2) { // tại đây thực thi các hoạt động khi đăng nhập thành công. } else { header("location: login.php"); exit(); } ?>
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.
<table align=center width=400 border=1>
<tr> <td>STT</td> <td>Username</td> <td>Level</td> <td>Edit</td> <td>Del</td> </tr>
Tiếp theo, chúng ta sẽ kết nối CSDL để tiến hành lặp các user.
<?php $conn=mysql_connect("localhost","root","root") or die("can't connect this database"); mysql_select_db("project",$conn); $sql="select * from user order by id DESC"; $query=mysql_query($sql); if(mysql_num_rows($query) == "") { echo "<tr><td colspan=5 align=center>Chua co username nao</td></tr>"; } ?>
Đ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:

<?php $stt=0; while($row=mysql_fetch_array($query)) { $stt++; echo "<tr>"; echo "<td>$stt</td>"; echo "<td>$row[username]</td>"; if($row[level] == "1") { echo "<td>Member</td>"; } else { echo "<td>Admin</td>"; } 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>"; echo "</tr>"; ?>
Ở đâ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.
1-7-2011_1-02-48_PM
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.

<?php sesison_start(); if(isset($_SESSION['userid']) && $_SESSION['level'] == 2) { ?> <table align=center width=400 border=1> <tr> <td>STT</td> <td>Username</td> <td>Level</td> <td>Edit</td> <td>Del</td> </tr> <? $conn=mysql_connect("localhost","root","root") or die("can't connect this database"); mysql_select_db("project",$conn); $sql="select * from user order by id DESC"; $query=mysql_query($sql); if(mysql_num_rows($query) == "") { echo "<tr><td colspan=5 align=center>Chua co username nao</td></tr>"; } else { $stt=0; while($row=mysql_fetch_array($query)) { $stt++; echo "<tr>"; echo "<td>$stt</td>"; echo "<td>$row[username]</td>"; if($row[level] == "1") { echo "<td>Member</td>"; } else { echo "<td>Admin</td>"; } 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>"; echo "</tr>"; } } ?> </table>

0 nhận xét:

Đăng nhận xét