Viết ứng dụng thêm thành viên bằng PHP và MYSQL
Ở bài tập trước, trong hương trình học php cơ bản ,chúng ta đã học đã 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 website .
Trong bài này chúng ta sẽ tiếp tục công việc phát triển ứng dụng cơ bản 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.
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.
03 | if (isset( $_SESSION [ 'userid' ]) && $_SESSION [ 'level' ] == 2) |
09 | header( "location: login.php" ); |
Như vậy, ta tạo trang add_user.php và đặt đoạn code trên, đồng thời viết thêm 1 form thực thi công việc 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> |
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' /> |
Tương tự như những bài tập 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 khai báo 2 biến $u và $p, mặc định ban đầu ta cho 2
biến này là rỗng. Kế tới ta 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
hoc-php-co-ban-bai-1-huong-dan-tao.html
02 | if (isset( $_POST [ 'adduser' ])) |
05 | if ( $_POST [ 'username' ] == NULL) |
07 | echo "Vui long nhap username<br />" ; |
11 | $u = $_POST [ 'username' ]; |
13 | if ( $_POST [ 'password' ] != $_POST [ 're-password' ]) |
15 | echo "Password va re-password khong chinh xac<br />" ; |
19 | if ( $_POST [ 'password' ] == NULL ) |
21 | echo "Vui long nhap password<br />" ; |
25 | $p = $_POST [ 'password' ]; |
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.
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 ) != "" ) |
10 | echo "Username nay da ton tai roi<br />" ; |
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" ; |
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.
03 | if (isset( $_SESSION [ 'userid' ]) && $_SESSION [ 'level' ] == 2) |
05 | if (isset( $_POST [ 'adduser' ])) |
08 | if ( $_POST [ 'username' ] == NULL) |
10 | echo "Vui long nhap username<br />" ; |
14 | $u = $_POST [ 'username' ]; |
16 | if ( $_POST [ 'password' ] != $_POST [ 're-password' ]) |
18 | echo "Password va re-password khong chinh xac<br />" ; |
22 | if ( $_POST [ 'password' ] == NULL) |
24 | echo "Vui long nhap password<br />" ; |
28 | $p = $_POST [ 'password' ]; |
34 | $conn =mysql_connect( "localhost" , "root" , "root" ) or die ( "can't connect this database" ); |
35 | mysql_select_db( "project" , $conn ); |
36 | $sql = "select * from user where username='" . $u . "'" ; |
37 | $query =mysql_query( $sql ); |
38 | if (mysql_num_rows( $query ) != "" ) |
40 | echo "Username nay da ton tai roi<br />" ; |
44 | $sql2 = "insert into user(username,password,level) values('" . $u . "','" . $p . "','" . $l . "')" ; |
45 | $query2 =mysql_query( $sql2 ); |
46 | echo "Da them thanh vien moi thanh cong" ; |
52 | <form action= 'add_user.php' method= 'POST' > |
53 | Level: <select name= 'level' > |
54 | <option value= '1' >Member</option> |
55 | <option value= '2' >Admin </option> |
57 | Username: <input type= 'text' name= 'username' size= '25' /><br /> |
58 | Password: <input type= 'password' name= 'password' size= '25' /> <br /> |
59 | Re-Password: <input type= 'password' name= 're-password' size= '25' /><br /> |
60 | <input type= 'submit' name= 'adduser' value= 'Add New User' /> |
66 | header( "location: login.php" ); |
Các
bạn có thể học hỏi thêm và tham khảo ở trang chủ chia sẻ kiến thức php
cơ bản : http://daotaolaptrinh.edu.vn/tai-lieu-php.html
Ở bài tập sau,
blog bài tập học php cơ bản 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ình cũng đang muốn tìm hiểu và học về các bài tập php cơ bản. Bạn hãy cố gắng cho ra những blog mới nhé.:)
Trả lờiXóaCảm ơn bạn. Trang blog: http://baitaphocphpcoban.blogspot.com ,sẽ cố gắng với những blog chia sẻ những bài tập học php cơ bản tiếp theo! Mong nhận được sự ủng hộ và góp ý của bạn ^^
Trả lờiXóa