Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Session – Ví dụ : Đếmsố lần duyệt trang web
<?php
session_start( );
if (isset($_SESSION["count"]))
$_SESSION["count"] = $_SESSION["count"] + 1;
else
$_SESSION["count"] = 1;
print “You've looked at this page ”. $_SESSION['count'] . “times.”;
?>
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Session
Session
-
-
Ứ
Ứ
ng
ng
d
d
ụ
ụ
ng
ng
cho
cho
Login
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ếuchưa đăng nhập?
Ý tưởng
– Dùng các biến Session để lưutrạng thái đăng nhậpcủangười
dùng:
$_SESSION[“IsLogin”] = true/false : Lưutrạng thái đăng nhập
$_SESSION[“Username”] : LưuTênđăng nhập
$_SESSION[“Authentication”] : LưuLoại quyền đăng nhập
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Session
Session
-
-
Ứ
Ứ
ng
ng
d
d
ụ
ụ
ng
ng
cho
cho
Login
Login
–
–
G
G
ồ
ồ
m
m
4
4
bư
bư
ớ
ớ
c
c
1. Tạo trang login.htm yêu cầungười dùng đăng nhập.
2. Tạo trang validateuser.php xử lí thông tin đăng nhậptừ trang
login.htm
– KếtnốivớiCSDL, kiểmtrathôngtin đăng nhậpcóhợplệ hay không ?
• Nếu không hợplệ thì cho redirect về trang login.htm.
• Nếu hợplệ thì dùng mộtbiếntrongSession để lưutrạng thái login thành công
– Ví dụ: $_SESSION[“IsLogin”] = true.
– Lưuý
: Phải đặtgiátrị mặc định cho biến Session này là false khi khởitạo
một Session.
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).
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Session
Session
-
-
Ứ
Ứ
ng
ng
d
d
ụ
ụ
ng
ng
cho
cho
Login
Login
4. Trong tấtcả các trang muốnbảomật, thêm đoạnmãsauđể kiểmtra
người dùng đã đăng nhậphay chưa, nếuchưa thì redirect lại trang
login.htm
<?php
session_start();
if (!isset($_SESSION[“IsLogin”]) || $_SESSION[“IsLogin”] == false)
header(“Location: login.htm”);
?>
Lập trình và Thiếtkế Web 1 – Bài 9 : PHP nâng cao
© 2007 Khoa CNTT - ĐHKHTN
Session
Session
-
-
Ứ
Ứ
ng
ng
d
d
ụ
ụ
ng
ng
cho
cho
Gi
Gi
ỏ
ỏ
h
h
à
à
ng
ng
(shopping cart)
(shopping cart)
Session : Array : Mathang [ ]
Session : Array : Soluong[ ]
{
{
‘
‘
Book1
Book1
’
’
,
,
‘
‘
Book2
Book2
’
’
,
,
‘
‘
Book3
Book3
’
’
}
}
{13, 2, 7}
{13, 2, 7}
Xóa biến trong Session
Ghi xuống CSDL