PHP Online

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.

<?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.


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.

<?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>

Ở 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)
111009
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

Ý kiến cho bài viết này.