Viet' Library

Hơn tất cả những gì bạn có!

[Lập Trình PHP] Bài 12: Viết ứng dụng thêm thành viên bằng PHP và MYSQL

Ở bài trước, chúng ta đã xây dựng ứng dụng thành viên. Cho phép người sử dụng thực thi công việc đăng nhập vào hệ thống. Trong bài này chúng ta sẽ tiếp tục công việc phát triển ứng dụng trên, để người sử dụng sau khi đăng nhập có những thao tác đặc quyền như thêm, quản lý, sửa, xoá thành viên của trang web. (xem lại Bài 11: Viết ứng dụng đăng nhập bằng PHP & 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á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.

01 <?php
02 session_start();
03 if(isset($_SESSION['userid']) && $_SESSION['level'] == 2)
04 {
05 // tại đây thực thi các hoạt động khi đăng nhập thành công.
06 }
07 else
08 {
09 header("location: login.php");
10 exit();
11 }
12 ?>

Như vậy tại trang add_user.php chúng ta cũng đặt đoạn code trên và viết thêm 1 form thực thi công việc thêm thành viên.

Form Thêm Thành Viên

01 <form action=add_user.php method=POST>
02 Level: <select name=level>
03 <option value=1>Member</option>
04 <option value=2>Admin </option>
05 </select><br />
06 Username: <input type=text name=username size=25><br />
07 Password: <input type=password name=password size=25> <br />
08 Re-Password: <input type=password name=re-password size=25><br />
09 <input type=submit name="adduser" value="Add New User">
10 </form>

Tương tự như những bài trước, chúng ta cũng lần lượt kiểm tra từng đối tượng. Trước hết cần xem thử người dùng đã nhấn nút Add New user chưa, sau đó lại kiểm tra xem người dùng đã nhập đầy đủ thông tin chưa. Cuối cùng là so sánh giữa password và re-password có giống nhau hay không. Tiếp theo chúng ta gán biến $l sẽ bằng với giá trị mà khi người dụng chọn level cho user đó. (xem lại Bài 4: Xử lý giá trị form trong PHP)

01 <?php
02 if(isset($_POST['adduser']))
03 {
04 if($_POST['username'] == "")
05 {
06 echo "Vui long nhap username<br />";
07 }
08 else
09 {
10 $u=$_POST['username'];
11 }
12 if($_POST['password'] != $_POST['re-password'])
13 {
14 echo "Password va re-password khong chinh xac<br />";
15 }
16 else
17 {
18 if($_POST['password'] == "" )
19 {
20 echo "Vui long nhap password<br />";
21 }
22 else
23 {
24 $p=$_POST['password'];
25 }
26 }
27 $l=$_POST['level'];
28 }
29 ?>

Kế đến chúng ta lại tiếp tục kiểm tra xem có tồn tại biến $u, $p và $l hay không (chỉ khi người dùng nhập liệu thì mới tồn tại cùng lúc 3 biến này). sau khi đã kiểm tra sự tồn tại của 3 biến này chúng ta tiếp tục dùng PHP kết nối cơ sở dữ liệu để kiểm tra xem username mà người dùng vừa chọn có trùng với username khác trong cơ sở dữ liệu chưa. nếu trùng thì phải xuất thông báo lỗi yêu cầu họ chọn username khác còn nếu không thì ta lại tiến hành thêm thành viên mới này vào CSDL.

01 <?php
02 if($u & $p & $l)
03 {
04 $conn=mysql_connect("localhost","root","root") or die("can't connect this database");
05 mysql_select_db("project",$conn);
06 $sql="select * from user where username='".$u."'";
07 $query=mysql_query($sql);
08 if(mysql_num_rows($query) != "" )
09 {
10 echo "Username nay da ton tai roi<br />";
11 }
12 else
13 {
14 $sql2="insert into user(username,password,level) values('".$u."','".$p."','".$l."')";
15 $query2=mysql_query($sql2);
16 echo "Da them thanh vien moi thanh cong";
17 }
18 }
19 ?>

Tới đây ta đã kết thúc thao tác thêm một thành viên mới vào cơ sở dữ liệu. Sau đây là toàn bộ code trong ứng dụng này.

01 <?php
02 session_start();
03 if(isset($_SESSION['userid']) && $_SESSION['level'] == 2)
04 {
05 if(isset($_POST['adduser']))
06 {
07 if($_POST['username'] == "")
08 {
09 echo "Vui long nhap username<br />";
10 }
11 else
12 {
13 $u=$_POST['username'];
14 }
15 if($_POST['password'] != $_POST['re-password'])
16 {
17 echo "Password va re-password khong chinh xac<br />";
18 }
19 else
20 {
21 if($_POST['password'] == "" )
22 {
23 echo "Vui long nhap password<br />";
24 }
25 else
26 {
27 $p=$_POST['password'];
28 }
29 }
30 $l=$_POST['level'];
31 if($u & $p & $l)
32 {
33 $conn=mysql_connect("localhost","root","root") or die("can't connect this database");
34 mysql_select_db("project",$conn);
35 $sql="select * from user where username='".$u."'";
36 $query=mysql_query($sql);
37 if(mysql_num_rows($query) != "" )
38 {
39 echo "Username nay da ton tai roi<br />";
40 }
41 else
42 {
43 $sql2="insert into user(username,password,level) values('".$u."','".$p."','".$l."')";
44 $query2=mysql_query($sql2);
45 echo "Da them thanh vien moi thanh cong";
46 }
47 }
48 }
49 }
50 ?>
51 <form action=add_user.php method=POST>
52 Level: <select name=level>
53 <option value=1>Member</option>
54 <option value=2>Admin </option>
55 </select><br />
56 Username: <input type=text name=username size=25><br />
57 Password: <input type=password name=password size=25> <br />
58 Re-Password: <input type=password name=re-password size=25><br />
59 <input type=submit name="adduser" value="Add New User">
60 </form>
61 <?php
62 }
63 else
64 {
65 header("location: login.php");
66 exit();
67 }
68 ?>

Ở bài sau, chúng ta lại tiếp tục tìm hiểu ứng dụng kết hợp PHP và MYSQL cho việc quản lý tất cả thành viên trong database ra 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.

Trân Trọng
(Bùi Quốc Huy)

Thứ Bảy, 25,Tháng Mười Hai, 2010 - Posted by | MySQL & PHP

Chưa có phản hồi.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: