Bài giảng Thiết kế và lập trình Web - Bài 7: PHP nâng cao

Thiết kế và lập trình Web  
Bꢀi 7  
PHP nâng cao  
Viện CNTT & TT  
Thiết kế và lập trình Web  
1. Session  
. Khái niệm  
. Cách thức hoạt động  
. Khởi động session  
. Đăng ký session  
. Sử dụng session  
. Hủy biến session  
2
Thiết kế và lập trình Web  
Khái niệm  
. Session PHP cho phép lưu trữ thông tin người dùng trên  
trình duyệt (tên người dùng, danh mục hàng hóa, …) trong  
suốt quá trình làm việc của họ.  
. Thông tin của session chỉ tạm thời và thông tin này sẽ bị xóa  
sau khi người dùng rời khỏi ứng dụng Web.  
. Nếu cần, phải lưu trữ thông tin trong CSDL.  
3
Thiết kế và lập trình Web  
Cách thức hoạt động  
. Session làm việc bằng cách tạo ra một địa chỉ duy  
nhất (UID) cho mỗi người sử dụng.  
. UID có giá trị là một dãy số ngẫu nhiên.  
. UID có thể được lưu trong COOKIE hoặc được  
truyền lên URL.  
. Ngoài UID, có thể khai báo, khởi tạo và sử dụng  
một số biến session khác, tất cả các session này  
có giá trị cho mỗi người sử dụng khi họ truy cập  
đến ứng dụng Web.  
4
Thiết kế và lập trình Web  
Khởi động session  
. Trước khi lưu trữ thông tin người dùng vào session, cần khởi  
động session.  
. Chú ý: hàm khởi động session phải đặt phía trên thẻ HTML  
. Cú pháp:  
session_start();  
5
Thiết kế và lập trình Web  
Đăng ký session  
. Sử dụng biến $_SESSION nhận và lưu trữ giá trị của biến  
session  
. Cú pháp:  
$_SESSION[“tên biến session”] = “giá trị”;  
. Ví dụ: tạo ra một biến session lưu tên đăng nhập của người  
dùng  
<?php  
$_SESSION[“ten_dang_nhap”] = “phuong”;  
?>  
6
Thiết kế và lập trình Web  
Sử dụng session  
. Khi muốn sử dụng các biến session hoặc giá trị lưu trong  
biến session đã đăng ký => dùng biến $_SESSION.  
. Cú pháp:  
$gia_tri = $_SESSION[“tên biến session”];  
. Ví dụ: đọc giá trị biến session tên đăng nhập  
<?php  
$ten_dang_nhap = $_SESSION[“ten_dang_nhap”];  
→ phuong  
?>  
7
Thiết kế và lập trình Web  
Hủy biến session  
. Hủy toàn bộ các biến session:  
Khi không cần dùng đến các biến session nữa thì có thể hủy bỏ  
toàn bộ các biến session đã đăng ký bằng hàm  
session_destroy()  
. Cú pháp:  
session_destroy();  
8
Thiết kế và lập trình Web  
Hủy biến session  
. Hủy một biến session:  
Khi không cần dùng đến biến session nào thì có thể dùng hàm  
unset() để hủy bỏ biến session đó.  
. Cú pháp:  
unset($_SESSION[“tên biến session”]);  
. Ví dụ: hủy bỏ biến session tên đăng nhập  
<?php  
unset($_SESSION[“ten_dang_nhap”]);  
?>  
9
Thiết kế và lập trình Web  
Ví dụ: Đếm số lần duyệt trang web  
<?php  
session_start( );  
if (isset($_SESSION["count"]))  
$_SESSION["count"] = $_SESSION["count"] + 1;  
else  
$_SESSION["count"] = 1;  
print "Bạn đã truy cập trang này " . $_SESSION['count']  
. "lần.";  
?>  
10  
Thiết kế và lập trình Web  
Ví dụ: Ứng dụng cho Login  
. Làm thế nào để ngăn không cho người dùng truy  
cập vào các trang web nếu chưa đăng nhập?  
. Khi đăng nhập thành công thì chuyển sang trang  
khác không yêu cầu đăng nhập lại?  
. Ý tưởng  
Dùng các biến Session để lưu trạng thái đăng nhập của  
người dùng:  
$_SESSION["IsLogin"]=true/false: Lưu trạng thái đăng nhập  
$_SESSION["Username"]: Lưu Tên đăng nhập  
$_SESSION["Authentication"]: Lưu Loại quyền đăng nhập  
11  
Thiết kế và lập trình Web  
Ví dụ: Ứng dụng cho Login  
1. Tạo trang login.htm yêu cầu người dùng đăng nhập.  
2. Tạo trang validateuser.php xử lí thông tin đăng nhập từ  
trang login.htm  
Kết nối với CSDL, kiểm tra thông tin đăng nhập có hợp lệ hay không ?  
• Nếu không hợp lệ thì cho redirect về trang login.htm.  
• Nếu hợp lệ thì dùng một biến trong Session để lưu trạng thái login thành  
công  
– Ví dụ: $_SESSION["IsLogin"] = true.  
Lưu ý: Phải đặt giá trị mặc định cho biến Session này là false khi  
khởi tạo một Session (xem ví dụ ở slide sau).  
3. Tạo trang logout.php là trang xử lý khi người dùng logout  
. Reset trạng thái login là chưa đăng nhập ($_SESSION["IsLogin"] =  
false).  
12  
Thiết kế và lập trình Web  
Ví dụ: Ứng dụng cho Login  
4. Trong tất cả các trang muốn bảo mật, thêm đoạn mã sau để  
kiểm tra người dùng đã đăng nhập hay chưa, nếu chưa thì  
redirect lại trang login.htm.  
<?php  
session_start();  
if ($_SESSION["IsLogin"] == false)  
header("Location: login.htm");  
?>  
13  
Thiết kế và lập trình Web  
2. Cookie  
. Khái niệm  
. Khai báo cookie  
. Sử dụng cookie  
. Hủy cookie  
14  
Thiết kế và lập trình Web  
Khái niệm  
. Được sử dụng để xác định thông tin của người dùng.  
. Là một file nhỏ được server lưu trữ xuống từng máy tính của  
người dùng.  
. Mỗi khi máy tính này yêu cầu một trang tới trình duyệt, nó  
cũng sẽ gửi theo cookie.  
. Với PHP ta có thể tạo ra và sử dụng giá trị của biến cookie.  
15  
Thiết kế và lập trình Web  
Cookie  
. Trong Windows, Cookie được lưu ở thư mục  
Cookies.  
. Chỉ chứa các thông tin đơn giản dạng name =  
value  
. Sử dụng các giới hạn:  
Expiration information (VD: 05/10/2005, 18:59:00 GMT),  
Path information (VD: /user_section),  
Domain information (VD: yourserver.com),  
Secure parameter (HTTPS).  
.
Truy xuất thông qua biến toàn cục:
$_COOKIE[ ]  
Thiết kế và lập trình Web  
Khai báo cookie  
. Chú ý: Khai báo cookie ở phía trên thẻ HTML  
. Cú pháp:  
setcookie(name, value, expire[, path, domain]);  
name: tên biến cookie  
value: giá trị  
expire: thời gian giới hạn dành cho cookie – đơn vị tính là  
giây. Nếu thời gian này không được thiết lập trong hàm  
setcookie(), biến cookie này sẽ còn hiệu lực cho đến khi  
người dùng xóa tập tin cookie.  
path: đường dẫn  
17  
domain: tên miền của website  
Thiết kế và lập trình Web  
Khai báo cookie  
. Ví dụ: tạo ra một biến cookie người dùng có giá trị là  
“phuong”, thời gian giới hạn là một giờ  
<?php  
setcookie(“nguoi_dung”, “phuong”, time()+3600);  
?>  
. Chú ý: giá trị của biến cookie sẽ tự động được  
URL mã hóa khi gửi cookie đi, và tự động giải mã  
khi nhận cookie về. (Nếu không muốn URL mã hóa  
thì dùng hàm setrawcookie())  
18  
Thiết kế và lập trình Web  
Sử dụng cookie  
. Dùng biến $_COOKIE để đọc giá trị biến cookie  
. Cú pháp:  
$gia_tri = $_COOKIE[“tên biến cookie”];  
. Ví dụ: đọc giá trị của biến cookie người dùng  
<?php  
$nguoi_dung = $_COOKIE[“nguoi_dung”];  
→phuong  
?>  
19  
Thiết kế và lập trình Web  
Hủy cookie  
. Khi muốn hủy một biến cookie thì cần kiểm tra lại  
thời gian giới hạn dành cho biến cookie này  
. Sử dụng hàm setcookie() để hủy bằng cách đặt giá  
trị của biến cookie bằng “” và thời gian = - thời gian  
giới hạn  
. Cú pháp:  
setcookie(name, “”, time() – thời gian giới hạn)  
20  
Tải về để xem bản đầy đủ
pdf 34 trang yennguyen 12/04/2022 6420
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế và lập trình Web - Bài 7: PHP nâng cao", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_thiet_ke_va_lap_trinh_web_bai_7_php_nang_cao.pdf