GVHD:
!"#$%
TRNG I HC S PHM NG THÁP
&"'(()'(
(* +(, "/0&
(-12&
!"#$%
%345!!67!!8
9$6:!!8
GVHD:
!"#$%
!"#
$$$$
hng mi in t ngay nay phát trin
nh v bo trên th gii nói chung và
ngay cã Vit Nam nói riêng! Lp trình
Web ang là mt cuc chi y ha hn hin nay và
ngay cã trong tng lai! S ra i ca các ngôn ng
lp trình giúp chúng ta xây dng nhng ng dng
thng mi in t di nhiu hình thc khác nhau!
Bên cnh s h tr ca các h qun tr c s
d liu, chúng ta có th kt hp chúng vi mt
trong nhng kch bn trên trình ch nh ASP, JSP,
Perl,… hay PHP, chúng ta có th xây dng và trin
khai các ng dng mt cách d dàng vi nhiu nhiu
hình thc và mc ích khác nhau!
PHP và MySQL không nm ngoài mc ích trên!
Bt k chúng ta có mt kin thc c s v lp trình
vi các ngôn ng nh Visual Basic, Cobol, hay ch
bit mt chút ít vê HTML hay JavaScript, thì chng
áng là gì cã, chúng ta v n có c hi n!m b!t kinh
nghim mi m" vi lp trình nhng trang Web ng và
làm ch nhng ng dng thng mi in t! PHP và
MySQL nh là mt “c#p bài trùng”! Rt nhiu ngi
ã ngh$ rng, không có s kt hp nào t%t hn s
kt hp gia PHP và MySQL! Th PHP và MySQL là gì?
Ti sao chúng ta ch&n và xem chúng nh là c#p bài
trùng không th tách ri? Chúng ta s" ln lt n
vi t'ng th mt!
SVTH: Nguyn Anh Khoa
Lp 27K10A – Khoa công ngh Thông tin
ng Tháp, tháng 3 nm 2006
T
GVHD:
!"#$%
%&'(
$$$$
rong thi gian qua, c s giúp
ca các thy cô trong khoa Công
ngh Thông tin nói chung, và thy
(#ng Qu%c Bo nói riêng, bn thân em có s
tin trin lên t'ng ngày! Kin thc v Công
ngh Thông tin tht rng ln, em không th
nào t mình nghiên cu mt cách c lp mà
phi ph thuc rt nhiu vào nhng kin thc
mà thy cô ã hng d n và truyn t cho em!
Bên cnh ó vi s giúp ) tn tình ca thy
trong quá trình h&c tp, em ã tích cc thc
hin * án ca mình mt cách nghiêm túc! Vì
th cho nên, vi s giúp tht ln lao ca
y ã giúp em hoàn thành * án ca mình mt
cách y và không quá thi gian quy nh!
Tuy * án hoàn thành không hoàn toàn
nh mong mu%n, bên cnh ó còn nhiu khuyt
im tht ln mà em cha th nào kh!c phc
c, em mong rng, * án s" nhn c nhiu
ý kin óng góp ca thy, cô và bn bè, #c
bit là thy (#ng Qu%c Bo – Ngi ã hng
d n cho em trong su%t quá trình h&c tp – Em
chân thành cm n!
9;6$<:!!8
)#*+ , - /,
!"#$%
T
GVHD:
!"#$%
01/%-2 34
$$$$
567689:;8<5=>9?5
5 @7 9> @ 8 A << <B
CDEF@G<H7%I;J
K=;>LMN@@8O5568P
O;QB<BGP9;Q<DR9STU;>=
9VW=7X<@Y<I9?56KZ;[O
8<BG=\F:6X<H7X<D
%I@G@@G55
5@79>O59]V57<J<BG^@7D>
<<UO^@O_O;Q@79>9G9YV<_V<H7
<<O^@@8D`-`O5A@=UU
O^@?aI76<b8<<UO^@
<DR8U;V9G<H7B<X`-`O5AF
OF7<X9c9d<e<H7@5<:UO^@
YI@8f
;9:8IV`-`5'6EgO5h<C5@bi
G<@>7VD%K7<b9;Q<<<5@GZ
j<aK8D%K797O8OZ56AD
h=>?@%$>$A4%B$$%@% C%3iO5A<H 9]
;[9PaMk9P8@59P8U78;8<
5=8O^@Dj6<BOlO5AMF9HO89P8
U7685=]O^@97<^<UZ;8<
9@==7X<I9?D
> V <_V mVK On 56 76 9P 8 a <K <<
5O5<_@=?A@;>9?X<I<mVKOn
a<KKO5A9]V9[KfV69j6O5
AV<_VF<o<_9;Q<MN9P8Kj
9j6O5<H9]59:mV69\O5FOF7<X<H7f
GVHD:
!"#$%
'p%p%
$$$$
Trang
LI NÓI U 1
LI CM N 2
LÝ DO CHN TÀI 3
MC LC 4
MÔ HÌNH CLIENT – SERVER 12
Client 13
Server 13
CU TRÚC VÀ CÁC TH HTML 14
I. Khái nim c bn v Web 14
II. Cu trúc ca mt trang Web 14
III. Các th HTML thông dng 15
IV. Các th HTML c bit 20
CLIENT SCRIPT VÀ JAVASCRIPT 23
I. Gii thiu v JavaScript 23
II. Tham chiu n th HTML 24
III. Mt s bin c thng gp trong JavaScript 25
IV. Mt s phng thc thng gp trong JavaScript 26
V. Bin trong JavaScript 26
VI. Phát biu có iu kin 27
VII. Các phng thc kim tra d liu 29
VIII. Javascript Object Model 30
IX. i tng MATH và các phng thc 32
X. i tng DATE và các phng thc 32
XI. Các s kin trong JavaScript 34
H QUN TR CSDL MySQL 37
I. Gii thiu v CSDL MySQL 37
II. To CSDL và ngi dùng 38
III. Các kiu d liu trong MySQL 42
IV. Phát biu SQL 47
V. Phát biu dng JOIN 51
LP TRÌNH PHP 55
I. Gii thiu v PHP 55
II. Nhúng PHP vào trang HTML 57
III. Bin trong PHP 58
IV. Bin ca Apache 67
GVHD:
!"#$%
V. Kim tra bin 68
VI. Cu trúc iu khin 68
VII. Hng i tng trong PHP 74
NI DUNG ÁN 76
I. Gii thiu 76
II. Ni dung 76
III. S dng 77
III.1. Giao din vi ngi dùng 77
III.2. Chc nng ca Website 79
III.3. Cp nht thông tin ca sinh viên 83
III.4. Qun lý ngi dùng 86
IV. Vn trong vic vit chng trình 88
IV.1. Tr ngi vi Session 88
IV.2. Gii quyt vn phân trang 88
IV.3. Vn ng nhp và nút Back trên trình duyt 89
V. K thut trong lp trình 89
V.1. Phong cách trong lp trình 90
V.2. Trình bày mã lnh 91
V.3. Vn vi bin 92
KT QU T C VÀ HNG PHÁT TRIN 93
I. Kt qu t c 93
II. Nhng hn ch 93
III. Hng phát trin 93
TÀI LIU THAM KHO 94
NHN XÉT CA GIÁO VIÊN HNG DN 95
GVHD:
!"#$%
'q-r -%s tEsuRsu
$$$$
in trúc cn bn nht mt trang Web ng (Dynamic Web) hot
ng c là nó phi làm vic trên m hình Client – Server (Xem
hình), hay nói mt cách khác là Client – Server là nhng i tng
riêng bit, chúng phi m ng nhng công vic riêng, nhng cùng hng v mt
kt qu chung nht là cho ra mt trang Web ng.
Khác hn vi nhng công vic son tho vn bn hng ngày, ni mà chúng ta
chng cn quan tâm n các khái nim nh Client hay Server! Nhng khi bc vào th
gii Internet, có vô vàng nhng Website ra i, tip cn và to ra nhng trang
Dynamic nh th, khái nim Client – Server là mt trong nhng khái nim rt quan
trng mà nhng ai mun chinh phc nh cao ca th gii thông tin cn phi bit!
ng dng Web là th! Phi có mt mô hình Server, có th ch là mt máy ch
thôi, nhm tp trung hóa x lý d liu, còn Client, hay hiu mt cách khác ó là
máy tính ca ngi s dng ni mng vi Server, giã s chúng ta ngi trên mi máy
tính khác nhau, nhng cùng truy cp vào mt Website, iu ó có ngh a là chúng ta
ang truy cp n Server ly d liu và hin th! v máy tính ca mình! Nói rng
hn, có hàng trm, hàng ngàn ngi cùng truy cp vào mt Website c x lý tp
trung trên Server!
Chúng ta hãy b"t u vi nhng khái nim này!
K
GVHD:
!"#$%
CLIENT (Trình khách)
Nh chúng ta ã bit, HTML là ngôn ng kh#i thy cho trình duyt Web,
HTML cung cp hàng ngàn th$ lnh <TAB> cho phép hin th! ni dung ca trang
Web theo nhiu kiu khác nhau, theo nhiu !nh dng khác nhau! %ây chính là nhng
gì mà trình duyt gi v phía User t& Server! Tuy nhiên, chúng ta không nên mt
nhiu thi gian hiu sâu v HTML.
SERVER (Trình ch)
Hu ht các 'ng dng Web u hot ng trên trình ch Server, 'ng dng (c
trng gi là Web Server s) m nhn nhim v giao tip vi các Browser (trình
duyt). Mt c s# d liu trên Server s) lu toàn b nhng thông tin áp 'ng yêu cu
cho công vic ca 'ng dng Web. Tuy nhiên, chúng ta cn có mt ngôn ng lp trình
vi vai trò là cu ni liên lc gia Web Server và c s# d liu. Ngôn ng này c*ng có
nhim v là x lý thông tin gia Server và Client.
GVHD:
!"#$%
%v#uw%R4%x%-y-'
$$$$
DE)F"GH=I/
Trên Internet, Web luôn tn ti di hai dng là Web tnh và Web ng. Trang
Web tnh là trang HTML bình thng không thao tác n c s# d liu, còn trang Web
ng thì ngc li, ó là trang Web có thao tác n c s# d liu. %iu này có ngh a
là khi trang Web c Refresh (làm ti), ni dung trình bày trên trang Web c
c t& c s# d liu.
Nói mt cách khác, dù là trang Web tnh hay ng, nu bn mun ngi dùng
s dng chúng trình bày d liu trên trình duyt Web, bn cn phi khai báo các th$
HTML bên trong theo mt quy lut nht !nh.
% trang Web trình bày d liu theo nh ý ca bn trên Brower, bn cn phi
khai báo các th$ HTML và các k!ch bn trình khách (Client Script) phù hp vi chu+n
HTML và Client Script. Ngoài ra, mi trình duyt h, tr thêm các th$ khác, nhm cho
phép ngi dùng phong phú hóa giao din ca trang Web.
Hai trình duyt ph, bin nht hin nay là Internet Explorer (IE) và Netscape
(NC).
% xây d-ng mt 'ng dng Web hoàn chnh và mang tính cht thng mi,
bn cn phi kt hp cã Client Script và Server Script (Kch bn trên trình khách và
kck bn trên trình ch) vi mt loi c s# d liu nào ó, chng hn nh: Microsoft
Access, SQL Server, MySQL,…
Cho dù bn có s dng Server Script nào i na, thì v.n không ph thuc vào
Client Script.
D"J-KL""MFNK(=I/
Nh ã nói trên, trang Web trình bày d liu trên trình duyt di dng
HTML.
HTML (Hyper Text Markup Language) là mt ngôn ng ánh du siêu vn
bn c dùng trong d!ch v Web ca Internet cho phép !nh dng các khuôn dng
ca thông tin và cách mà trình duyt Web hin th! thông tin cho các ngi dùng.
Các thông tin trên Web c t, ch'c theo dng có cu trúc. HTML !nh ngh a
các cu trúc này thông qua các th$ (Tag). Mi cu trúc c !nh ngh a thông qua mt
th$ hay mt c(p th$.
Cu trúc ca mt tài liu HTML c b"t u bng th$ m# <HTML> và kt
thúc bng th$ óng </HTML>. Trang HTML thng có phn m# rng là .htm, .html,
.jhtm, .phtm, nhng ph, bin và hay dùng hn cã là .htm hay .html.
C(p th$ này s) bao tt cã các th$ khác có trong trang Web.
GVHD:
!"#$%
HTML không phân bit ch hoa hay thng, ví d nu th$ m# là <HTML>,
thì các th$ </Html> hay </HTML> u là th$ óng. Nên chú ý là không có khong
tr"ng bên trong !nh ngh a th$!
HTML có hai loi th$, loi th$ m# phi có th$ óng, và loi th$ m# không có
th$ óng (th n).
Ví du:
<HTML>…</HTML> Là loi th$ m# phi có th$ óng.
<BR> hay <HR> Là loi th$ n.
Cu trúc ca mt tài liu HTML:
<HTML>
<HEAD>
<TITLE>Tieu de trang Web</TITLE>
<META…>
<LINK…>…</LINK>
<SCRIPT….>…</SCRIPT>
</HEAD>
<BODY>
Than trang Web
</BODY>
</HTML>
D"E"OF'(*P(
1.Th <HEAD>…</HEAD>:
Tt cã thông tin ch'a trong th$ này u không xut hin trên trang Web,
iu này có ngh a là bn có th khai báo các th$ khác bên trong c(p th$ này
nh <TITLE>, <META>, <SCRIPT>,…
2.Th <TITLE>…</TITLE>:
Th$ này giúp bn trình bày tiêu trên trang Web, c hin th! tiêu
trên thanh tiêu ca trình duyt, thí d:
<TITLE>Do an mon hoc II</TITLE>
3.Th <BODY>…</BODY>:
Phn thân ch'a thông tin chính ca trang Web c (t bên trong c(p
th <BODY> và </BODY>. Tt cã thông tin c trình bày trong th này u
xut hin trên trang Web. Vì th, bn có th trình bày ni dung và các th !nh
dng khác trong c(p th này.
<BODY BACKGROUND=“ULR” BGCOLOR=#XXYYZZ TEXT=
“#XXYYZZ”>
Noi dung phan than cua trang Web
</BODY>
%!nh ngh a phn phân ca trang Web.
GVHD:
!"#$%
- Thuc tính BACKGROUND nh ngha nn ca trang hin th.
ULR thng ch n mt file hình nh.
- Thuc tính BGCOLOR thng nh ngha màu nn, trong ó XX
ch cng màu , YY ch cng màu xanh lá cây và ZZ ch
cng màu xanh bin, các giá tr t 000000 n FFFFFF.
- Thuc tính TEXT ch nh màu ca vn bn.
Ngoài ra, i vi màu, bn có th dùng t& ting Anh nh RED, BLUE,
GREEN !nh ngh a màu trong các th trên.
4. Các th nh dng
4.1.Th <DIV>…</DIV>
%!nh dng mt on vn bn bng các thuc tính ca chúng. Chng hn
canh gia mt on vn bn, trong th m# !nh ngh a nh sau <DIV
ALIGN=Center>
Ví d :
<DIV ALIGN=Center>
Day la doan van duoc canh giua.
Tat ca nhung gi trong the nay duoc canh giua tren cua so trinh
duyet!
</DIV>
4.2. Th <P>…</P>:
Tng t nh th <DIV>, nhng th này dành !nh dng mt câu vn bn,
sau th </P>, d liu t- ng xung dòng.
4.3. Th <FONT>…</FONT>:
Cho phép !nh dng text, vi các thuc tính c !nh ngh a trong th
<FONT>.
Ví d:
<FONT FACE=”Courier New” SIZE=3>
Dong text nay duoc dinh dang voi font chu la Courier New, kich
co la 3
</FONT>
4.4. Th <B>…</B>, <I>…</I>, <U>…</U>:
<B>…</B> : %!nh dng ch! "m.
<I>…</I> : %!nh dng ch nghiên.
<U>…</U> : %!nh dng ch dng có gch di.
4.5. Th nh dng bng <TABLE>…</TABLE>:
<TABLE BORDER=number CELLPADING=number
CELLSPADING=number WIDTH=number/percent
HEIGHT=number/percent ALIGN=LEFT/RIGHT>…<TABLE>
• Khai báo mt bng theo hàng và ct.
GVHD:
!"#$%
• Number trong thuc tính BORDER ch !nh dày ng biên ca
bng. Nu không dùng thuc tính này, mi ô s) c bao quanh mt
khong trng. Dùng BORDER=0 b/ khong trng.
• Number trong CELLPADING xác !nh s khong trng gia biên
và ni dung ca mt ô.
• Number trong CELLSPACING xác !nh s khong trng bao
quanh các ô trong mt bng.
• Number/percent trong WIDTH (ho(c HEIGHT) xác !nh rng
(hay chiu cao) ca bng theo pixel hay theo phn trm rng (hay
chiu cao) ca tài liu.
• LEFT/RIGHT trong ALIGN dùng canh bng v bên trái/phi ca
trang.
Khi thit k bng, chúng ta cn quan tâm n ng viên (BORDER), và
màu nn ca bng <BGCOLOR>, và khong cách gia các hàng và các ct
(Cellspacing, Cellpadding).
Tng t-, i vi th <TD> bn cn quan tâm n rng, và vi th
</TD>, bn cn quan tâm n chiu cao.
4.6. Th hình nh <IMG>:
% chèn mt hình nh vào trang Web, chúng ta s dng th <IMG>. %ây
là loi th n. Ngoài ra, bn có th cung cp các thuc tính nh chiu dài và
chiu rng ca hình, có ng viên bao quanh hình hay không.
<IMG SCR = “ULR” ALT= “Text” USEMAP = ”#map_name”
ALIGN = LEFT/RIGHT/MIDDLE/BOTTOM BORDER = number
WIDHT = number/percent HEIGHT=number/percent
HSPACE = number VSCACE = number>
• %a hình nh vào mt tài liu.
• SRC xác !nh ULR ch v! trí ca file nh.
• ALT c dùng d trù cho các trình duyt Web không h tr ha,
thay th nh bng mt dòng vn bn.
• ALIGN ch !nh cách các vn bn s) trãi ra xung quanh nh.
• BORDER ch !nh dày ng vin xung quanh nh.
• USEMAP xác !nh tên ca mt ánh x cn phi n tìm thông tin.
Thông tin này ch'a các !nh ngh a các vùng có th kích hot trong
hình. Thuc tính này c dùng kt hp vi các th <MAP> và
<AREA> bên di.
• HSPACE !nh s khong tr"ng gia nh và các vn bn bên trái và bên
phi ca nó.
• VSPACE !nh s khong tr"ng gia nh và các vn bn bên trên và
bên di ca nó.
4.8.Th <MAP NAME= “map_name”>…</MAP>
GVHD:
!"#$%
• %!nh ngh a tên mô tã các vùng có th kích hot trên nh. Khi nhn vào
các vùng này, mt liên kt ngoài s) c kích hot ch n mt tài liu
khác ch !nh b#i URL trong th <AREA>
<AREA SHAPE=value COORDS= “…” HREF= “URL” ALT= “”>
• %!nh ngh a mt vùng trên hình nh mà khi nhn vào ó s) kích hot
mt liên kt ngoài n mt tài liu khác c ch !nh b#i URL thuc
tính HREF.
• SHAPE ch !nh hình dng ca vùng, value có th là POLYGON,
RECT, ho(c CIRCLE, m(c !nh là RECT.
• COORDS ch !nh ta ca vùng, tng 'ng nh sau:
- POLYGON: Ta là “P1
x
, P1
y
, P2
x
, P2
y
,,…”.
- RECT : Ta là “P1
x
, P1
y
, P2
x
, P2
y
”.
- CIRCLE : Ta là “X, Y, RADIUS”
4.9. Th liên kt <A>…</A>:
% to ra mt liên kt n các trang Web khác ho(c liên kt n các
bookmark ngay trên trang, bn s dng th <A>…</A> vi thuc tính HREF
bên trong th m# <A> nh sau:
<A HREF= “”>Link</A>
Bn có th to liên kt cho mt hình nh nh sau:
<A HREF= “”>
<IMG SRC= “D:/WWW/images/mypicture.jpg”>
</A>
Bookmark là mt im ánh du trên trang Web. T& trên cùng mt
trang, ta có th n bookmark này ho(c t- các trang Web khác thông qua các
th siêu liên kt.
% to ra mt bookmark, ta !nh ngh a nh sau:
z, ,'s{h==7@i|17V@7z},|
4.9. Phân cách các ph n ca tài liu
- Th <Hn ALIGN=CENTER/LEFT/RIGHT>Text</Hn>
Ch'a các tiêu ca các phn theo nhiu cp trong tài liu, trong ó
n là s t& 1 n 6.
Thuc tính ALIGN xác !nh hin th! các tiêu dng canh gia, canh
trái, canh phi.
- Th <BR>:
Ch !nh xung dòng.
- Th <CENTER>Text</CENTER>
Ch !nh phn vn bn c canh gia/ canh trái/ canh phi
- <HR SIZE=number WIDTH=number/percent COLOR=color> :
K) ng ngang phân cách các phn ca trang Web
Number thuc tính ca SIZE ch dày ca ng k).
GVHD:
!"#$%
Number thuc tính ca WIDTH dùng khai báo rng tuyt i (Tc
s pixel), và khai báo percent khai báo s phn trm so vi rng
ca trang. M(c !nh ng k) s) có rng là toàn b rng ca
trang.
%ng k) này có th c canh trái, phi, hay canh gia d-a vào
thuc tính ALIGN=LEFT/RIGHT/CENTER.
4.10. Th <PREV>Text</PREV>
Ch !nh Text hin th! khi nó c son.
4.11. Th <ADDRESS>Text<ADDRESS>
Ch !nh phn vn bn s) dng nghiên thng c dùng ch !nh
các !a ch Email, thng (t # cui trang.
4.12. Các th to danh sách
• Th <OL>…</OL>:
o Khai báo danh sách có ánh s th t các mc
o M!i mc trong danh sách c ánh du b"ng th <LI>
• Th <UL>…</UL>:
o Khai báo danh sách không ánh s th t các mc.
o M!i mc trong danh sách c ánh du b"ng du tròn (Bullet).
o M!i mc trong danh sách c ánh du b"ng th <LI>.
• Th <MENU>…</MENU>:
o Khai báo menu.
o M!i mc trong menu c ánh du b"ng th <LI>
• Th <DIR>…</DIR>:
o Khai báo danh sách các th mc.
• Th <LI>…</LI>:
o nh ngha mt mc trong danh sách.
• Th <DL>…</DL>:
o Khai báo danh sách các nh ngha hoc bng chú gii các thut
ng (Definition List/Glossary).
o M!i thut ng c ánh du b"ng th <DT>.
• Th <DT>Text:
o nh ngha mt thut ng (Definition Term).
• Th <DD>Text:
o Xác nh ngha nh ngha tng ng cho mt thut ng
GVHD:
!"#$%
D"E"OF+"/)
IV.1. Chú thích và mt s ký t c bit
HTML c*ng cho phép a vào các chú thích trong tài liu ca nó. Ngoài ra
HTML c*ng a vào mt s ký t- khóa, do ó phi dùng mt s quy c khi s dng
các ký t- này nh các vn bn trong tài liu HTML.
<!- - Nhung gi trong cap the nay la chu thich - ->
< Dùng thay cho ký t- <
> Dùng thay cho ký t- >
& Dùng thay cho ký t- &
$quot Dùng thay cho ký t- “”
IV.2. Khung (Frame)
Khung c xem nh là mt trang Web c lp c chen vào bên trong mt
trang Web khác. Mi khung con s) có mt Scrollbar riêng khác vi thanh cun ca
trình duyt Web cung cp cho trang Web chính.
Trong các trang Web thông thng phn thân ca tài liu c (t gia hai th
<BODY></BODY>. Trong trng hp các khung, phn thân ca tài liu c (t
gia hai th <FRAMSET> và </FRAMSET>.
Các th sau ây s) to ra các khung ch'a thông tin khác nhau trên mt trang
Web khác.
<FRAMESET ROW=“h_zone1”,“h_zone2”, h_zone3,…”>…</FRAMESET>
• Cho phép phân chia mt vùng thành nhiu vùng con theo chiu ngang.
• Mi mc h_zone xác !nh chiu cao ca vùng con, và có th c a
vào theo 3 dng:
o n: Mt s ch nh chiu cao theo s pixel.
o N%: Ch nh chiu cao theo ph n trm ca kích thc vùng cha.
o *: Ch nh cho trình duyt cung cp cho vùng con tt cã không gian
có th.
<FRAMESET COLS=“w_zone_1,w_zone_2, w_zone_3…”>…</FRAMESET>
• Cho phép phân chia mt vùng thành nhiu vùng con theo chiu dc.
• Mi mc w_zone_n xác !nh rng ca vùng con, và có th c a
vào theo 3 dng tng t- nh ROWS.
<FRAMESET SRC=”URL” NAME=”zone_name” MARGINWIDTH=”n”
MARGINHIEGTH=”N” FRAMEEBORDER=number SCROLLING=
“yes/no”/auto NORESIZE>
• Cho phép !nh dng các vùng con ã c !nh ngh a b#i
<FRAMESET>.
• SRC: Ch !nh URL ca tài liu s) c hin th! trên min con này.
• NAME: Dùng (t tên cho vùng.
• MARGINWIDTH: Cho phép các ch !nh s pixel trng n gia l trái và
phi ca khung vi tài liu hin th! trong khung.
GVHD:
!"#$%
• MARGINHEIGTH: Cho phép các ch !nh s pixel trng n gia l trên
và di ca khung vi tài liu hin th! trong khung.
• FRAMEBORDER: Quy !nh ng vin quanh khung theo s pixel.
M(c !nh là 0, t'c là không có ng vin.
• SCROLLING: Ch !nh khung có thanh cun (Yes) hay không có thanh
cun (No), ho(c tùy vào trình duyt (Auto).
• NORESIZE: Ch !nh không th thay ,i kích thc ca khung.
<NOFRAME>Text</NOFRAME>
Ch !nh v! trí s) hin th! Text ti v! trí ca khung trong trng hp trình duyt
không h, tr cho các trang khung.
IV.3. Biu mu (FORM)
Biu m+u là ni cho phép ngi dùng nhp vào các thông tin. Các thông tin có
th c a vào di dng: Nhp vào các dòng ký t-, ánh du vào các tùy chn…
<FORM METHOD= “POST/GET” NAME= “name” ACATION= “URL”
[TARGET= “FRAME”]>
</FORM>
• Khai báo mt biu m+u.
• METHOD ch !nh phng pháp biu m.u chuyn thông tin cho các
tp tin th-c thi x lý thông tin nhp.
• ACTION ch !nh URL ca tp tin th-c thi.
• TARGET ch !nh tên khung, ni mà thông tin s) hin th!.
<TEXTAREA NAME= “name” ROWS= “n” COLS= “n”></TEXTAREA>
• Khai báo mt vùng text nhiu dòng, cho phép nhp liu kiu d liu
kiu vn bn có s dòng cha xác !nh trc. Tag này (t gia
<FORM> và </FORM>, và có th dùng nhiu tag này nhp nhiu
thuc tính thông tin.
• NAME ch !nh tên ca thuc tính thông tin.
• TYPE ch !nh kiu ca thuc tính thông tin., có th là:
- Text: Dùng nhp vào thông tin cho mt trng d liu.
- Radio: Dùng chn các phng án loi tr& nhau (Radio button).
- Checkbox: Cho phép chn các phng án không loi tr nhau
(Checkbox).
- Submit: Dùng thit lp các nút nhn (Push button) cho mnh lnh
kt thúc vic nhp thông tin cho biu m.u, gi thông tin v Server.
- Reset: Dùng thit lp các nút nhn (Push button) cho mnh lnh xóa
các thông tin ã nhp nhp li t& u.
<SELECT NAME= “name” SIZE= “number” MULTIPLE>…</SELECT>
• Cho phép nhp liu cho mt thuc tính thông tin bng cách chn mt
ho(c nhiu tùy chn (option) trong s các giá tr! tùy chn ã khai báo
trc. Hin th! ca th này trên trang Web s) là mt hp có m*i tên
xung lit kê danh sách các tùy chn. Tag này phi (t gia <FORM>
và </FORM>, và có th dùng nhiu tag này khai báo nhiu thuc
tính thông tin theo dng tùy chn.
GVHD:
!"#$%
• NAME ch !nh tên ca thuc tính thông tin
• SIZE ch !nh s tùy chn s) c hin th! trong hp c xác !nh b#i
number. Mun hin các tùy chn còn li, ta nhn m*i tên xung.
• MULTIPLE: nu có s) cho phép chn nhiu tùy chn.
<OPTION VALUE= “value” SELECTED>Text</OPTION>
• Dùng khai báo mt tùy chn cho tag SELECT. Tag này phi (t gia
<SELECT> và </SELECT>, và có th dùng nhiu tag này khai báo
nhiu tùy chn.
• VALUE: Khai báo giá tr! s) chuyn n Server khi ta chn tùy chn
này.
• SELECTED: Nu có s) ch !nh ây là giá tr! m(c !nh.
• Text: Ch !nh dòng text i din cho tùy chn khi hin th! trên trang
Web.
V.Cu trúc ca th <SCRIPT> v#i JavaScript:
Cu trúc ca mt th <Script> trong mt trang Web c mô t nh sau:
<SCRIPT LANGUAGE= “JavaScript”>
// Khai bao bien:
function tenham() {
// Khai bao bien va cac cau lenh
// Cac phat bieu dieu kien
}
</SCRIPT>
Bn có th khai báo th <SCRIPT> bt k0 ni nào trong trang Web. Nhng
theo cu trúc ca trang HTML, bn nên khai báo th <SCRIPT> trong th$ <HEAD>.
Tuy nhiên, chúng hp logic lp trình, bn cn khai báo trc khi gi chúng,
b/i khi trang Web c load t& trình duyt, nó s) np t& u trang.
Nu u trang Web có gi mt phng th'c mà cha c !nh ngh a trc
ho(c !nh ngh a trc khi gi thì s) phát sinh li trên trình khách.
GVHD:
!"#$%
%s E%u`R4~,R,E%u`
$$$$
D(Q)-HR"KS
• Là 1 ngôn ng dng Script
• Thông d!ch ngay ti trình duyt.
• Có 2 dng th'c c bn: client-side JavaScript và server-side JavaScript.
• Là 1 ngôn ng hng i tng, cung cp sn 1 s i tng có sn.
• %c lp vi nn h iu hành (platform-independent) mi1n là trình duyt
có kh nng thông d!ch JavaScript (JavaScript-enabled).
• Thit k nhm mc tiêu m# rng kh nng tng tác ca các 'ng dng d-a
trên nn tng Web vi ngi s dng.
I.1. Các t khóa ca JavaScript:
abstract else int switch
boolean extends interface synchronized
break false long this
byte final native throw
case finally new throws
catch float null transient
char for package true
class function private try
const goto protected typeof
continue if public var
default implements return void
delete import short while
do in static with
double instanceof super
I.2. nh danh trong JavaScript:
Các qui t#c khi t tên bin:
• Tên phi b"t u bng ch cái hay du gch di (_).
• Các ký t- còn li là ký t-, ký s hay ký t- gch di.
• Không dùng các t& khóa trong JavaScript làm tên bin.
• Không dùng khong tr"ng và các ký t- (c bit trong tên.
I.3. nh danh trong JavaScript:
HP L KHÔNG HP L
mynumber my number
student_no student.no
male *male
year2001 2001th
DF"T-TOF
GVHD:
!"#$%
Mi 'ng dng Web u có s dng ít hay nhiu nhng k!ch bn JavaScript,
nhm làm tng thêm tính thân thin ngi dùng, kim tra d liu nhp, thao tác trên
trình duyt,…
Khi duyt trang Web, nu trang Web cho phép ngi dùng nhp liu, bn cn
phi vit mt s phng th'c JavaScript kim soát d liu nhp vào có hp l hay
không? % th-c hin iu này, bn cn phi khai phng th'c kim tra d liu bng
JavaScript hay VBScript.
Vi trng hp bn ã submit d liu lên Server, trang này ã mt d liu
trc, khi tr# li bn cn thông báo cho ngi dùng bit d liu nào không hp l, nh
th s) g(p nhiu vn .
% gii quyt vn trên, mt gii pháp cho n bây gi v.n còn hiu qu là
s dng nhng phng th'c JavaScript kim tra d liu trc khi submit lên Server
Side.
Còn nhiu ch'c nng khác na mà JavaScript óng vai trò quan trong trong
lp trình Web.
II.1. Nguyên tc trong JavaScript
o Mi câu lnh trong JavaScript u kt thúc bng du chm ph+y “;”
o Các iu kin c khai báo trong c(p du ngo(c n ( ).
o Hàm c !nh ngh a bng t& khóa function, các bin a vào không
cn khai báo kiu d liu.
o Tuy nhiên, khai báo bin, bn cn t& khóa var 'ng trc tên bin.
o Trong phát biu iu kin, nu có nhiu hn mt câu lnh, bn cn bao
trong c(p du ngo(c nhn { }.
II.2. Tham chiu n th HTML
% tham chiu n th$ HTML, bn cn xác !nh loi th$, thuc tính ca th$.
% HTML c tham chiu, chúng cn phi có Name và ID nhn dng.
Sau ây là bng tham chiu n giá tr ca th HTML:
Th Ví d
Text document.form.txtUsername.value
Hidden document.form.txtFrom.value
Password document.form.txtPass.value
radio document.form.rdGioitinh.value
Tuy nhiên, ôi khi bn mun tham chiu n các thuc tính khác nh chiu dài
ca các th$ trên, bn c*ng có th s dng các thuc tính nh bng trên, c th nh sau:
Bng tham chiu n chiu dài ca th HTML
Th Ví d
GVHD:
!"#$%
Text document.form.txtUsername.length
Hidden document.form.txtFrom.length
Password document.form.txtPass.length
radio document.form.rdGioitinh.length
Ngoài ra, tham chiu n trng thái ca mt s th$ trên, bn c*ng có th s
dng thuc tính trng thái nh sau:
Bng tham chiu n chiu dài ca th HTML
Th Ví d
select document.form.cbThanhpho.selectedIndex
select document.form.cbNganhdaotao.selected
checkbox document.form.chkId.checked
radio document.form.rdGioitinh.checked
Ngoài ra còn nhiu cách tham chiu n các th$ nm ngoài th$ Form na.
DFN./T".UV((+SK&(R"KS
Khi ngi dùng th-c hin mt hành ng nào ó trên mt s th$ HTML, bn
có th s dng mt s phng th'c ca JavaScript hay phng th'c do ngi dùng
!nh ngh a thông qua bin c phát sinh.
Danh sách mt s bin c xãy ra trên các th$ HTML khi s dng JavaScript
c trình bày nh sau:
Mt s bin c trên th HTML:
Bin c Din gii
OnClick Khi ngi dùng nhn nút chut trên th+
OnSubmit Khi ngi dùng trình thông tin lên trình ch
OnReset Khi ngi dùng hy b, nhng thông tin ã nhp
OnActive Khi form hot ng.
OnLoad Khi form c np lên trình duyt
OnUnload Khi form c óng li
OnMouseover Khi chut di chuyn vào th+
OnMouseOut Khi chut di chuyn ra kh,i th+
OnBlur Khi con tr, di chuyn ra khõi th+
OnKeyPress Khi phím c n
GVHD:
!"#$%
DFN.SUG(W"UV((+SK&(R"KS
Ngoài các phng th'c JavaScript do ngi dùng !nh ngh a, JavaScript còn
có cã mt th vin phng th'c cho phép ngi dùng th-c hin mt s hành ng nào
ó thay vì s dng thông qua các bin c.
1. Mt s phng thc ca JavaScript:
alert(str) - Xut hin mt hp thoi vi ni dung là str
confirm(str) - Hp thoi xác nhn g*m 2 nút OK và Cancel
promt(str,default) - Hp thoi vi ni dung là str, giá tr
mnh default cho phép ngi dùng nhp vào giá tr.
f.submit() – Submit form có tên f
f.reser() – Reset form có tên f
…………………………………
Ngoài ra, JavaScript còn có nhiu phng th'c iu khin ca s, trình duyt
c lit kê mt s di ây:
2. Mt s phng thc JavaScript iu khin ca s trình duyt
Phng thc Din gii
window.close() (óng ca s trình duyt
window.open(URL) M mt ca s trình duyt vi a ch URL
window.history.back(i) Tr v trang trc ó i ln.
window.history.go(-i) Tr v trang trc ó i ln.
window.print() M hp thoi Print in trang Web
document.write(str) In chui str lên trang
window.external.AddFavorite(URL)Thêm URL vào Favorite ca browser
D/TK&(R"KS
% khai báo bin trong JavaScript, bn cn dùng t& khóa var i trc tên
bin. C*ng nh ngôn ng C, bin có th c kh#i to giá tr! trong khi khai báo hay có
th gán khi dùng nh sau:
var i=0;
var j=0; str= “I am Khoa”;
var x, y;
// Day la chu thich
// Phep gan cac bien nhu trong ngon ngu C hay Java:
i++; // i=i+1;
i ; // i=i-1;
i-=2; // i=i-2;
str= “I love Java”;
str+= “Script”; // str=str+ “Script” = “I love JavaScript”
GVHD:
!"#$%
Các phép toán trong JavaScript:
Tng t- nh Java, bn có mt s phép toán so sánh nh sau:
Phép toán Din gii
== So sánh bng
!= So sánh khác nhau
|| So sánh OR
&& So sánh AND
! Phép toán ph nh
?: Phép thay th phát biu if và else n gin
DSE/X-"YH-)
C*ng nh các ngôn ng lp trình khác, i vi JavaScript, bn c*ng có th s
dng mt s phát biu iu kin nh if, if…else, for, while, và switch.
1. Phát biu if:
var i=0; x=0;
i+=5;
if (i>5) {
x+=I;
i++;
}
2. Phát biu else:
i+=5;
if (i>5) {
x+=I;
i++;
}
else {
i ; x-=i;
}
3. Phát biu while:
Phát biu while dùng l(p mt s ln không xác !nh bit trc, s ln l(p
ph thuc vào iu kin ca phát biu while nh ví d sau:
var i=0, x=0;
i+=5;
while (i>0) {
x+=i;
i ;
}
4. Phát biu for:
Phát biu for dùng l(p li mt s ln xác !nh, s ln ph thuc vào gii
hn trên ca phát biu for nh ví d sau:
var x=0; str= “Lan thu ”;
GVHD:
!"#$%
x+=5;
// Khai bao bien i ngay trong vong for, giong Java
for (var i=1; i<=x; i++) {
str+=i;
}
Ngoài ra, bn c*ng có th phát biu for in i vi các thuc tính ca i
tng hay i vi các phn t mng. Chng hn trong trng hp này, chúng ta truy
cp n các thuc tính ca i tng Scores bng cách s dng bin x nh sau:
for (x in Scores) {
// cac cau lenh;
}
5. Phát biu switch… case:
Phát biu switch dùng r) nhánh mt s ln nht !nh trc, thay vì bn s
dng phát biu if trong trng hp này bn chuyn sang s dng phát biu switch nh
ví d sau:
switch (number(month)) {
case 1: // Thang gieng
case 3: // Thang ba
case 5: // Thang nam
case 7: // Thang bay
case 8: // Thang tam
case 10: // Thang muoi
case 12: // Thang muoi hai
return 31; // Tra ve 31 ngay
break;
case 4: // Thang tu
case 6: // Thang sau
case 9: // Thang chin
case 11: // Thang muoi mot
return 30; // Tra ve 30 ngay
break;
case 2: // Thang hai
if (isLeadYear(nam)) return 29;
else {
return 28;
}
break;
default:
return 0;
}
Nu nh có nhiu case có giá tr! ging nhau, bn có th khai báo nh trên:
case 4: // Thang tu
case 6: // Thang sau
case 9: // Thang chin
case 11: // Thang muoi mot
return 30; // Tra ve 30 ngay
break;
6. Phát biu break và continue
GVHD:
!"#$%
Phát biu break dùng thoát ra khõi vòng l(p for, while, hay switch khi cn
thit. Tng t- nh vy, phát biu continue cho phép tip tc th-c hin trong phát
biu vòng l(p for, while hay switch.
D"E"SUG(W"XFK*Z)-
Khi bn submit d liu trên Form lên Server, bn cn vit mt hàm kim tra
d liu có hp l hay không trc khi cho phép d liu trên form c submit lên
Server.
function checkInput() {
if (document.frmDangnhap.txtUsername.value=="") {
alert ("Vui long nhap Username!");
document.frmDangky.txtUsername.focus();
return false;
}
if (document.frmDangnhap.txtPassword.value =="") {
alert ("Vui long nhap Password!");
document.frmDangky.txtPassword.focus();
return false;
}
return true;
}
Trong ví d trên, trc tiên bn kim tra giá tr! nhp vào trong th$ text có tên
txtUsername, nu giá tr! r,ng, mt thông báo xut hin nh hình bên di, và chuyn
con nháy vào th$ này bng phng th'c focus().
Tng t- nh vy, bn có th kim tra th$ password có tên txtPassword, nu
không c cung cp mt giá tr!, hay nói cách khác là r,ng ô text password, khi
submit form, mt thông báo li s) xut hin.
Tip theo phng th'c tr v giá tr! false, iu này có ngh a là Form không
c submit cho n khi phng th'c tr v giá tr! true.
Nu c hai trng hp u hp l, có ngh a là ngi dùng có nhp d liu vào
hai th$ txtUsername và txtPassword, phng th'c trên tr v true, form c submit
theo yêu cu ca ngi dùng.
GVHD:
!"#$%
Nh vy ta s) gi phng th'c trên nh sau:
<FORM NAME=frmDangnhap METHOD=“POST” onsubmit=“return checkInput();”
ACTION= “taikhoan.php”>
Nu phng th'c tr v true, form này s) c submit. Ngc li, trong
trng hp ngi dùng không nhp !a ch Username, mt thông báo li s) hin ra và
con tr/ nhãy n th$ txtUsername yêu cu nhp li. Tng t- i vi trng hp
không nhp Password.
DR"KS&/RI"F&*I
• S dng Mô hình i tng trong JavaScript (JavaScript Object Model)
nhm iu khin ca s trình duyt ho(c vn bn HTML.
• Cu trúc ca mô hình là 1 cây phân cp vi các loi i tng nhm mc
tiêu cung cp cho NSD nhng i tng d1 thao tác và s dng, cho phép
tác ng n trang web , ca s, trình duyt,… mt cách d1 dàng.
• NSD có th dùng các phng th'c và thuc tính ca các i tng ca
JavaScript tác ng n ca s trình duyt, các frame và các thành phn
HTML ang hin trong ca s trình duyt.