Bài giảng Lập trình Web - Chương 5: PHP & MySQL (MySQL) cung cấp cho người đọc các kiến thức về PHP bao gồm: PHP là gì, cú pháp cơ bản, hàm (Function), lập trình hướng đối tượng (OOP), PHP và Form, MySQL và PHP, cookie và session
Trang 1CT428 L™p Trình Web
Ch˜Ïng 5 PHP & MySQL (PHP)
Gi£ng viên: Tr¶n Công Án (tcan@cit.ctu.edu.vn)
BÎ môn M§ng máy tính & Truy∑n thông
Khoa Công Nghª Thông Tin & Truy∑n Thông
§i hÂc C¶n ThÏ
2013 – 2014
Trang 2PHP
Trang 4PHP là gì?
PHP Là Gì?
I PHP: Hypertext PreProcessor (trình ti∑n x˚ l˛ siêu v´n b£n).
I Là mÎt ngôn ng˙ script phía server : ˜Òc th¸c thi phía server và tr£ k∏t qu£ ( là 1 trang web HTML ) v∑ cho browser.
I S¸ th¸c thi PHP script không phˆ thuÎc vào web browser.
I Trình thông d‡ch PHP là ph¶n m∑m mã nguÁn m, miπn phí .
I ˜Òc hÈ trÒ bi h¶u h∏t các web server (Apache, IIS, ) và hª i∑u hành thông dˆng (Windows, Linux, MacOS, ).
I Th˜Ìng th¸c hiªn các x˚ l˛ h˜Óng nghiªp vˆ.
I MÎt t™p tin PHP có ph¶n m rÎng là php
Trang 5PHP là gì?
database server web browser Internet/Intranet
(4) (5) Response: dynamic webpage
Trang 7PHP là gì?
Trang 8nghiªm PHP & MySQL.
Trang 9PHP là gì?
Giao Diªn Ch˜Ïng Trình XAMMP
I Giao diªn ch˜Ïng trình XAMMP cho phép khi Îng, d¯ng và cßu hình Apache và MySQL.
Trang 11I Qui ˜Óc, cú pháp cıa PHP t˜Ïng t¸ ngôn ng˙ C và JavaScript.
I MÎt câu lªnh k∏t thúc b¨ng dßu ; và có th∫ n¨m trên nhi∑u dòng.
I Các lªnh không phân biªt ch˙ hoa, ch˙ th˜Ìng.
I Ghi chú cÙng t˜Ïng t¸ C và JS: gÁm ghi chú 1 dòng ( // ) và nhi∑u dòng ( /* */ )
Trang 12Cú pháp cÏ b£n
Bi∏n và ki∫u d˙ liªu
Bi∏n Và Ki∫u D˙ Liªu
I Ki∫u d˙ liªu: boolean (bool), integer (int), float, double, string.
I Ki∫u d˙ liªu ph˘c: array, Object.
I Các ki∫u ∞c biªt: resource (3rd-party resources, e.g DB), NULL.
I Chú ˛: Các giá tr‡ t˜Ïng ˜Ïng false: 0, 0.0, chuÈi rÈng, “0”,
m£ng rÈng, NULL.
Trang 13Cú pháp cÏ b£n
Bi∏n và ki∫u d˙ liªu
Bi∏n Và Ki∫u D˙ Liªu
I Bi∏n:
I B≠t ¶u b¨ng $
I Không c¶n khai báo bi∏n – bi∏n s≥ ˜Òc t§o l¶n ¶u gán giá tr‡.
I Ki∫u bi∏n s≥ ˜Òc t¸ Îng gán, tùy vào d˙ liªu cıa nó.
I Phân biªt ch˙ hoa, ch˙ th˜Ìng.
I Ph§m vi bi∏n:
I Cˆc bÎ: khai báo trong mÎt hàm, chø t/xußt ˜Òc bên trong hàm ó.
I Toàn cˆc: khai báo bên ngoài các khËi lªnh, có th∫ t/c™p t¯ bßt k˝ v‡ trí nào trong ch˜Ïng trình (trong hàm ph£i dùng t¯ khóa global ).
Trang 14Cú pháp cÏ b£n
Bi∏n và ki∫u d˙ liªu
Bi∏n Và Ki∫u D˙ Liªu
I Khai báo bên trong hàm (cˆc bÎ)
I Giá tr‡ s≥ ˜Òc l˜u l§i cho nh˙ng l¶n gÂi ti∏p theo.
I Truy vßn ki∫u d˙ liªu cıa mÎt bi∏n: gettype(var )
I Ki∫m tra bi∏n và ki∫u d˙ liªu cıa bi∏n: is_bool(), is_int(), is_float(), is_double(), is_string(), is_object(),
is_array(), is_numeric(), is_resource(), is_null(), isset(), empty().
Trang 15Cú pháp cÏ b£n
Bi∏n và ki∫u d˙ liªu
Bi∏n Và Ki∫u D˙ Liªu – Ví Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/datatype.php
Trang 16Cú pháp cÏ b£n
Bi∏n và ki∫u d˙ liªu
Bi∏n Toàn Cˆc – Ví Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/global-variable.php
Trang 17Cú pháp cÏ b£n
Bi∏n và ki∫u d˙ liªu
Bi∏n Tænh – Ví Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/static-variable.php
Trang 19Cú pháp cÏ b£n
ChuÈi k˛ t¸
ChuÈi K˛ T¸
I MÎt chuÈi k˛ t¸ có th∫ ∞t trong dßu nháy Ïn, kép ho∞c heredoc.
I Dßu nháy Ïn và heredoc: các k˛ t¸ escape s≥ không ˜Òc thông
d‡ch.
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/string-specify.php
<html>
1
<body>
2 <?php /* string-specify.php */
3 $name = "An"; 4
$s1 = "My name is: \"$name\'"; 5
$s2 = 'My name is: \"$name"'; 6
$s3 = <<<_END 7
My name is: \"$name"
8_END; 9 echo $s1, "<br>"; //My name is: "An\' 10
echo($s2 "<br>"); //My name is: \"$name"
11 echo($s3 "<br>"); //My name is: \"An"
12 ?>
Trang 20I Khai báo và khi t§o: $arr_name = array(val1, val2, )
I Gán giá tr‡ tr¸c ti∏p cho các ph¶n t˚ cıa m£ng:
$arr_name [] = value ;
$arr_name [] = value ;
.
$arr_name [index ] = value ;
$arr_name [index ] = value ;
Trang 22Cú pháp cÏ b£n
M£ng (Array)
Duyªt M£ng B¨ng Lªnh foreach
/Users/tcan/Dropbox/Bo mon/Lap t…N/Ch5.1 - PHP/src/test-array.php
foreach ($array as $value) {
foreach ($array as $key => value) { 23
statements;
24 } 25
/Users/tcan/Dropbox/Bo mon/Lap t…N/Ch5.1 - PHP/src/test-array.php
$arr = array('a'=>4, 'c'=> 6, 'b'=>8);
10 foreach($arr as $key => $val ) { 11
echo $key ":" $val "; "; 12
} //output: a:4; c:6; b:8;
13
I Ngoài ra, ta có th∫ duyªt các ph¶n t˚ cıa m£ng dùng vòng l∞p
thông qua chø sË cıa các ph¶n t˚.
Trang 23I array_push($arr, $element ): thêm p/t˚ vào cuËi m£ng.
I array_pop($arr ): xóa ph¶n t˚ cuËi m£ng.
Sinh viên t¸ xem thêm: m£ng nhi∑u chi∑u và con tr‰ m£ng
Trang 24Cú pháp cÏ b£n
Lªnh echo và hàm print
Lªnh echo và Hàm print
I C£ hai ∑u ˜Òc s˚ dˆng ∫ xußt 1 chuÈi v∑ cho browser
I Lªnh echo: echo (str ); ho∞c echo str [, str ];
echo ( "Hello " $name); ho∞c echo "Hello " ,$name;
I Hàm print: print(str ); ho∞c print str ;
print ( "Hello " $name); ho∞c print "Hello " $name;
I Vì echo là mÎt lªnh nên s≥ th¸c hiªn nhanh hÏn hàm print
I Hàm print tr£ v∑ true còn lªnh echo không có k∏t qu£ tr£ v∑.
($grade > 5) ? print ( "pass" ) : print ( "fail" );
echo ($grade > 5) ? "pass" : "fail" ;
Trang 25Cú pháp cÏ b£n
Cßu trúc i∑u khi∫n
I Cßu trúc i∑u khi∫n cıa PHP g¶n nh˜ t˜Ïng t¸ JS (xem Ch4):
I R≥ nhánh: if, if else, if elseif, ?,
switch case
I L∞p: while, do while, for, foreach
I Các chø th‡ break và continue
Trang 26I Tên hàm không phân biªt ch˙ hoa, ch˙ th˜Ìng.
I Hàm có th∫ có giá tr‡ tr£ v∑ (dùng lªnh return ) hay không có.
Trang 27Hàm (Function)
Cú pháp
Ví Dˆ – Hàm Gi£i Ph˜Ïng Trình B™c 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/function-ptb1.php Page 1 of 1
Trang 28Hàm (Function)
Truy∑n Ëi sË cho hàm
Hàm – Truy∑n Tham Chi∏u
I Truy∑n tham sË b¨ng giá tr‡: hàm không
thay Íi ˜Òc giá tr‡ cıa Ëi sË.
I Truy∑n tham sË b¨ng tham chi∏u: hàm có
th∫ thay Íi giá tr‡ cıa Ëi sË. Page 1 of 1
/Users/tcan/Dropbox/Bo mon/Lap t…PHP/src/function-pass-by-ref.php
Saved: 3/14/14, 22:39:13 Printed For: Tran Cong An
Saved: 3/14/14, 23:50:00 Printed For: Tran Cong An
Trang 29Hàm (Function)
Gán giá tr‡ m∞c nhiên cho Ëi sË cıa hàm
I Ëi sË cıa hàm có th∫ ˜Òc gán giá tr‡ m∞c nhiên: N∏u lÌi gÂi hàm không truy∑n giá tr‡ cho Ëi sË thì Ëi sË s≥ nh™n giá tr‡ m∞c nhiên.
Page 1 of 1/Users/tcan/Dropbox/Bo mon/Lap t…PHP/src/function-text-color.php
Trang 30Hàm (Function)
Thao tác vÓi các Ëi sË
I MÎt sË hàm thao tác trên các Ëi sË:
danh sách các Ëi sË.
Page 1 of 1/Users/tcan/Dropbox/Bo mon/Lap t…- PHP/src/function-args-task.php
Saved: 3/15/14, 0:27:17 Printed For: Tran Cong An
Trang 31Hàm (Function)
Th˜ viªn hàm PHP
Hàm X˚ L˛ ChuÈi
I [l|r]trim ($str [,$ch ]), addslashes ($str ),
stripslashes ($str ), ucfirst ($str ), ucwords ($str ),
strtolower ($str ), strtoupper ($str ), strlen ($str ),
strcmp ($str1 ,$str2 ), strpos ($str1 ,$str2 ),
str_replace ($oldStr ,$newStr, $str ) strrev ($str ),
explode ($ch [,$str ]), implode ($str [,$ch ]) Page 1 of 1
/Users/tcan/Dropbox/Bo mon/Lap t….1 - PHP/src/string-function.php
Trang 32Hàm (Function)
Th˜ viªn hàm PHP
Hàm Toán HÂc
I abs ($n ), sqrt ($n ), pow ($a, $b ), exp ($x ),
range ($start, $end ), floor ($n ), ceil ($n ),
is_nan ($n ), number_format ($n, $decimal=0,
/Users/tcan/Dropbox/Bo mon/Lap t…- TCAN/Ch5.1 - PHP/src/test.php
Trang 33Hàm (Function)
Th˜ viªn hàm PHP
Hàm Ngày GiÌ
I getdate (), date ($format_str ), checkdate ($m, $d, $y ),
time (), date_add ($date, $interval ), date_diff ($date1,
/Users/tcan/Dropbox/Bo mon/Lap t…HP/src/function-date-example.php
Trang 34<?php 1 class <classname> { 2
/* property + method declaration */
3 };
4
?>
5
I Khai báo thuÎc tính (properties) t˜Ïng t¸ nh˜ khai báo bi∏n.
I Khai báo ph˜Ïng th˘c (methods) t˜Ïng t¸ khai báo hàm.
I ThuÎc tính truy c™p: public | protected | private
I Ph˜Ïng th˘c/thuÎc tính tænh (static): static
I Truy xußt p/th˘c bên trong p/th˘c: $this ->method ();
I Truy xußt t/tính bên trong p/th˘c: $this ->property ;
Trang 35L™p trình H˜Óng Ëi t˜Òng (OOP)
Khai báo lÓp
OOP – Ví Dˆ Khai Báo LÓp/Users/tcan/Dropbox/Bo mon/Lap t…TCAN/Ch5.1 - PHP/src/Person.php Page 1 of 1
Trang 36[CT428] Ch˜Ïng 5.1 – PHP
L™p trình H˜Óng Ëi t˜Òng (OOP)
T§o Ëi t˜Òng
I Cú pháp: $<object_name> = new <class_name>;
I Truy xußt t/tính cıa 1 Ëi t˜Òng: $object_name ->property ;
I Truy xußt p/th˘c cıa 1 Ëi t˜Òng: $object_name ->method() ;
Page 1 of 1/Users/tcan/Dropbox/Bo mon/Lap t…lass-obj-declaration-example.php
Trang 37L™p trình H˜Óng Ëi t˜Òng (OOP)
T§o Ëi t˜Òng
OOP – Các Thành Ph¶n Tænh
I Là “thành ph¶n chung” cıa tßt c£ các Ëi t˜Òng cıa mÎt lÓp.
I Có th∫ truy xußt thông qua lÓp (không c¶n t§o Ëi t˜Òng).
Trang 39Saved: 3/20/14, 2:01:15 Printed For: Tran Cong An
38
?>
39
Trang 40L™p trình H˜Óng Ëi t˜Òng (OOP)
Th¯a k∏
Th¯a k∏
I Khai báo th¯a k∏: dùng t¯ khóa extends
I LÓp con s≥ “th¯a k∏” tßt c£ các thành ph¶n cıa lÓp cha Tuy nhiên,
nó chø ˜Òc truy xußt ∏n các thành ph¶n public và protected
I Truy c™p ∏n các thành ph¶n cıa lÓp cha t¯ lÓp con:
parent:: property ho∞c parent:: method()
I LÓp con có th∫ “khai báo chÁng” (cùng tên) các thành ph¶n cıa lÓp cha.
Trang 41L™p trình H˜Óng Ëi t˜Òng (OOP)
Th¯a k∏
/Users/tcan/Dropbox/Bo mon/Lap t…TCAN/Ch5.1 - PHP/src/Student.php
Saved: 3/20/14, 2:07:05 Printed For: Tran Cong An
Saved: 3/20/14, 2:10:36 Printed For: Tran Cong An
?>
13
Trang 42I Giao diªn (interface) và cài ∞t giao diªn (implementation).
I Xußt thông tin t¸ Îng cho Ëi t˜Òng ( toString()).
I Các cách chèn o§n mã trong các t™p tin khác vào.
Trang 43PHP và Form
HTML Form
HTML Form
I Form: là mÎt t/ph¶n cıa trang web, cho phép ng˜Ìi dùng nh™p liªu./Users/tcan/Dropbox/Bo mon/Lap t…n ngu HTML/src/form-example.htmlSaved: 3/17/14, 12:33:48 Printed For: Tran Cong AnPage 1 of 1
<form action=" " method=" ">
1 <! form controls >
I method: POST | GET
I POST: d˙ liªu cıa form chèn bên trong yêu c¶u HTTP.
I GET: d˙ liªu cıa form kèm theo URL (max 255B – 8K).
Trang 44PHP và Form
Lßy d˙ liªu g˚i v∑ t¯ form
Lßy D˙ Liªu G˚i V∑ T¯ Form
$_REQUEST (c£ hai p/th˘c). Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/login.html
Trang 45PHP và Form
Lßy d˙ liªu g˚i v∑ t¯ form
Lßy D˙ Liªu G˚i V∑ T¯ Form
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/ck_login.php
Trang 46PHP và Form
Lßy d˙ liªu g˚i v∑ t¯ form
Ki∫m Tra S¸ TÁn T§i Cıa D˙ Liªu
I Ki∫m tra s¸ tÁn t§i cıa mÎt d˙ liªu g˚i t¯ form: hàm isset()
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/ck_login.php
Trang 47MySQL và PHP
Truy Xußt D˙ Liªu MySQL Trong PHP
I Viªc truy xußt d˙ liªu MySQL t¯ PHP bao gÁm các b˜Óc:
1 T§o nËi k∏t ∏n MySQL.
2 ChÂn CSDL.
3 T§o câu truy vßn (DDL ho∞c DML).
4 Th¸c thi câu truy vßn.
5 Nh™n d˙ liªu, x˚ l˛ d˙ liªu và xußt ra trang web.
6 L∞p l§i các b˜Óc 5 và 6 cho ∏n khi truy c™p h∏t các d˙ liªu c¶n thi∏t.
7 óng nËi k∏t.
Trang 48MySQL và PHP
T§o nËi k∏t
T§o NËi K∏t
I T§o nËi k∏t:
resource mysql_connect ( "host_name" , "username" , "password" )
I host_name: ‡a chø cıa MySQL server.
I username: tên ng˜Ìi dùng CSDL.
I password: m™t kh©u ng˜Ìi dùng CSDL.
I Thông th˜Ìng, các thông sË nËi k∏t CSDL ˜Òc l˜u trong 1 t™p tin riêng (.inc ho∞c php) và ˜Òc chèn vào t™p tin PHP c¶n truy xußt
Trang 49MySQL và PHP
T§o nËi k∏t
T§o NËi K∏t
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/mysql-connect.php
<?php 1 /* connection.inc */
2 $hostname = "localhost"; 3
$username = "root"; 4
$password = ""; 5
$database = "ltweb"
6
?>
7
Trang 50MySQL và PHP
T§o nËi k∏t
Ki∫m Tra Và X˚ L˛ LÈi
I Các cách ki∫m tra và x˚ l˛ lÈi:
Trang 51MySQL và PHP
ChÂn CÏ s d˙ liªu
ChÂn CÏ S D˙ Liªu
I Lªnh: int mysql_select_db ( "database_name" , $connection)
I databse_name: tên CSDL c¶n chÂn.
I $connection: 1 Ëi t˜Òng connection.
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/select-db.php
Trang 52MySQL và PHP
T§o và th¸c thi câu truy vßn CSDL
T§o Và Th¸c Thi Câu Truy Vßn
I Truy vßn CSDL: resource mysql_query ( "query" [,$connection])
I query: câu truy vßn.
I $connection: Ëi t˜Òng connection.
Page 1 of 1/Applications/XAMPP/xamppfiles/h…LTW428/select-classics-table.php
Trang 53MySQL và PHP
Truy xußt d˙ liªu tr£ v∑ t¯ câu truy vßn
Truy Xußt D˙ Liªu Cıa Câu Truy Vßn
I Các hàm s˚ dˆng ∫ truy xußt d˙ liªu tr£ v∑ trong câu truy vßn:
I mysql_num_rows ($q_result) : ∏m sË m©u tin trong $q_result.
I mysql_fetch_fields ($q_result) : ∏m sË l˜Òng tr˜Ìng.
I mysql_result ($q_result, $row_index, "col_name" ) : lßy giá tr‡ 1 tr˜Ìng.
I mysql_fetch_row ($q_result) : tr£ v∑ 1 m£ng vÓi giá tr‡ các ph¶n t˚
là giá tr‡ cıa các tr˜Ìng trong b£ng.
I mysql_fetch_array ($q_result) : t˜Ïng t¸ hàm mysql_fetch_row vÓi chø sË m£ng là tên tr˜Ìng.
Trang 54MySQL và PHP
Truy xußt d˙ liªu tr£ v∑ t¯ câu truy vßn
Truy Xußt D˙ Liªu Cıa Câu Truy Vßn – VD
Page 1 of 1/Applications/XAMPP/xamppfiles/h…ocs/LTW428/connect-select-db.php
Trang 55MySQL và PHP
Truy xußt d˙ liªu tr£ v∑ t¯ câu truy vßn
mysql_result() – Ví Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/mysql-result.php
Trang 56MySQL và PHP
Truy xußt d˙ liªu tr£ v∑ t¯ câu truy vßn
mysql_fetch_row() – Ví Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/mysql-fetch-row.php
Trang 57MySQL và PHP
Truy xußt d˙ liªu tr£ v∑ t¯ câu truy vßn
mysql_fetch_array() – Ví Dˆ
Page 1 of 1/Applications/XAMPP/xamppfiles/h…ocs/LTW428/mysql-fetch-array.php
Trang 59MySQL và PHP
Ví dˆ tÍng hÒp 1 – Tìm ki∏m sách
Tìm Ki∏m Sách – Mô T£
Trang 60MySQL và PHP
Ví dˆ tÍng hÒp 1 – Tìm ki∏m sách
Tìm Ki∏m Sách – Webpage & Form/Applications/XAMPP/xamppfiles/htdocs/LTW428/title-search-adv.php Page 1 of 1
Trang 62MySQL và PHP
Ví dˆ tÍng hÒp 2 – Thêm/Xóa sách
Thêm/Xóa Sách – Mô T£
Trang 64MySQL và PHP
Ví dˆ tÍng hÒp 2 – Thêm/Xóa sách
Thêm/Xóa Sách – Ki∫m Tra Xóa Sách
Page 1 of 1/Applications/XAMPP/xamppfiles/h…/LTW428/title-delete-process.php
Trang 65MySQL và PHP
Ví dˆ tÍng hÒp 2 – Thêm/Xóa sách
Thêm/Xóa Sách – Ki∫m Tra Thêm Sách
Page 1 of 1/Applications/XAMPP/xamppfiles/h…ocs/LTW428/title-add-process.php
Trang 66MySQL và PHP
Ví dˆ tÍng hÒp 2 – Thêm/Xóa sách
Thêm/Xóa Sách – T§o Form Thêm Sách
Page 1 of 1/Applications/XAMPP/xamppfiles/htdocs/LTW428/title-add-form.php
Trang 67MySQL và PHP
Ví dˆ tÍng hÒp 2 – Thêm/Xóa sách
Thêm/Xóa Sách – T§o Form Xóa Sách/Applications/XAMPP/xamppfiles/h…ocs/LTW428/title-delete-form.php Page 1 of 1
Trang 68Cookie và session
Cookie
Cookie
I Là mÎt t™p tin nh‰ ˜Òc serve y/c¶u l˜u m/tính ng˜Ìi dùng web.
I T¸ Îng ˜Òc g˚i kèm theo các thông iªp HTTP request.
I T§o cookie: setcookie (name, value [, expire] )
I Hàm này ph£i ˜Òc ∞t tr˜Óc th¥ <html>
I Truy xußt giá tr‡ cookie: dùng bi∏n $_COOKIE
I Hıy cookie:
I H∏t thÌi gian tÁn t§i (expired).
I N∏u không có thÌi gian tÁn t§i, cookie s≥ b‡ hıy khi t≠t browser.
I Hıy t˜Ìng minh: ∞t expire cıa cookie là mÎt g/tr‡ trong quá kh˘.
Trang 70I Chø “nhìn thßy ˜Òc” trong phiên làm viªc cıa ng˜Ìi dùng.
I B≠t ¶u session: session_start () , ∞t tr˜Óc th¥ <html>
I Truy xußt bi∏n session: $_SESSION[ 's_name' ]
I Hıy session: unset ($session) ho∞c session_destroy ()
Trang 71Cookie và session
Session
Session/Applications/XAMPP/xamppfiles/htdocs/LTW428/login-session.php Page 1 of 1
Trang 72Cookie và session
Session
Session
Page 1 of 1/Applications/XAMPP/xamppfiles/h…s/LTW428/update-data-session.php
I o§n mã lªnh ki∫m tra session ˜Òc vi∏t trong 1 t™p tin riêng và
˜Òc include vào các trang web c¶n k/tra ´ng nh™p.