You are on page 1of 122

http://www.ebook.edu.

vn 1

Lêi nãi ®Çu


Trong nh÷ng n¨m gÇn ®©y, cïng víi sù ph¸t triÓn cña C«ng nghÖ th«ng tin,
m¹ng m¸y tÝnh ®ang ®−îc ph¸t triÓn réng r·i, mét trong nh÷ng øng dông phæ biÕn
trªn m¹ng m¸y tÝnh lµ Internet vµ c¸c dÞch vô trë nªn kh«ng thÓ thiÕu trong cuéc
sèng hiÖn ®¹i. §Ó phôc vô viÖc häc tËp nghiªn cøu cña sinh viªn cao ®¼ng CNTT,
chóng t«i biªn so¹n gi¸o tr×nh ThiÕt kÕ vµ lËp tr×nh Web. Gi¸o tr×nh bao gåm 5
ch−¬ng, mçi ch−¬ng ®Òu cã phÇn kiÕn thøc lý thuyÕt vµ c©u hái nghiªn cøu cô thÓ.
Ch−¬ng 1: Giíi thiÖu chung
Giíi thiÖu c¸c kh¸i niÖm c¬ b¶n vÒ m¹ng m¸y tÝnh, Internet, ®Þa chØ IP, giao
thøc truyÒn th«ng vµ c¸c kh¸i niÖm kh¸c.
Ch−¬ng 2: ThiÕt kÕ Web víi ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n (HTML)
Tr×nh bµy kh¸i niÖm ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n, c¸c thµnh phÇn c¬ b¶n vµ
cÊu tróc cña mét tËp tin HTML. Giíi thiÖu c¸c vÊn ®Ò liªn quan ®Õn viÖc sö dông
có ph¸p vµ hiÖu øng cña ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n, ®Ó lËp tr×nh Web.
Ch−¬ng 3: Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web
Giíi thiÖu hai ng«n ng÷ kÞch b¶n phæ biÕn hiÖn nay lµ VBScript vµ JavaScript.
H−íng dÉn c¸c b−íc tiÕn hµnh khai b¸o, lËp tr×nh vµ sö dông ng«n ng÷ kÞch b¶n
trong HTML.
Ch−¬ng 4: LËp tr×nh Web ®éng víi c«ng nghÖ ASP
Giíi thiÖu lËp tr×nh Web ®éng víi c«ng nghÖ ASP (Active Server Page). C¸c
kh¸i niÖm c¬ b¶n, c¸c ®èi t−îng c¬ b¶n trong ASP, øng dông vµo lËp tr×nh mét
trang Web ®éng cô thÓ.
Ch−¬ng 5: KÕt nèi c¬ së d÷ liÖu trong lËp tr×nh Web ®éng víi ASP
Giíi thiÖu ADO (ActiveX Data Object), c¸c ®èi t−îng cña ADO, c¸ch thøc kÕt
nèi víi c¬ së d÷ liÖu, xö lý lçi trong khi lËp tr×nh c¸c øng dông. H−íng dÉn sö dông
c¸c lÖnh SQL trong lËp tr×nh b»ng ASP. øng dông tæng hîp toµn bé kiÕn thøc ®Ó
x©y dùng mét trang Web ®éng hoµn chØnh.
Néi dung träng t©m ®−îc tr×nh bµy trong ch−¬ng hai, ch−¬ng ba vµ ch−¬ng bèn,
cuèi mçi ch−¬ng nµy ®Òu cã bµi tËp h−íng dÉn lËp tr×nh. Gi¸o tr×nh ThiÕt kÕ vµ lËp
tr×nh Web h−íng dÉn c¸ch x©y dùng mét øng dông Web tõ c¬ b¶n ®Õn n©ng cao
b»ng c«ng nghÖ HTML vµ ASP. §−îc biªn so¹n víi ph−¬ng ch©m ®¶m b¶o tÝnh
logic, khoa häc, thiÕt thùc, dÔ hiÓu nh»m trang bÞ cho sinh viªn nh÷ng kiÕn thøc c¬
b¶n, phôc vô cho nghiªn cøu, thiÕt kÕ, lËp tr×nh mét øng dông Web hoµn chØnh.
Tµi liÖu nµy ®−îc tham kh¶o tõ mét sè tµi liÖu cña c¸c t¸c gi¶ trong n−íc, tæng
hîp vµ l−îc dÞch tõ mét sè tµi liÖu chuyªn ngµnh cña n−íc ngoµi, nªn mét sè thuËt
ng÷ Tin häc kh«ng thÓ thay thÕ b»ng tiÕng ViÖt. §Ó tiÖn cho viÖc tr×nh bµy ý t−ëng
xuyªn suèt cña tµi liÖu, chóng t«i ®Ó nguyªn b¶n thuËt ng÷ tiÕng Anh vµ gi¶i thÝch
b»ng thuËt ng÷ tiÕng ViÖt nÕu cã côm tõ t−¬ng ®−¬ng.
Tuy cã nhiÒu cè g¾ng trong c«ng t¸c biªn so¹n, nh−ng vÉn kh«ng tr¸nh khái
thiÕu sãt. Trong ph¹m vi h¹n hÑp cña cuèn tµi liÖu nµy, kh«ng thÓ ®Ò cËp ®−îc tÊt
c¶ nh÷ng vÊn ®Ò nãng hæi trong lÜnh vùc thiÕt kÕ vµ lËp tr×nh Web ®ßi hái.
RÊt mong sù ®ãng gãp phª b×nh tõ b¹n ®äc, ®Ó tµi liÖu ®−îc hoµn chØnh h¬n.
Mäi ý kiÕn gãp ý, xin göi vÒ Tr−êng SÜ quan CH-KT Th«ng tin.

T¸c gi¶
http://www.ebook.edu.vn 2

Ch−¬ng 1
Giíi thiÖu chung
1.1 M¹ng m¸y tÝnh
1.1.1 §Þnh nghÜa
Trong qu¸ tr×nh khai th¸c, sö dông m¸y tÝnh c¸ nh©n (Personal Computer-
PC), viÖc trao ®æi, sö dông th«ng tin cña mét x· héi ph¸t triÓn cã nhu cÇu to lín.
Khi c¸c m¸y vi tÝnh ch−a cã sù liªn kÕt víi nhau, th× viÖc trao ®æi th«ng tin mÊt rÊt
nhiÒu thêi gian ®Ó sao chÐp, g©y nhiÒu phiÒn phøc. §Ó gi¶i quyÕt vÊn ®Ò trªn víi ®µ
ph¸t triÓn cña nÒn c«ng nghiÖp m¸y tÝnh, c¸c thiÕt bÞ ®Æc biÖt vµ m¹ng m¸y tÝnh ra
®êi lµ mét tÊt yÕu.
V× vËy, m¹ng (network) lµ mét tËp hîp c¸c hÖ thèng m¸y tÝnh vµ c¸c thiÕt bÞ
m¹ng, chia sÎ d÷ liÖu, ch−¬ng tr×nh, tµi nguyªn th«ng qua mét ®−êng truyÒn kÕt nèi
truyÒn th«ng dïng chung, trªn c¬ së mét hÖ ®iÒu hµnh m¹ng.

H×nh 1.1. Mét m¹ng m¸y tÝnh ®iÓn h×nh


§−êng truyÒn lµ mét hÖ thèng c¸c thiÕt bÞ truyÒn dÉn vËt lý ®Ó chuyÓn t¶i c¸c
tÝn hiÖu sãng ®iÖn tõ.
§−êng truyÒn vËt lý cã thÓ ph©n lµm 2 lo¹i:
- H÷u tuyÕn: c¸p ®ång trôc, c¸p ®«i d©y xo¾n, c¸p quang, c¸p ®iÖn tho¹i,
vµ c«ng nghÖ míi nhÊt hiÖn nay lµ c¸p ®iÖn n¨ng th«ng th−êng.
- V« tuyÕn: sãng cùc ng¾n (viba), tia hång ngo¹i...
1.1.2 Ph©n lo¹i
HiÖn nay, th«ng th−êng m¹ng m¸y tÝnh ®−îc ph©n lo¹i nh− sau:
a. M¹ng côc bé - LAN (Local Area Network)
C¸c m¸y tÝnh c¸ nh©n vµ c¸c m¸y tÝnh kh¸c trong ph¹m vi mét khu vùc h¹n
chÕ ®−îc nèi víi nhau b»ng c¸c d©y c¸p chÊt l−îng tèt, sao cho nh÷ng ng−êi sö
http://www.ebook.edu.vn 3

dông cã thÓ trao ®æi th«ng tin, dïng chung c¸c thiÕt bÞ ngo¹i vi, vµ sö dông c¸c
ch−¬ng tr×nh còng nh− c¸c d÷ liÖu ®· ®−îc l−u tr÷ trong mét m¸y tÝnh dµnh riªng
gäi lµ m¸y dÞch vô tÖp.
b. M¹ng diÖn réng - WAN (Wide Area Network)
C¸c m¹ng lín h¬n, gäi lµ m¹ng diÖn réng (Wide Area Network), dïng c¸c
®−êng d©y ®iÖn tho¹i hoÆc c¸c ph−¬ng tiÖn liªn l¹c kh¸c ®Ó liªn kÕt l¹c kh¸c ®Ó liªn
kÕt c¸c m¸y tÝnh víi nhau trong ph¹m vi tõ vµi chôc ®Õn vµi ngµn dÆm.
Sù kh¸c nhau gi÷a LAN vµ WAN: kh¸c nhiÒu vÒ quy m« vµ møc ®é phøc
t¹p, m¹ng côc bé cã thÓ chØ liªn kÕt vµi ba m¸y tÝnh c¸ nh©n vµ mét thiÕt bÞ ngo¹i vi
dïng chung ®¾t tiÒn, nh− m¸y in laser ch¼ng h¹n. C¸c hÖ thèng phøc t¹p h¬n th× cã
c¸c m¸y tÝnh trung t©m (m¸y dÞch vô tÖp) vµ cho phÐp nh÷ng ng−êi dïng tiÕn hµnh
th«ng tin víi nhau th«ng qua th− ®iÖn tö ®Ó ph©n phèi c¸c ch−¬ng tr×nh nhiÒu ng−êi
sö dông, vµ ®Ó th©m nhËp vµo c¸c c¬ së d÷ liÖu dïng chung.
c. M¹ng ®« thÞ - MAN (Metropolitan Area Network)
Lµ mét m¹ng tr¶i dµi trªn mét kh«ng gian ®Þa lý lín h¬n LAN nh−ng nhá
h¬n WAN. MAN th−êng ®−îc sö dông nh− mét m¹ng cña mét thµnh phè, mét khu
c«ng nghiÖp.
d. M¹ng Intranet
Lµ mét m¹ng sö dông néi bé nh− LAN hay WAN thùc hiÖn ®−îc c¸c øng
dông, nãi c¸ch kh¸c lµ c¸c dÞch vô cña INTERNET, chñ yÕu lµ dÞch vô WEB víi
giao thøc truyÒn tÖp siªu v¨n b¶n - HTTP.
e. M¹ng Internet
Mét hÖ thèng gåm c¸c m¹ng m¸y tÝnh ®−îc liªn kÕt víi nhau trªn ph¹m vi
toµn thÕ giíi, t¹o ®iÒu kiÖn thuËn lîi cho c¸c dÞch vô truyÒn th«ng d÷ liÖu, nh− ®¨ng
nhËp tõ xa, truyÒn c¸c tÖp tin, th− tÝn ®iÖn tö, vµ c¸c nhãm th«ng tin. Internet lµ mét
ph−¬ng ph¸p ghÐp nèi c¸c m¹ng m¸y tÝnh hiÖn hµnh, ph¸t triÓn mét c¸ch réng r·i
tÇm ho¹t ®éng cña tõng hÖ thèng thµnh viªn
1.2 Internet
M¹ng Internet ngµy nay lµ mét m¹ng toµn cÇu, bao gåm hµng chôc triÖu
ng−êi sö dông, ®−îc h×nh thµnh tõ cuèi thËp kû 60 tõ mét thÝ nghiÖm cña Bé quèc
phßng Mü. T¹i thêi ®iÓm ban ®Çu ®ã lµ m¹ng ARPAnet cña Ban qu¶n lý dù ¸n
nghiªn cøu Quèc phßng. ARPAnet lµ mét m¹ng thö nghiÖm phôc vô c¸c nghiªn
cøu quèc phßng, mét trong nh÷ng môc ®Ých cña nã lµ x©y dùng mét m¹ng m¸y tÝnh
cã kh¶ n¨ng chÞu ®ùng c¸c sù cè (vÝ dô mét sè nót m¹ng bÞ tÊn c«ng vµ ph¸ huû nh-
ng m¹ng vÉn tiÕp tôc ho¹t ®éng).
M¹ng cho phÐp mét m¸y tÝnh bÊt kú trªn m¹ng liªn l¹c víi mäi m¸y tÝnh
kh¸c. Kh¶ n¨ng kÕt nèi c¸c hÖ thèng m¸y tÝnh kh¸c nhau ®· hÊp dÉn mäi ng−êi, v¶
l¹i ®©y còng lµ ph−¬ng ph¸p thùc tÕ duy nhÊt ®Ó kÕt nèi c¸c m¸y tÝnh cña c¸c h·ng
kh¸c nhau.
M¹ng Internet nguyªn thuû ®−îc thiÕt kÕ nh»m môc ®Ých phôc vô viÖc cung
cÊp th«ng tin cho giíi khoa häc, nªn c«ng nghÖ cña nã cho phÐp mäi hÖ thèng ®Òu
cã thÓ liªn kÕt víi nã th«ng qua mét cæng ®iÖn tö. Theo c¸ch ®ã, cã hµng ngµn hÖ
m¸y tÝnh hîp t¸c, còng nh− nhiÒu hÖ thèng dÞch vô th− ®iÖn tö cã thu phÝ, nh− MCI
vµ Compuserve ch¼ng h¹n, ®· trë nªn thµnh viªn cña Internet. Víi h¬n hai triÖu
http://www.ebook.edu.vn 4

m¸y chñ phôc vô chõng 20 triÖu ng−êi dïng, m¹ng Internet ®ang ph¸t triÓn víi tèc
®é bïng næ, mçi th¸ng cã thªm kho¶ng mét triÖu ng−êi tham gia míi.
Ngµy nay Internet cho phÐp hµng tr¨m triÖu ng−êi trªn kh¾p thÕ giíi liªn l¹c
vµ trao ®æi th«ng tin víi nhau th«ng qua tËp c¸c giao thøc gäi chung lµ bé giao thøc
TCP/IP (Transmission Control Protocol/Internet Protocol).
1.3 C¸c giao thøc Internet
Ban ®Çu, bé giao thøc Internet (cßn gäi lµ bé giao thøc TCP/IP) ®−îc ph¸t
triÓn bëi DoD (bé quèc phßng Mü) vµ ®−îc ®−a vµo triÓn khai tõ n¨m 1982 ®Ó cung
cÊp dÞch vô t¨ng c−êng tÝn hiÖu trªn c¸c liªn m¹ng lín, kÕt hîp nhiÒu kiÓu m¸y tÝnh
kh¸c nhau. TCP/IP cho phÐp c¸c lo¹i m¸y tÝnh víi c¸c kÝch cì kh¸c nhau liªn kÕt
víi Internet ®Ó giao tiÕp víi nhau. Hç trî trªn phÇn lín c¸c hÖ thèng, TCP/IP trë
thµnh giao thøc chuÈn cña Internet. PhÇn TCP cña giao thøc nµy ®¶m b¶o r»ng rÊt
c¶ l−îng th«ng tin göi ®i ®Òu ®−îc nhËn ®Çy ®ñ vµ chÝnh x¸c. PhÇn IP cung cÊp kü
thuËt truyÒn dÉn c¸c gãi th«ng tin tíi ®Þa chØ nhËn mét c¸ch cã hiÖu qu¶. Trong
nh÷ng n¨m gÇn ®©y, c¸c giao thøc Internet ngµy cµng phæ biÕn vµ h×nh thµnh c¸c
giao thøc m¹ng phæ dông nhÊt hiÖn nay.
Cã nhiÒu giao thøc kÕt hîp víi bé giao thøc Internet. D−íi ®©y lµ c¸c m« t¶
mét sè giao thøc nµy.
1.3.1 Giao thøc ®iÒu khiÓn phiªn truyÒn
Giao thøc ®iÒu khiÓn phiªn truyÒn (Transmission Control Protocol-TCP) lµ
mét giao thøc Internet t−¬ng øng víi tÇng giao vËn cña OSI. TCP cung cÊp kh¶
n¨ng chuyÓn t¶i h−íng kÕt nèi, song c«ng ®Çy ®ñ (full dupplex). Khi kh«ng cÇn
phÇn ®iÒu hµnh chung cña mét tiÕn tr×nh chuyÓn t¶i h−íng kÕt nèi th× giao thøc
gam d÷ liÖu ng−êi dïng (User Datagram Protocol-UDP) cã thÓ ®−îc thay thÕ cho
TCP ë cÊp chuyÓn t¶i (gi÷a c¸c m¸y chñ). TCP vµ UDP ho¹t ®éng t¹i cïng mét
tÇng. TCP t−¬ng øng víi SPX trong m«i tr−êng Netware. TCP duy tr× mét tuyÕn kÕt
nèi logic gi÷a c¸c m¸y tÝnh göi vµ nhËn. Theo c¸ch nµy, tÝnh nguyªn vÑn cña phiªn
truyÒn ®−îc duy tr×, TCP nhanh chãng ph¸t hiÖn mäi sù cè trong phiªn truyÒn ®Ó
chØnh lý, nh−ng ng−îc l¹i, TCP kh«ng ch¹y nhanh b»ng UDP.
TCP cßn cung cÊp tÝnh n¨ng ph©n chia vµ tËp hîp c¸c th«ng ®iÖp, ®ång thêi
cã thÓ chÊp nhËn c¸c th«ng ®iÖp cã kÝch th−íc bÊt kú tõ c¸c giao thøc tÇng phÝa
trªn. TCP ph©n chia c¸c luång th«ng ®iÖp thµnh c¸c ph©n ®o¹n mµ IP cã thÓ ®iÒu
khiÓn vµ qu¶n lý. Khi sö dông kÕt hîp víi IP, TCP bæ sung dÞch vô h−íng kÕt nèi
vµ tiÕn hµnh ®ång bé ho¸ ph©n ®o¹n, bæ sung c¸c sè chuçi t¹i møc byte.
Ngoµi ph©n chia th«ng ®iÖp, TCP cßn cã thÓ duy tr× nhiÒu cuéc ®èi tho¹i
(conversations) víi c¸c giao thøc tÇng phÝa trªn vµ cã thÓ c¶i thiÖn viÖc sö dông
b¨ng th«ng m¹ng b»ng c¸ch tæ hîp nhiÒu th«ng ®iÖp vµo chung mét ph©n ®o¹n.
Mçi tuyÕn kÕt nèi m¹ch ¶o ®−îc g¸n mét ID kÕt nèi cã tªn lµ cæng (port) ®Ó ®Þnh
danh c¸c gam d÷ liÖu kÕt hîp víi c¸c tuyÕn kÕt nèi ®ã.
1.3.2 Giao thøc Internet
Giao thøc Internet (Internet Protocol-IP) lµ mét giao thøc phi kÕt nèi
(connectionless) cung cÊp dÞch vô gam d÷ liÖu vµ c¸c gãi tin IP th−êng ®−îc gäi lµ
gam d÷ liÖu IP (IP datagram). IP lµ mét giao thøc chuyÓn gãi tin thùc hiÖn tiÕn
tr×nh ®Þnh ®Þa chØ vµ chän ®−êng. Mét phÇn ®Çu IP ®−îc nèi vµo c¸c gãi tin, ®−îc
c¸c giao thøc cÊp thÊp h¬n truyÒn theo d¹ng c¸c khung (frame).
http://www.ebook.edu.vn 5

IP ®Þnh ®−êng c¸c gãi tin th«ng qua c¸c liªn m¹ng b»ng c¸ch vËn dông c¸c
b¶ng ®Þnh tuyÕn ®éng (dynamic routing table) ®−îc tham chiÕu t¹i mçi b−íc nh¶y.
C¸c phÇn x¸c ®Þnh tuyÕn ®−êng ®−îc tiÕn hµnh b»ng c¸ch tham kh¶o th«ng tin thiÕt
bÞ m¹ng vËt lý vµ logic, mµ giao thøc ph©n gi¶i ®Þa chØ (Address Resolution
Protocol-ARP) cung cÊp.
IP thùc hiÖn t¸ch rêi vµ l¾p ghÐp l¹i c¸c gãi tin theo yªu cÇu giíi h¹n kÝch
th−íc c¸c gãi tin, ®−îc ®Þnh nghÜa cho c¸c tÇng vËt lý vµ liªn kÕt d÷ liÖu thùc thi. IP
còng thùc hiÖn tÝnh n¨ng kiÓm tra lçi trªn d÷ liÖu phÇn ®Çu b»ng c¸ch tæng kiÓm tra
(checksum), mÆc dï d÷ liÖu cña c¸c tÇng phÝa trªn kh«ng ®−îc kiÓm tra lçi.
1.3.3 Giao thøc gam d÷ liÖu ng−êi dïng
Giao thøc gam d÷ liÖu ng−êi dïng (User Datagram Protocol-UDP) lµ mét
giao thøc tÇng giao vËn phi kÕt nèi (gi÷a c¸c m¸y chñ). UDP kh«ng cung cÊp c¸c
tÝn hiÖu b¸o nhËn th«ng ®iÖp, thay vµo ®ã, ®¬n gi¶n lµ nã chØ lµm c«ng viÖc chuyÓn
t¶i c¸c gam d÷ liÖu.
Còng nh− TCP, UDP vËn dông c¸c ®Þa chØ cæng ®Ó bµn giao c¸c gam d÷ liÖu.
Tuy nhiªn, c¸c ®Þa chØ cæng nµy kh«ng kÕt hîp víi c¸c m¹ch ¶o mµ chØ ®¬n thuÇn
lµ ®Þnh danh c¸c tiÕn tr×nh xö lý cña m¸y chñ côc bé.
UDP ®−îc sö dông nhiÒu h¬n TCP khi kh¶ n¨ng bµn giao ®¸ng tin cËy kh«ng
quan träng b»ng kh¶ n¨ng thùc hiÖn cao hoÆc ph¶i gi÷ phÇn ®iÒu hµnh chung cña
m¹ng ë møc thÊp. Do UDP kh«ng cÇn thiÕt lËp, b¶o tr× vµ kÕt thóc c¸c kÕt nèi hoÆc
®iÒu khiÓn luång d÷ liÖu nªn nãi chung nã ch¹y nhanh h¬n TCP.
UDP lµ giao thøc tÇng giao vËn, ®−îc sö dông víi giao thøc qu¶n trÞ m¹ng
®¬n gi¶n (Simple Network Management Protocol-SNMP), lµ giao thøc qu¶n trÞ
m¹ng chuÈn, ®−îc dïng víi c¸c m¹ng TCP/IP. UDP cho phÐp SNMP cung cÊp tÝnh
n¨ng qu¶n trÞ m¹ng víi phÇn ®iÒu hµnh chung ë møc tèi thiÓu.
1.3.4 Giao thøc ph©n gi¶i ®Þa chØ
Ba kiÓu th«ng tin ®Þa chØ d−íi ®©y ®−îc sö dông trªn c¸c m¹ng TCP/IP:
- §Þa chØ vËt lý: ®−îc tÇng vËt lý vµ tÇng liªn kÕt d÷ liÖu sö dông.
- C¸c ®Þa chØ IP: Cung cÊp c¸c ID m¸y chñ vµ m¹ng logic. C¸c ®Þa chØ IP
bao gåm bèn con sè ®−îc biÓu diÔn d−íi d¹ng thËp ph©n cã chÊm. VÝ dô,
192.123.1.1 lµ mét ®Þa chØ IP.
- C¸c tªn nót logic: §Þnh danh c¸c m¸y chñ cô thÓ b»ng c¸c ID ký tù-sè.
Chóng gióp ta dÔ nhí h¬n so víi c¸c ®Þa chØ ID toµn sè. VÝ dô,
tsqtt.edu.vn lµ mét tªn nót logic (logical node name).
C¨n cø vµo tªn nót (node) logic mµ giao thøc ph©n gi¶i ®Þa chØ (Address
Resolution Protocol-ARP) cã thÓ x¸c ®Þnh ®Þa chØ IP kÕt hîp víi tªn ®ã. ARP duy tr×
c¸c b¶ng d÷ liÖu ph©n gi¶i ®Þa chØ vµ cã thÓ qu¶ng b¸ c¸c gãi tin ®Ó ph¸t hiÖn c¸c ®Þa
chØ trªn liªn m¹ng. C¸c ®Þa chØ IP do ARP ph¸t hiÖn cã thÓ ®−îc cung cÊp cho c¸c
giao thøc tÇng liªn kÕt d÷ liÖu.
1.3.5 Giao thøc hÖ thèng tªn miÒn
Giao thøc hÖ thèng tªn miÒn (Domain Name System-DNS) cung cÊp tÝnh
n¨ng ph©n gi¶i tªn/®Þa chØ nh− mét dÞch vô cho c¸c øng dông trªn m¸y kh¸ch
(client). C¸c hÖ phôc vô DNS cho phÐp con ng−êi dïng tªn c¸c nót logic ®Ó truy
cËp c¸c tµi nguyªn trªn m¹ng.
http://www.ebook.edu.vn 6

1.3.6 Giao thøc chuyÓn th− ®¬n gi¶n


Giao thøc chuyÓn th− ®¬n gi¶n (Simple Mail Transfer Protocol-SMTP) vµ
giao thøc th− tÝn phiªn b¶n 3 (Post Office Protocol version 3-POP3) lµ mét giao
thøc ®Ó ®Þnh ®−êng th− tÝn th«ng qua c¸c m¹ng. Nã sö dông giao thøc TCP/IP.
SMTP kh«ng cung cÊp mét hÖ giao tiÕp th− cho ng−êi dïng. Quy chuÈn,
qu¶n lý vµ trao ®æi c¸c th«ng ®iÖp cho ng−êi dïng cuèi (End user), tÊt c¶ ®Òu ph¶i
tiÕn hµnh bëi mét phÇn mÒm trao ®æi th− tÝn ®iÖn tö (nh− Outlook, Eudora,...).
1.3.7 Giao thøc truyÒn tËp tin
Giao thøc truyÒn tËp tin (File Transfer Protocol-FTP) lµ mét giao thøc ®Ó
dïng chung c¸c tËp tin gi÷a c¸c m¸y chñ nèi m¹ng. FTP cho phÐp ng−êi dïng ®¨ng
nhËp c¸c m¸y chñ ë xa. Nh÷ng ng−êi dïng ®· ®¨ng nhËp cã thÓ xem xÐt c¸c th−
môc, thao t¸c víi c¸c tËp tin, thùc thi c¸c lÖnh vµ ch¹y c¸c ch−¬ng tr×nh trªn m¸y
chñ. FTP còng cã kh¶ n¨ng trao ®æi c¸c tËp tin gi÷a c¸c m¸y chñ kh«ng ®ång bé
b»ng c¸ch hç trî mét cÊu tróc yªu cÇu tËp tin ®éc lËp víi c¸c hÖ ®iÒu hµnh cô thÓ.
1.3.8 HTTP - HyperText Transfer Protocol
C¸ch thøc ®Ó tr×nh duyÖt WEB cña ng−êi dïng nãi chuyÖn víi ch−¬ng tr×nh
Web server khi ng−êi dïng sö dung WWW. Hypertext: c¸ch thøc liªn kÕt tham
chiÕu ®Õn nh÷ng mÉu th«ng tin kh¸c nhau.
1.4 §Þa chØ IP
§Þa chØ IP gióp chóng ta cã thÓ nhËn diÖn ®−îc c¸c m¸y mµ kh«ng cÇn quan
t©m ®Õn c«ng nghÖ m¹ng c¬ së. ¦u ®iÓm cña nã lµ cã thÓ ®¬n gi¶n hãa viÖc ®Þnh
®−êng ®i trªn m¹ng. Ngoµi ra, ®Þa chØ IP cßn mang tÝnh toµn côc, nÕu m¹ng côc bé
nµo ®ã ®−îc nèi vµo Internet, th× toµn bé c¸c m¸y trong m¹ng ®ã sÏ ®−îc toµn
Internet biÕt ®Õn th«ng qua ®Þa chØ IP.
§Þa chØ IP ®ang ®−îc sö dông hiÖn t¹i (IPv4) cã 32 bit chia thµnh 4 octet
(mçi octet cã 8 bit, t−¬ng ®−¬ng 1 byte ), c¸ch ®Õm ®Òu tõ tr¸i qua ph¶i bit 0 cho
®Õn bit 31, c¸c octet t¸ch biÖt nhau bëi dÊu chÊm (.). Mçi octet cã thÓ biÓu diÔn
b»ng c¸c sè thËp ph©n, nhÞ ph©n hoÆc thËp lôc ph©n. §ia chØ IP bao gåm cã 3 thµnh
phÇn chÝnh :
- Bit nhËn d¹ng líp (Class bit)
- §Þnh danh cña m¹ng (Network Identifier – NET ID)
- §Þnh danh m¸y chñ (Host Identifier – HOST ID)
Do tæ chøc vµ ®é lín cña c¸c m¹ng côc bé trong liªn m¹ng kh¸c nhau, ®Ó
thuËn tiÖn cho viÖc qu¶n lý cÊp ph¸t ®Þa chØ IP ng−êi ta chia ®Þa chØ m¹ng thµnh 5
líp. Ký hiÖu lµ A, B, C, D, E
0 NET ID (7 bits) HOST ID (24 bits)

10 NET ID (14 bits) HOST ID (16 bits)

110 NET ID (21 bits) HOST ID(8 bits)

1110 Multicast (18 bits)


11110 Multicast (17 bits)

H×nh 1.2. CÊu tróc c¸c líp ®Þa chØ líp IP


http://www.ebook.edu.vn 7

- Líp A: Sö dông 7 bit ®Þnh danh m¹ng vµ 24 bit ®Ó ®Þnh danh c¸c tr¹m.
Líp A cho phÐp sö dông 27-2 m¹ng vµ 224 -2 tr¹m trong mçi m¹ng. Líp
nµy thÝch hîp cho c¸c m¹ng cã sè tr¹m cùc lín. Tæng sè kho¶ng h¬n 2 tØ
®Þa chØ. Vïng ®Þa chØ líp A cã thÓ sö dông gåm tõ 1.0.0.1 ®Õn
126.255.255.254.
- Líp B: Sö dông 14 bit ®Þnh danh m¹ng vµ 16 bit ®Ó ®Þnh danh c¸c tr¹m.
Líp B cho phÐp sö dông 214-2 m¹ng vµ 216 -2 tr¹m trong mçi m¹ng.
Tæng sè kho¶ng h¬n 1 tØ ®Þa chØ. Vïng ®Þa chØ líp B cã thÓ sö dông tõ
128.0.0.1 ®Õn 191.254.255.254.
- Líp C: Sö dông 21 bit ®Þnh danh m¹ng vµ 8 bit ®Ó ®Þnh danh c¸c tr¹m.
Líp C cho phÐp sö dông 221-2 m¹ng vµ 28 -2 tr¹m trong mçi m¹ng. Líp
nµy thÝch hîp cho c¸c m¹ng nhá, cã sè tr¹m trong mçi m¹ng kh«ng qu¸
254. Tæng sè kho¶ng h¬n nöa tØ ®Þa chØ. Vïng ®Þa chØ líp B cã thÓ sö
dông tõ 192.0.0.1 ®Õn 223.255.254.254.
- Líp D: ®Þa chØ líp nµy ®−îc sö dông cho viÖc qu¶ng b¸ (dïng ®Ó göi IP
datagram tíi mét nhãm trªn m¹ng sö dông cïng kiÓu ®Þa chØ).
- Líp E: ®Þa chØ dù phßng trong t−¬ng lai.
1.5 C¸c kh¸i niÖm kh¸c
1.5.1 URL
URL (Uniform Resource Locator) lµ c¸ch gäi kh¸c cña ®Þa chØ web. URL
bao gåm tªn cña giao thøc (th−êng lµ HTTP hoÆc FTP), tiÕp ®Õn lµ dÊu hai chÊm
(:), hai dÊu g¹ch chÐo (//), sau ®ã lµ tªn miÒn muèn kÕt nèi ®Õn. VÝ dô vÒ mét URL
lµ “http://www.vnn.vn/cntt” sÏ h−íng dÉn tr×nh duyÖt web cña chóng ta sö dông
giao thøc giao thøc http ®Ó kÕt nèi ®Õn m¸y tÝnh www.vnn.vn, më tÖp web ngÇm
®Þnh cã tªn lµ default.htm (hay index.htm) trong th− môc cntt. Tªn tÖp tin ngÇm
®Þnh kh«ng cÇn gâ vµo URL. Khi gâ URL còng cã thÓ bá qua tªn giao thøc http v×
tr×nh duyÖt lÊy giao thøc http lµm giao thøc ngÇm ®Þnh.
URL cã mét có ph¸p ®Æc biÖt. TÊt c¶ c¸c URL ph¶i chÝnh x¸c, thËm chÝ cã
mét ký tù sai hay thiÕu mét dÊu chÊm còng kh«ng ®−îc Web Server chÊp nhËn,
nhËp sai mét ký tù trong ®Þa chØ URL cã thÓ dÉn chóng ta ®Õn mét Web site cã néi
dung kh¸c hoÆc nhËn ®−îc th«ng b¸o Web site ®ã kh«ng tån t¹i.
1.5.2 Hyperlink (siªu liªn kÕt)
Hyperlink (siªu liªn kÕt) lµ mét thµnh phÇn c¬ b¶n vµ rÊt cÇn thiÕt ®èi víi
mét siªu v¨n b¶n World Wide Web. Siªu liªn kÕt gióp chóng ta dÔ dµng t×m kiÕm
c¸c th«ng tin kh¸c nhau vÒ mét chñ ®Ò. Mét siªu liªn kÕt lµ mét phÇn v¨n b¶n (hay
h×nh ¶nh) cña trang Web, mµ khi kÝch vµo ®ã sÏ tù ®éng thùc hiÖn mét trong c¸c
thao t¸c sau ®©y:
- §−a ®Õn phÇn kh¸c cña trang
- §−a ®Õn mét trang web kh¸c trong cïng mét Web site
- §−a ®Õn mét trang web kh¸c trong Web site kh¸c
- Cho phÐp download mét file
- Ch¹y mét øng dông, tr×nh diÔn mét ®o¹n video hoÆc ©m thanh
H×nh ¶nh minh ho¹ d−íi ®©y lµ mét phÇn cña trang web. Nh÷ng tõ g¹ch d−íi
thÓ hiÖn c¸c liªn kÕt, chØ cÇn nhÊn chuét vµo siªu liªn kÕt, néi dung tµi liÖu mµ nã
trá tíi sÏ ®−îc hiÓn thÞ.
http://www.ebook.edu.vn 8

H×nh 1.3. Minh häa mét Hyperlink (siªu liªn kÕt)


1.5.3 Web Browser (tr×nh duyÖt web)
Web Browser lµ mét c«ng cô hay ch−¬ng tr×nh cho phÐp truy xuÊt vµ xem
th«ng tin trªn Web. Cã nhiÒu Web Browser ®Ó truy xuÊt Web, mçi tr×nh duyÖt cã
nh÷ng ®Æc ®iÓm kh¸c nhau vµ chóng hiÓn thÞ nh÷ng trang Web kh«ng hoµn toµn
gièng nhau.
C¸c tr×nh duyÖt web bao gåm cã Internet Explorer, Netscape Navigator
Communicator, Opera, Mozilla Firefox, ... TÊt c¶ c¸c lo¹i tr×nh duyÖt nµy ®Òu cã
c¸c phiªn b¶n kh¸c nhau, vµ c¸c phiªn b¶n míi nhÊt sÏ cã nhiÒu tÝnh n¨ng h¬n c¸c
phiªn b¶n tr−íc ®ã. Ngoµi viÖc truy xuÊt Web, c¸c tr×nh duyÖt cßn cho phÐp chóng
ta thùc hiÖn c¸c c«ng viÖc kh¸c nh−: göi nhËn email, t¶i c¸c tËp tin tõ Web Server
vÒ, … th«ng qua c¸c Add-on vµ Plugin cña tr×nh duyÖt.
1.5.4 Web Server (m¸y chñ Web)
Web Server lµ m¸y chñ trong ®ã chøa th«ng tin d−íi d¹ng trang Web (trang
HTML cã thÓ chøa ©m thanh, h×nh ¶nh, video, v¨n b¶n, …). C¸c Web Server ®−îc
kÕt nèi víi nhau th«ng qua m¹ng Internet, mçi Server cã ®Þa chØ duy nhÊt trªn
Internet.
Thµnh phÇn chñ chèt cña Web Server lµ phÇn mÒm. Mçi phÇn mÒm Web
Server ch¹y trªn mét nÒn t¶ng phÇn cøng vµ mét hÖ ®iÒu hµnh cô thÓ. Mét Web
Server ph¶i cã cÊu h×nh ®ñ m¹nh ®Ó cung cÊp c¸c dÞch vô cho c¸c client, ®¸p øng
®ång thêi nhiÒu yªu cÇu tõ client vµ cã kh¶ n¨ng l−u tr÷ lín cho tµi nguyªn Web.
Nãi vÒ chøc n¨ng vµ hiÖu n¨ng, c¸c Web Server ph©n thµnh 4 nhãm chÝnh:
- C¸c m¸y chñ truyÒn th«ng th«ng th−êng.
- M¸y chñ th−¬ng m¹i.
- M¸y chñ mhãm lµm viÖc.
- M¸y chñ dïng cho môc ®Ých ®Æc biÖt.
C¸c tiªu chuÈn ®¸nh gi¸ mét Web Server:
- HiÖu n¨ng: nÒn t¶ng hÖ ®iÒu hµnh vµ xö lý ®a luång.
- B¶o mËt: Th«ng qua ®Þa chØ IP, tªn m¸y chñ cña m¹ng con, th− môc ...
Web Oracle cung cÊp ph−¬ng ¸n b¶o mËt th«ng tin theo tªn ng−êi sö
dông vµ kho¸ m· ®−îc m· ho¸ hoµn toµn trong qu¸ tr×nh truyÒn th«ng
trªn m¹ng.
- Truy nhËp vµ tÝch hîp CSDL: HÇu hÕt c¸c Web Server ®Òu sö dông giao
diÖn CGI, mét sè kh¸c th× dïng giao diÖn lËp tr×nh øng dông (API) hoÆc
ng«n ng÷ hái ®¸p cã cÊu tróc SQL.
- Qu¶n lý vµ qu¶n trÞ Web Server: §Æc tÝnh quan träng cña tiªu chuÈn nµy
lµ kh¶ n¨ng qu¶n trÞ tõ xa, giao diÖn ®å häa vµ ®iÒu khiÓn cÊu h×nh cña
m¸y chñ.
http://www.ebook.edu.vn 9

1.5.5 Web Site


Web Site lµ mét tËp hîp c¸c trang Web liªn quan ®Õn mét c«ng ty, mét tËp
®oµn, mét tæ chøc, mét c¸ nh©n hay ®¬n gi¶n chØ lµ mét chñ ®Ò mµ nhiÒu ng−êi
cïng quan t©m. VÝ dô Web Site cña ChÝnh phñ (www.chinhphu.org.vn), cña mét c¬
quan (Bé GD&§T-www.moet.edu.vn), b¸o chÝ (www.thanhnien.com.vn), cña mét
chñ ®Ò (www.thuvientinhoc.vn)...
1.5.6 World Wide Web
World Wide Web (Web) lµ mét dÞch vô hay cßn gäi lµ mét c«ng cô trªn
Internet ra ®êi gÇn ®©y nhÊt nh−ng ph¸t triÓn nhanh nhÊt hiÖn nay. Nã cung cÊp
mét giao diÖn v« cïng th©n thiÖn víi ng−êi dïng, dÔ sö dông, thuËn lîi vµ ®¬n gi¶n
®Ó t×m kiÕm th«ng tin.
Thùc chÊt Web kh«ng ph¶i lµ mét hÖ thèng cô thÓ víi tªn gäi nh− trªn mµ lµ
mét tËp hîp c¸c c«ng cô tiÖn Ých vµ siªu giao diÖn (meta-Interface) gióp ng−êi sö
dông cã thÓ tù t¹o ra c¸c "siªu v¨n b¶n" vµ cung cÊp cho nh÷ng ng−êi dïng kh¸c
trªn Internet.
1.5.7 Ph©n biÖt Inetrnet vµ WWW
WWW chØ lµ mét phÇn nhá cña Internet. Internet bao hµm tÊt c¶ phÇn cøng
vµ phÇn mÒm, bao gåm HTTP, FTP (File Transfer Protocol, sÏ ®Ò cËp ®Õn sau),
Emails vµ Newgroups. WWW chñ yÕu x©y dùng trªn c¸c ký tù vµ h×nh ¶nh mµ
chóng ta cã thÓ xem b»ng c¸c tr×nh duyÖt Web.
1.5.8 Web page
Web page lµ trang Web, lµ mét lo¹i tËp tin ®Æc biÖt ®−îc viÕt b»ng ng«n ng÷
siªu v¨n b¶n HTML. Web page cã thÓ hiÓn c¸c th«ng tin v¨n b¶n, ©m thanh, h×nh
¶nh, video, … Trang Web nµy ®−îc ®Æt trªn mét m¸y chñ Web sao cho c¸c m¸y
kh¸ch cã thÓ truy cËp ®−îc nã, tËp hîp nhiÒu trang Web cã liªn quan, rµng buéc
®Õn nhau cho chóng ta mét Web Site.
1.6 C¸ch thøc tæ chøc vµ x©y dùng mét Web Site
ViÖc x©y dùng mét trang Web ®Ó ®−îc nhiÒu ng−êi quan t©m lµ mét c«ng
viÖc kh«ng ®¬n gi¶n. ViÖc thiÕt kÕ kh«ng chØ l−u ý ®Õn vÊn ®Ò lµ mäi ng−êi cã truy
cËp vµo trang Web cña m×nh h¬n mét lÇn hay kh«ng mµ th«ng tin trªn ®ã ph¶i phô
thuéc hoµn toµn vµo môc ®Ých cña viÖc t¹o chóng.
§Ó t¹o ®−îc mét site h÷u hiÖu, ta ph¶i chó ý ®Õn nh÷ng vÊn ®Ò sau:
- Cã mét môc ®Ých râ rµng: §©y lµ ®iÓm quan träng trong viÖc b¾t ®Çu thiÕt
kÕ Web.
- Lu«n lu«n nghÜ ®Õn nh÷ng client-ng−êi sÏ truy cËp vµo site: Chóng ta
ph¶i xÐt ®Õn mét sè ®Æc ®iÓm cña ng−êi truy cËp nh− lµ: løa tuæi, nghÒ
nghiÖp, së thÝch, thêi gian r¶nh rçi ...
- Sö dông nh÷ng môc cã kh¶ n¨ng dowload vÒ thËt nhanh. Mét trong
nh÷ng lý do khiÕn nh÷ng ng−êi truy cËp vµo trang Web cña chóng ta c¶m
thÊy ch¸n n¶n lµ ph¶i ®îi l©u cho viÖc lÊy tin vµ ®ã chÝnh lµ lóc ng−êi ta
sÏ nhÊn vµo nót Stop.
- Cè g¾ng lµm cho Web Site cña m×nh xuÊt hiÖn mét c¸ch trùc quan:
kh«ng nªn cho qu¸ nhiÒu mµu s¾c hoÆc kh«ng cã mµu s¾c trong trang.
- §õng cã cè g¾ng cho mäi thø vµo trong mét trang: Mét trang Web bõa
http://www.ebook.edu.vn 10

bén sÏ g©y ra c¶m gi¸c ch¸n n¶n vµ nhøc m¾t.


- Tæ chøc néi dung mét c¸ch th«ng minh: Nªn nhí r»ng site cña m×nh t¹o
ra kh«ng chØ cã "®é s©u" mét bËc, do vËy chØ cã nh÷ng th«ng tin thËt cÇn
thiÕt míi cho vµo trang chñ. VÝ dô: giíi thiÖu tªn c«ng ty, môc ®Ých, mét
sè s¶n phÈm ...
- KiÓm tra, ch¹y thö site võa thiÕt kÕ mét c¸ch kü tr−íc khi ®−a lªn Web
Server: Thö kiÓm tra site bëi c¸c tr×nh duyÖt Web, trªn c¸c hÖ ®iÒu hµnh
kh¸c nhau hay lµ c¸c chÕ ®é kÝch th−íc cöa sæ kh¸c nhau ®Ó ®¶m b¶o
r»ng site cña chóng ta th«ng suèt.
1.7 Ph©n lo¹i Web
Dùa vµo ®Æc tr−ng, kÕt nèi d÷ liÖu vµ c«ng cô ph¸t triÓn ng−êi ta cã thÓ chia
ra lµm 3 lo¹i Web sau ®©y:
1.7.1 Static pages (Web tÜnh ):
TÝnh chÊt cña c¸c trang Web nµy lµ chØ bao gåm c¸c néi dung hiÓn thÞ cho
ng−êi dïng xem. VÝ dô: hiÓn thÞ c¸c trang d¹ng text, h×nh ¶nh ®¬n gi¶n ch¼ng h¹n
nh− mét cèc cµ phª ®ang bèc khãi ...
1.7.2 Form pages (MÉu biÓu):
Ngoµi néi dung nh− ë trang Web tÜnh, nã cßn chøa c¸c mÉu biÓu (form) cho
phÐp nhËp c¸c yªu cÇu tõ phÝa ng−êi sö dông. Khi ng−êi dïng ®iÒn xong c¸c form,
Ên nót "Submit" vµ tÊt c¶c c¸c th«ng tin (yªu cÇu) sÏ ®−a ®Õn ®Çu vµo cña mét
ch−¬ng tr×nh CGI (Common Gateway Interface) ch¹y trªn Server. (th−êng th× c¸c
CGI xö lý vµ cÊt gi÷ th«ng tin vµo c¸c file d÷ liÖu trªn Server råi th«ng b¸o tr¶ l¹i
cho kh¸ch hµng).
Lo¹i Web nµy th−êng ®−îc dïng ®Ó lµm c¸c phiÕu ®iÒu tra, tr−ng cÇu ý kiÕn,
mua hµng ..v..v..
1.7.3 Dynamic Web (Web ®éng)
Néi dung cña trang Web ®éng nh− trong 1 trang Web tÜnh, ngoµi ra cßn cã
nhóng c¸c ®o¹n m· lÖnh cho phÐp truy nhËp c¬ së d÷ liÖu trªn m¹ng.
Tuú theo nhu cÇu, øng dông cã thÓ cung cÊp kh¶ n¨ng truy cËp d÷ liÖu, t×m
kiÕm th«ng tin, …
1.8 C©u hái vµ bµi tËp ch−¬ng 1
C©u 1: Ph©n biÖt m¹ng Intranet vµ m¹ng Internet.
C©u 2: M¹ng Internet sö dông nh÷ng giao thøc nµo? Chøc n¨ng cña chóng?
C©u 3: CÊu tróc c¸c líp cña ®Þa chØ IP.
C©u 4: C¸c kh¸i niÖm URL, hyperlinks, web page, web browser, web server.
C©u 5: Ph©n biÖt Internet vµ World Wide Web.
C©u 6: C¸ch thøc x©y dùng mét website.
C©u 7: Ph©n biÖt c¸c lo¹i web
http://www.ebook.edu.vn 11

Ch−¬ng 2
LËp tr×nh Web víi ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n (HTML)
2.1 Kh¸i niÖm ng«n ng÷ HTML
HTML viÕt t¾t cña HyperText Mark-up Language (ng«n ng÷ ®¸nh dÊu siªu
v¨n b¶n). Cã thÓ ®Þnh nghÜa HTML:
Lµ mét tËp hîp c¸c quy t¾c vµ c¸c thÎ (tag) ®−îc sö dông ®Ó quy ®Þnh c¸c
thøc tr×nh bµy, hiÓn thÞ néi dung cña c¸c trang Web, tËp hîp c¸c quy t¾c vµ thÎ nµy
ph¶i tu©n theo mét chuÈn quèc tÕ, ®¶m b¶o cho c¸c tr×nh duyÖt Web kh¸c nhau,trªn
c¸c nÒn phÇn cøng vµ hÖ ®iÒu hµnh kh¸c nhau ®Òu hiÓu ®−îc vµ hiÓn thÞ ®óng néi
dung cña c¸c trang Web.
HTML kh«ng ph¶i lµ mét ng«n ng÷ lËp tr×nh, nã lµ mét ng«n ng÷ ®¸nh dÊu.
HTML dÔ hiÓu h¬n nhiÒu so víi hÇu hÕt c¸c ng«n ng÷ lËp tr×nh.
Mét tµi liÖu HTML lµ mét tÖp tin v¨n b¶n trong ®ã cã sö dông c¸c thÎ
HTML ®Ó quy ®Þnh c¸ch thøc hiÓn thÞ v¨n b¶n khi nã ®−îc më bëi mét tr×nh duyÖt
Web.
C¬ b¶n c¸c thÎ ®Þnh d¹ng trong HTML th−êng cã tõng cÆp gåm: thÎ më
<tag> vµ thÎ ®ãng </tag>.
C¸c v¨n b¶n n»m gi÷a hai thÎ nµy sÏ ®−îc chÞu t¸c ®éng ®Þnh d¹ng bëi thÎ.
VÝ dô, thÎ <B> dïng ®Ó ®Þnh d¹ng ch÷ in ®Ëm, khi ®ã v¨n b¶n "<B>Hello</B>" sÏ
®−îc hiÓn thÞ lµ "Hello".
2.2 LËp tr×nh web víi ng«n ng÷ HTML
2.2.1 C¸c thÎ ®Þnh d¹ng cÊu tróc cña HTML
C¸c thÎ x¸c ®Þnh cÊu tróc tµi liÖu lµ b¾t buéc ph¶i cã trong mét tµi liÖu
HTML. Sau ®©y chóng ta sÏ lÇn l−ît häc c¸ch sö dông c¸c thÎ ®Þnh d¹ng cÊu tróc
cña mét tµi liÖu HTML c¬ b¶n.
a. HTML
CÆp thÎ nµy ®−îc sö dông ®Ó x¸c nhËn mét tµi liÖu lµ tµi liÖu HTML, tøc lµ
nã cã sö dông c¸c thÎ HTML ®Ó tr×nh bµy. Toµn bé néi dung cña tµi liÖu ®−îc ®Æt
gi÷a cÆp thÎ nµy. TÊt c¶ c¸c tËp tin HTML ®Òu b¾t ®Çu b»ng thÎ <HTML>, thÎ nµy
th«ng b¸o cho tr×nh duyÖt Web biÕt r»ng nã ®ang ®äc mét tµi liÖu cã chøa c¸c m·
HTML vµ cuèi c¸c tËp tin HTML sÏ lµ thÎ ®ãng t−¬ng øng </HTML> th«ng b¸o
kÕt thóc mét tµi liÖu HTML.
Có ph¸p:
<HTML>
... Toµn bé néi dung cña tµi liÖu ®−îc ®Æt ë ®©y
</HTML>

Tr×nh duyÖt sÏ xem c¸c tµi liÖu kh«ng sö dông thÎ <HTML> nh− nh÷ng tÖp
v¨n b¶n b×nh th−êng.
b. HEAD
Mét tµi liÖu HTML gåm cã 2 phÇn: phÇn më ®Çu vµ phÇn néi dung chÝnh.
PhÇn më ®Çu gièng nh− phÇn giíi thiÖu, c¸c tr×nh duyÖt Web sö dông phÇn më ®Çu
nµy ®Ó thu nhÆt c¸c th«ng tin kh¸c nhau vÒ tµi liÖu HTML nµy, ch¼ng h¹n nh− tiªu
http://www.ebook.edu.vn 12

®Ò cña tµi liÖu, c¸c quan hÖ ®−îc thiÕt lËp gi÷a tµi liÖu vµ c¸c th− môc. ThÎ
<HEAD> ®−îc dïng ®Ó x¸c ®Þnh phÇn më ®Çu cho tµi liÖu.
Có ph¸p:
<HTML>
... PhÇn më ®Çu (header) cña tµi liÖu ®−îc ®Æt ë ®©y
</HTML>

c. TITLE
Chóng ta cã thÓ ®Æt tiªu ®Ò cho tµi liÖu HTML cña m×nh. Tiªu ®Ò nµy sÏ ®−îc
hiÓn thÞ trªn thanh tiªu ®Ò cña tr×nh duyÖt. CÆp thÎ nµy chØ cã thÓ sö dông trong
phÇn më ®Çu cña tµi liÖu, tøc lµ nã ph¶i n»m trong thÎ ph¹m vi giíi h¹n bëi cÆp thÎ
<HEAD>.
Có ph¸p:
<TITLE>Tiªu ®Ò cña tµi liÖu ®−îc ®Æt ë ®©y</TITLE>

d. BODY
ThÎ nµy ®−îc sö dông ®Ó x¸c ®Þnh phÇn néi dung chÝnh cña tµi liÖu. Còng cã
thÓ sö dông c¸c tham sè cña thÎ ®Ó ®Æt ¶nh nÒn cho tµi liÖu, mµu nÒn, mµu v¨n b¶n
siªu liªn kÕt, ®Æt lÒ cho trang tµi liÖu… Nh÷ng th«ng tin nµy ®−îc ®Æt ë phÇn tham
sè cña thÎ.
Có ph¸p:
<BODY>
.... phÇn néi dung cña tµi liÖu ®−îc ®Æt ë ®©y
</BODY>
Trªn ®©y lµ có ph¸p c¬ b¶n cña thÎ <BODY>, tuy nhiªn b¾t ®Çu tõ phiªn
b¶n HTML 3.2 th× cã nhiÒu thuéc tÝnh ®−îc sö dông trong thÎ <BODY>.
Nh− vËy mét tµi liÖu HTML c¬ b¶n cã cÊu tróc nh− sau:
<HTML>
<HEAD>
<TITLE>Tiªu ®Ò cña tµi liÖu</TITLE>
</HEAD>
<BODY>
... Néi dung cña tµi liÖu
</BODY>
</HTML>
Sau ®©y lµ c¸c thuéc tÝnh chÝnh:
BACKGROUND= §Æt mét ¶nh nµo ®ã lµm ¶nh nÒn (background) cho v¨n
b¶n. Gi¸ trÞ cña tham sè nµy (phÇn sau dÊu b»ng) lµ URL
cña file ¶nh. NÕu kÝch th−íc ¶nh nhá h¬n cöa sæ tr×nh
duyÖt th× toµn bé mµn h×nh cöa sæ tr×nh duyÖt sÏ ®−îc l¸t
kÝn b»ng nhiÒu ¶nh.
http://www.ebook.edu.vn 13

BGCOLOR= §Æt mÇu nÒn cho trang khi hiÓn thÞ. NÕu c¶ hai tham sè
BACKGROUND vµ BGCOLOR cïng cã gi¸ trÞ th× tr×nh
duyÖt sÏ hiÓn thÞ mÇu nÒn tr−íc, sau ®ã míi t¶i ¶nh lªn
phÝa trªn.
TEXT= X¸c ®Þnh mµu ch÷ cña v¨n b¶n, kÓ c¶ c¸c ®Ò môc.
ALINK= X¸c ®Þnh mµu s¾c cho c¸c siªu liªn kÕt trong v¨n b¶n.
VLINK= T−¬ng øng, alink (active link) lµ liªn kÕt ®ang ®−îc kÝch
LINK= ho¹t - tøc lµ khi ®· ®−îc kÝch chuét lªn; vlink (visited
link) chØ liªn kÕt ®· tõng ®−îc kÝch ho¹t;
e. Chó thÝch
CÆp thÎ nµy cho phÐp ng−êi biªn so¹n tµi liÖu HTML cã thÓ thªm vµo trong
c¸c tµi liÖu HTML nh÷ng chó thÝch cÇn thiÕt, hoÆc cã thÓ sö dông cÆp thÎ nµy ®Ó
th«ng b¸o cho tr×nh duyÖt bá qua mét ®o¹n m· lÖnh HTML. C¸c v¨n b¶n ®−îc ®Æt
gi÷a hai thÎ nµy sÏ kh«ng ®−îc tr×nh duyÖt hiÓn thÞ.
Có ph¸p:

<!-- C¸c chó thÝch ®−îc ®Æt ë ®©y -->

2.2.2 C¸c thÎ ®Þnh d¹ng khèi


a. ThÎ <P>
ThÎ <P> ®−îc sö dông ®Ó ®Þnh d¹ng mét ®o¹n v¨n b¶n.
Có ph¸p:
<P>Néi dung ®o¹n v¨n b¶n</P>

b. C¸c thÎ ®Þnh d¹ng ®Ò môc H1/H2/H3/H4/H5/H6


HTML hç trî 6 møc ®Ò môc. Chó ý r»ng ®Ò môc chØ lµ c¸c chØ dÉn ®Þnh d¹ng
vÒ mÆt logic, tøc lµ mçi tr×nh duyÖt sÏ thÓ hiÖn ®Ò môc d−íi mét khu«n d¹ng thÝch
hîp. Cã thÓ ë tr×nh duyÖt nµy lµ font ch÷ 14 point nh−ng sang tr×nh duyÖt kh¸c lµ
font ch÷ 20 point. §Ò môc cÊp 1 lµ cao nhÊt vµ gi¶m dÇn ®Õn cÊp 6. Th«ng th−êng
v¨n b¶n ë ®Ò môc cÊp 5 hay cÊp 6 th−êng cã kÝch th−íc nhá h¬n v¨n b¶n th«ng
th−êng.
D−íi ®©y lµ c¸c thÎ dïng ®Ó ®Þnh d¹ng v¨n b¶n ë d¹ng ®Ò môc:
<H1> ... </H1> §Þnh d¹ng ®Ò môc cÊp 1
<H2> ... </H2> §Þnh d¹ng ®Ò môc cÊp 2
<H3> ... </H3> §Þnh d¹ng ®Ò môc cÊp 3
<H4> ... </H4> §Þnh d¹ng ®Ò môc cÊp 4
<H5> ... </H5> §Þnh d¹ng ®Ò môc cÊp 5
<H6> ... </H6> §Þnh d¹ng ®Ò môc cÊp 6
http://www.ebook.edu.vn 14

c. ThÎ xuèng dßng <BR>


ThÎ nµy kh«ng cã thÎ kÕt thóc t−¬ng øng (</BR>), nã cã t¸c dông chuyÓn
sang dßng míi. L−u ý, néi dung v¨n b¶n trong tµi liÖu HTML sÏ ®−îc tr×nh duyÖt
Web thÓ hiÖn liªn tôc, c¸c kho¶ng tr¾ng liÒn nhau, c¸c ký tù tab, ký tù xuèng dßng
®Òu ®−îc coi nh− mét kho¶ng tr¾ng. §Ó xuèng dßng, ta ph¶i sö dông thÎ <BR>.
d. 2.4 ThÎ <PRE>
§Ó giíi h¹n ®o¹n v¨n b¶n ®· ®−îc ®Þnh d¹ng s½n ta cã thÓ sö dông thÎ
<PRE>. V¨n b¶n ë gi÷a hai thÎ nµy sÏ ®−îc thÓ hiÖn gièng hÖt nh− khi chóng ®−îc
®¸nh vµo, vÝ dô dÊu xuèng dßng trong ®o¹n v¨n b¶n giíi h¹n bëi thÎ <PRE> sÏ cã
ý nghÜa chuyÓn sang dßng míi (tr×nh duyÖt sÏ kh«ng coi chóng nh− dÊu c¸ch).
Có ph¸p:
<PRE>V¨n b¶n ®· ®−îc ®Þnh d¹ng</PRE>

2.2.3 C¸c thÎ ®Þnh d¹ng danh s¸ch


Có ph¸p:
<UL>
<LI> Môc thø nhÊt
<LI> Môc thø hai
</UL>
Cã 4 kiÓu danh s¸ch:
• Danh s¸ch kh«ng s¾p xÕp ( hay kh«ng ®¸nh sè) <UL>
• Danh s¸ch cã s¾p xÕp (hay cã ®¸nh sè) <OL>, mçi môc trong danh
s¸ch ®−îc s¾p xÕp thø tù.
• Danh s¸ch thùc ®¬n <MENU>
• Danh s¸ch ph©n cÊp <DIR>
Víi nhiÒu tr×nh duyÖt, danh s¸ch ph©n cÊp vµ danh s¸ch thùc ®¬n gièng danh
s¸ch kh«ng ®¸nh sè, cã thÓ dïng lÉn víi nhau. Víi thÎ OL ta cã có ph¸p sau:
<OL TYPE=1/a/A/i/I>
<LI>Muc thu nhat
<LI>Muc thu hai
<LI>Muc thu ba
</OL>
Trong ®ã: TYPE =1 C¸c môc ®−îc s¾p xÕp theo thø tù 1, 2, 3...
=a C¸c môc ®−îc s¾p xÕp theo thø tù a, b, c...
=A C¸c môc ®−îc s¾p xÕp theo thø tù A, B, C...
=i C¸c môc ®−îc s¾p xÕp theo thø tù i, ii, iii...
=I C¸c môc ®−îc s¾p xÕp theo thø tù I, II, III...
Ngoµi ra cßn thuéc tÝnh START= x¸c ®Þnh gi¸ trÞ khëi ®Çu cho danh s¸ch.
ThÎ <LI> cã thuéc tÝnh TYPE= x¸c ®Þnh ký hiÖu ®Çu dßng (bullet) ®øng
tr−íc mçi môc trong danh s¸ch. Thuéc tÝnh nµy cã thÓ nhËn c¸c gi¸ trÞ : disc (chÊm
trßn ®Ëm); circle (vßng trßn); square (h×nh vu«ng).
http://www.ebook.edu.vn 15

2.2.4 C¸c thÎ ®Þnh d¹ng ký tù


a. C¸c thÎ ®Þnh d¹ng in ký tù
Sau ®©y lµ c¸c thÎ ®−îc sö dông ®Ó quy ®Þnh c¸c thuéc tÝnh nh− in nghiªng,
in ®Ëm, g¹ch ch©n... cho c¸c ký tù, v¨n b¶n khi ®−îc thÓ hiÖn trªn tr×nh duyÖt.
ThÎ Thuéc tÝnh
<B> ... </B> In ch÷ ®Ëm
<STRONG> ... </STRONG>
<I> ... </I> In ch÷ nghiªng
<EM> ... </EM>
<U> ... </U> In ch÷ g¹ch ch©n
<DFN> §¸nh dÊu ®o¹n v¨n b¶n gi÷a hai thÎ nµy lµ ®Þnh
nghÜa cña mét tõ. Chóng th−êng ®−îc in
nghiªng hoÆc thÓ hiÖn qua mét kiÓu ®Æc biÖt nµo
®ã.
<S> ... </S> In ch÷ bÞ g¹ch ngang.
<STRIKE> ... </STRIKE>
<BIG> ... </BIG> In ch÷ lín h¬n b×nh th−êng b»ng c¸ch t¨ng kÝch
th−íc font hiÖn thêi lªn mét. ViÖc sö dông c¸c
thÎ <BIG> lång nhau t¹o ra hiÖu øng ch÷ t¨ng
dÇn. Tuy nhiªn ®èi víi mçi tr×nh duyÖt cã giíi
h¹n vÒ kÝch th−íc ®èi víi mçi font ch÷, v−ît qu¸
giíi h¹n nµy, c¸c thÎ <BIG> sÏ kh«ng cã ý
nghÜa.
<SMALL> ... </SMALL> In ch÷ nhá h¬n b×nh th−êng b»ng c¸ch gi¶m
kÝch th−íc font hiÖn thêi ®i mét. ViÖc sö dông
c¸c thÎ <SMALL>lång nhau t¹o ra hiÖu øng
ch÷ gi¶m dÇn. Tuy nhiªn ®èi víi mçi tr×nh
duyÖt cã giíi h¹n vÒ kÝch th−íc ®èi víi mçi font
ch÷, v−ît qu¸ giíi h¹n nµy, c¸c thÎ <SMALL>
sÏ kh«ng cã ý nghÜa.
<SUP> ... </SUP> §Þnh d¹ng chØ sè trªn (SuperScript)
<SUB> ... </SUB> §Þnh d¹ng chØ sè d−íi (SubScript)
<BASEFONT> §Þnh nghÜa kÝch th−íc font ch÷ ®−îc sö dông
cho ®Õn hÕt v¨n b¶n. ThÎ nµy chØ cã mét tham
sè size= x¸c ®Þnh cì ch÷. ThÎ <BASEFONT>
kh«ng cã thÎ kÕt thóc.
<FONT> ... </FONT> Chän kiÓu ch÷ hiÓn thÞ. Trong thÎ nµy cã thÓ ®Æt
hai tham sè size= hoÆc color= x¸c ®Þnh cì ch÷
vµ mµu s¾c ®o¹n v¨n b¶n n»m gi÷a hai thÎ. KÝch
th−íc cã thÓ lµ tuyÖt ®èi (nhËn gi¸ trÞ tõ 1 ®Õn 7)
hoÆc t−¬ng ®èi (+2,-4...) so víi font ch÷ hiÖn
t¹i.
http://www.ebook.edu.vn 16

b. C¨n lÒ v¨n b¶n trong trang Web


Trong tr×nh bµy trang Web cña m×nh chóng ta lu«n ph¶i chó ý ®Õn viÖc c¨n
lÒ c¸c v¨n b¶n ®Ó trang Web cã ®−îc mét bè côc ®Ñp. Mét sè c¸c thÎ ®Þnh d¹ng nh−
<P>, <Hn>, <IMG>... ®Òu cã tham sè ALIGN cho phÐp c¨n lÒ c¸c v¨n b¶n n»m
trong ph¹m vi giíi h¹n bëi cña c¸c thÎ ®ã.
C¸c gi¸ trÞ cho tham sè ALIGN:
LEFT C¨n lÒ tr¸i
CENTER C¨n gi÷a trang
RIGHT C¨n lÒ ph¶i
Ngoµi ra, chóng ta cã thÓ sö dông thÎ CENTER ®Ó c¨n gi÷a trang mét khèi
v¨n b¶n.
Có ph¸p:
<CENTER>V¨n b¶n sÏ ®−îc c¨n gi÷a trang</CENTER>
c. C¸c ký tù ®Æc biÖt
Ký tù & ®−îc sö dông ®Ó chØ chuçi ký tù ®i sau ®−îc xem lµ mét thùc thÓ
duy nhÊt. Ký tù ; ®−îc sö dông ®Ó t¸ch c¸c ký tù trong mét tõ.
Ký tù M· ASCII Tªn chuçi
< &#060 &lt
> &#062 &gt
& &#038 &amp
d. Sö dông mµu s¾c trong thiÕt kÕ c¸c trang Web
Mét mµu ®−îc tæng hîp tõ ba thµnh phÇn mµu chÝnh, ®ã lµ: §á (Red), Xanh
l¸ c©y (Green), Xanh n−íc biÓn (Blue). Trong HTML mét gi¸ trÞ mµu lµ mét sè
nguyªn d¹ng hexa (hÖ ®Õm c¬ sè 16) cã ®Þnh d¹ng nh− sau:
#RRGGBB
Trong ®ã:
RR - lµ gi¸ trÞ mµu §á.
GG - lµ gi¸ trÞ mµu Xanh l¸ c©y.
BB - lµ gi¸ trÞ mµu Xanh n−íc biÓn.
Mµu s¾c cã thÓ ®−îc x¸c ®Þnh qua thuéc tÝnh bgcolor= hay color=. Sau dÊu
b»ng cã thÓ lµ gi¸ trÞ RGB hay tªn tiÕng Anh cña mµu. Víi tªn tiÕng Anh, ta chØ cã
thÓ chØ ra 16 mµu trong khi víi gi¸ trÞ RGB ta cã thÓ chØ tíi 256 mµu.
Sau ®©y lµ mét sè gi¸ trÞ mµu c¬ b¶n:
Mµu s¾c Gi¸ trÞ Tªn tiÕng Anh
§á #FF0000 RED
§á sÉm #8B0000 DARKRED
Xanh l¸ c©y #00FF00 GREEN
Xanh nh¹t #90EE90 LIGHTGREEN
Xanh n−íc biÓn #0000FF BLUE
Vµng #FFFF00 YELLOW
Vµng nh¹t #FFFFE0 LIGHTYELLOW
Tr¾ng #FFFFFF WHITE
http://www.ebook.edu.vn 17

§en #000000 BLACK


X¸m #808080 GRAY
N©u #A52A2A BROWN
TÝm #FF00FF MAGENTA
TÝm nh¹t #EE82EE VIOLET
Hång #FFC0CB PINK
Da cam #FFA500 ORANGE
Mµu ®ång phôc h¶i #000080 NAVY
qu©n #4169E1 ROYALBLUE
#7FFFD4 AQUAMARINE
Có ph¸p:
<BODY
LINK = color
ALINK = color
VLINK = color
BACKGROUND= url()
BGCOLOR = color
TEXT = color
TOPMARGIN = pixels
RIGHTMARGIN = pixels
LEFTMARGIN = pixels
>
.... phÇn néi dung cña tµi liÖu ®−îc ®Æt ë ®©y
</BODY>

Sau ®©y lµ ý nghÜa c¸c tham sè cña thÎ <BODY>:

C¸c tham sè ý nghÜa


LINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt
ALINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®ang ®ang chän
VLINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®· tõng më
BACKGROUND ChØ ®Þnh ®Þa chØ cña ¶nh dïng lµm nÒn
BGCOLOR ChØ ®Þnh mµu nÒn
TEXT ChØ ®Þnh mµu cña v¨n b¶n trong tµi liÖu
SCROLL YES/NO - X¸c ®Þnh cã hay kh«ng thanh cuén
TOPMARGIN LÒ trªn
RIGHTMARGIN LÒ ph¶i
LEFTMARGIN LÒ tr¸i
http://www.ebook.edu.vn 18

e. Chän kiÓu ch÷ cho v¨n b¶n


Có ph¸p:
<FONT
FACE = font-name
COLOR = color
SIZE =n>
... néi dung ®o¹n v¨n b¶n
</FONT>
f. Kh¸i niÖm v¨n b¶n siªu liªn kÕt
V¨n b¶n siªu liªn kÕt hay cßn gäi lµ siªu v¨n b¶n lµ mét tõ, mét côm tõ hay mét
c©u trªn trang Web ®−îc dïng ®Ó liªn kÕt tíi mét trang Web kh¸c. Siªu v¨n b¶n lµ
m«i tr−êng trong ®ã chøa c¸c liªn kÕt (link) cña c¸c th«ng tin. Do WWW cÊu thµnh
tõ nhiÒu hÖ thèng kh¸c nhau, cÇn ph¶i cã mét quy t¾c ®Æt tªn thèng nhÊt cho tÊt c¶
c¸c v¨n b¶n trªn Web. Quy t¾c ®Æt tªn ®ã lµ URL (Universal Resource Locator).
DÞch vô Cæng Tªn file

http://www.tsqtt.edu.vn:8080/~dir1/dir2/dir3/index.html#chapter001

Tªn hÖ thèng §−êng dÉn C¸c tham sè, biÕn,


truy vÊn
H×nh 2.1 C¸c thµnh phÇn cña URL ®−îc minh ho¹ ë h×nh trªn.
• DÞch vô: Lµ thµnh phÇn b¾t buéc cña URL. Nã x¸c ®Þnh c¸ch thøc
tr×nh duyÖt cña m¸y kh¸ch liªn l¹c víi m¸y phôc vô nh− thÕ nµo ®Ó
nhËn d÷ liÖu. Cã nhiÒu dÞch vô nh− http, wais, ftp, gopher, telnet.
• Tªn hÖ thèng: Lµ thµnh phÇn b¾t buéc cña URL. Cã thÓ lµ tªn miÒn
®Çy ®ñ cña m¸y phôc vô hoÆc chØ lµ mét phÇn tªn ®Çy ®ñ – tr−êng hîp
nµy x¶y ra khi v¨n b¶n ®−îc yªu cÇu vÉn n»m trªn miÒn cña site. Tuy
nhiªn nªn sö dông ®−êng dÉn ®Çy ®ñ.
• Cæng: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. Cæng lµ ®Þa chØ socket
cña m¹ng dµnh cho mét giao thøc cô thÓ. Giao thøc http ngÇm ®Þnh
nèi víi cæng 8080.
• §−êng dÉn th− môc: Lµ thµnh phÇn b¾t buéc cña URL. Ph¶i chØ ra
®−êng dÉn tíi file yªu cÇu khi kÕt nèi víi bÊt kú hÖ thèng nµo. Cã thÓ
®−êng dÉn trong URL kh¸c víi ®−êng dÉn thùc sù trong hÖ thèng m¸y
phôc vô. Tuy nhiªn cã thÓ rót gän ®−êng dÉn b»ng c¸ch ®Æt biÖt danh
(alias). C¸c th− môc trong ®−êng dÉn c¸ch nhau bëi dÊu g¹ch chÐo (/).
• Tªn file: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. Th«ng th−êng m¸y
phôc vô ®−îc cÊu h×nh sao cho nÕu kh«ng chØ ra tªn file th× sÏ tr¶ vÒ
file ngÇm ®Þnh trªn th− môc ®−îc yªu cÇu. File nµy th−êng cã tªn lµ
http://www.ebook.edu.vn 19

index.html, index.htm, default.html hay default.htm (víi c¸c Web site


®éng th× file mÆc ®Þnh cã thÓ cã phÇn më réng lµ asp, aspx, jsp hay
php…). NÕu còng kh«ng cã c¸c file nµy th× th−êng kÕt qu¶ tr¶ vÒ lµ
danh s¸ch liÖt kª c¸c file hay th− môc con trong th− môc ®−îc yªu cÇu
• C¸c tham sè: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. NÕu URL lµ
yªu cÇu t×m kiÕm trªn mét c¬ së d÷ liÖu th× truy vÊn sÏ g¾n vµo URL,
®ã chÝnh lµ ®o¹n m· ®»ng sau dÊu chÊm hái (?).URL còng cã thÓ tr¶
l¹i th«ng tin ®−îc thu thËp tõ form. Trong tr−êng hîp dÊu th¨ng (#)
xuÊt hiÖn ®o¹n m· ®¨ng sau lµ tªn cña mét vÞ trÝ (location) trong file
®−îc chØ ra.
§Ó t¹o ra mét siªu v¨n b¶n chóng ta sö dông thÎ <A>.
Có ph¸p:
<A
HREF = url
NAME = name
TABINDEX =n
TITLE = title
TARGET = _blank / _self
>
... siªu v¨n b¶n
</A>
ý nghÜa c¸c tham sè:
C¸c tham sè ý nghÜa
HREF §Þa chØ cña trang Web ®−îc liªn kÕt, lµ mét URL nµo ®ã.
NAME §Æt tªn cho vÞ trÝ ®Æt thÎ.
TABLEINDEX Thø tù di chuyÓn khi Ên phÝm Tab
TITLE V¨n b¶n hiÓn thÞ khi di chuét trªn siªu liªn kÕt.
TARGET Më trang Web ®−îc liªn trong mét cöa sæ míi (_blank) hoÆc
trong cöa sæ hiÖn t¹i (_self), trong mét frame (tªn frame).
g. §Þa chØ t−¬ng ®èi
URL ®−îc tr×nh bµy ë trªn lµ URL tuyÖt ®èi. Ngoµi ra cßn cã URL t−¬ng ®èi
hay cßn gäi lµ URL kh«ng ®Çy ®ñ. §Þa chØ t−¬ng ®èi sö dông sù kh¸c biÖt t−¬ng
®èi gi÷a v¨n b¶n hiÖn thêi vµ v¨n b¶n cÇn tham chiÕu tíi. C¸c thµnh phÇn trong
URL ®−îc ng¨n c¸ch b»ng ký tù ng¨n c¸ch (ký tù g¹ch chÐo /). §Ó t¹o ra URL
t−¬ng ®èi, ®Çu tiªn ph¶i sö dông ký tù ng¨n c¸ch. URL ®Çy ®ñ hiÖn t¹i sÏ ®−îc sö
dông ®Ó t¹o nªn URL ®Çy ®ñ míi. Nguyªn t¾c lµ c¸c thµnh phÇn bªn tr¸i dÊu ng¨n
c¸ch cña URL hiÖn t¹i ®−îc gi÷ nguyªn, c¸c thµnh phÇn bªn ph¶i ®−îc thay thÕ
b»ng thµnh phÇn URL t−¬ng ®èi. Chó ý r»ng tr×nh duyÖt kh«ng göi URL t−¬ng ®èi,
nã bæ sung vµo URL c¬ së ®· x¸c ®Þnh tr−íc thµnh phÇn URL t−¬ng ®èi x¸c ®Þnh
sau thuéc tÝnh href=. Ký tù ®Çu tiªn sau dÊu b»ng sÏ x¸c ®Þnh c¸c thµnh phÇn nµo
cña URL hiÖn t¹i sÏ tham gia ®Ó t¹o nªn URL míi.
VÝ dô, víi ®Þa chØ URL: http://dit.tsqtt.edu.vn/HTML/ th×:
http://www.ebook.edu.vn 20

• DÊu hai chÊm (:) chØ dÞch vô gi÷ nguyªn nh−ng thay ®æi phÇn cßn l¹i.
• DÊu g¹ch chÐo (/) chØ dÞch vô vµ m¸y phôc vô gi÷ nguyªn nh−ng toµn
bé ®−êng dÉn thay ®æi. VÝ dô /JavaScript/index.htm sÏ t¶i file
index.htm cña th− môc JavaScript trªn m¸y phôc vô dit.tsqtt.edu.vn.
• Kh«ng cã dÊu ph©n c¸ch chØ cã tªn file lµ thay ®æi. VÝ dô index.htm sÏ
t¶i file index.htm ë trong th− môc HTML cña m¸y phôc vô
dit.tsqtt.edu.vn.
• DÊu th¨ng (#): chØ dÞch vô, m¸y phuc vô, ®−êng dÉn vµ c¶ tªn file gi÷
nguyªn, chØ thay ®æi vÞ trÝ trong file.
Do ®−êng dÉn ®−îc xem lµ ®¬n vÞ ®éc lËp nªn cã thÓ sö dông ph−¬ng ph¸p
®−êng dÉn t−¬ng ®èi nh− trong UNIX hay MS-DOS (tøc lµ dÊu chÊm (.) chØ th−
môc hiÖn t¹i cßn hai dÊu chÊm (..) chØ th− môc cha cña th− môc hiÖn t¹i).
URL c¬ së cã thÓ ®−îc x¸c ®Þnh b»ng thÎ <BASE>.
h. KÕt nèi mailto
NÕu ®Æt thuéc tÝnh href= cña thÎ <A> gi¸ trÞ mailto:address@domain th× khi
kÝch ho¹t kÕt nèi sÏ kÝch ho¹t chøc n¨ng th− ®iÖn tö cña tr×nh duyÖt.
<ADDRESS>
Trang WEB nµy ®−îc
<A href=”mailto:webmaster@vnuh.edu.vn” >WEBMASTER
<\A> b¶o tr×
<\ADDRESS>
i. VÏ mét ®−êng th¼ng n»m ngang
Có ph¸p:
<HR
ALIGN = LEFT / CENTER / RIGHT
COLOR = color
NOSHADE
SIZE =n
WIDTH = width
>
ý nghÜa c¸c tham sè:
C¸c tham sè ý nghÜa
ALIGN C¨n lÒ (c¨n tr¸i, c¨n ph¶i, c¨n gi÷a)
COLOR §Æt mµu cho ®−êng th¼ng
NOSHADE Kh«ng cã bãng
SIZE §é dµy cña ®−êng th¼ng
WIDTH ChiÒu dµi (tÝnh theo pixel hoÆc % cña bÒ réng cöa sæ tr×nh duyÖt).
ThÎ nµy gièng nh− thÎ <BR>, nã còng kh«ng cã thÎ kÕt thóc t−¬ng øng.
http://www.ebook.edu.vn 21

2.2.5 C¸c thÎ chÌn ©m thanh, h×nh ¶nh


a. Giíi thiÖu
Liªn kÕt víi file ®a ph−¬ng tiÖn còng t−¬ng tù nh− liªn kÕt b×nh th−êng. Tuy
vËy ph¶i ®Æt tªn ®óng cho file ®a ph−¬ng tiÖn. PhÇn më réng cña file ph¶i cho biÕt
kiÓu cña file
KiÓu Më réng M« t¶
Image/GIF .gif ViÕt t¾t cña Graphics Interchange Format. Khu«n
d¹ng nµy xuÊt hiÖn khi mäi ng−êi cã nhu cÇu trao
®æi ¶nh trªn nhiÒu hÖ thèng kh¸c nhau. Nã ®−îc sö
dông trªn tÊt c¶ c¸c hÖ thèng hç trî giao diÖn ®å
ho¹. §Þnh d¹ng GIF lµ ®Þnh d¹ng chuÈn cho mäi
tr×nh duyÖt WEB. Nh−îc ®iÓm cña nã lµ chØ thÓ
hiÖn ®−îc 256 mµu.
Image/JPEG .jpeg ViÕt t¾t cña Joint Photographic Expert Group. Lµ
khu«n d¹ng ¶nh kh¸c nh−ng cã thªm kh¶ n¨ng
nÐn.¦u ®iÓm næi bËt cña khu«n d¹ng nµy lµ l−u tr÷
®−îc hµng triÖu mµu vµ ®é nÐn cao nªn kÝch th−íc
file ¶nh nhá h¬n vµ thêi gian download nhanh h¬n.
Nã lµ c¬ së cho khu«n d¹ng MPEG. TÊt c¶ c¸c tr×nh
duyÖt ®Òu cã kh¶ n¨ng xem ¶nh JPEG.
Image/TIFF .tiff ViÕt t¾t cña Tagged Image File Format. §−îc
Microsoft thiÕt kÕ ®Ó quÐt ¶nh tõ m¸y quÐt còng
nh− t¹o c¸c Ên phÈm.
Text/HTML .html,
.htm
PostScript .eps, .ps §−îc t¹o ra ®Ó hiÓn thÞ vµ in c¸c v¨n b¶n cã chÊt
l−îng cao.
Adobe .pdf ViÕt t¾t cña Portable Document Format. Acrobat
Acrobat còng sö dông c¸c siªu liªn kÕt ngay trong v¨n b¶n
còng gièng nh− HTML. Tõ phiªn b¶n 2.0, c¸c s¶n
phÈm cña Acrobat cho phÐp liªn kÕt gi÷a nhiÒu v¨n
b¶n. ¦u ®iÓm lín nhÊt cña nã lµ kh¶ n¨ng
WYSISYG.
Video/MPEG .mpeg ViÕt t¾t cña Motion Picture Expert Group, lµ ®Þnh
d¹ng dµnh cho c¸c lo¹i phim (video). §©y lµ khu«n
d¹ng th«ng dông nhÊt dµnh cho phim trªn WEB.
Video/AVI .avi Lµ khu«n dn¹g phim do Microsoft ®−a ra.
Video/Quick .mov Do Apple Computer ®−a ra, chuÈn video nµy ®−îc
Time cho lµ cã nhiÒu −u ®iÓm h¬n MPEG vµ AVI. MÆc
dï ®· ®−îc tÝch hîp vµo nhiÒu tr×nh duyÖt nh−ng
vÉn ch−a phæ biÕn b»ng hai lo¹i ®Þnh d¹ng trªn.
Sound/AU .au
http://www.ebook.edu.vn 22

Sound/MIDI .mid Lµ khu«n d¹ng dµnh cho ©m nh¹c ®iÖn tö hÕt søc
th«ng dông ®−îc nhiÒu tr×nh duyÖt trªn c¸c hÖ thèng
kh¸c nhau hç trî. File Midi ®−îc tæng hîp sè ho¸
trùc tiÕp tõ m¸y tÝnh.
Sound/Real .ram §Þnh d¹ng audio theo dßng. Mét bÊt tiÖn khi sö
Audio dông c¸c ®Þnh d¹ng kh¸c lµ file ©m thanh th−êng cã
kÝch th−íc lín - do vËy thêi gian t¶i xuèng l©u, Tr¸i
l¹i audio dßng b¾t ®Çu ch¬i ngay khi t¶i ®−îc mét
phÇn file trong khi vÉn t¶i vÒ c¸c phÇn kh¸c. MÆc dï
file theo ®Þnh d¹ng nµy kh«ng nhá h¬n so víi c¸c
®Þnh d¹ng kh¸c song chÝnh kh¶ n¨ng dßng ®· khiÕn
®Þnh d¹ng nµy phï hîp víi kh¶ n¨ng ch¬i ngay lËp
tøc.
VRML .vrml ViÕt t¾t cña Virtual Reality Modeling Language.
C¸c file theo ®Þnh d¹ng nµy còng gièng nh− HTML.
Tuy nhiªn do tr×nh duyÖt cã thÓ hiÓn thÞ ®−îc cöa sæ
3 chiÒu nªn ng−êi xem cã thÓ c¶m nhËn ®−îc c¶m
gi¸c ba chiÒu.
b. §−a ©m thanh vµo mét tµi liÖu HTML
Có ph¸p:
<BGSOUND
SRC = url
LOOP = n
>
ThÎ nµy kh«ng cã thÎ kÕt thóc t−¬ng øng (</BGSOUND>). §Ó ch¬i lÆp l¹i
v« h¹n cÇn chØ ®Þnh LOOP = -1 hoÆc LOOP = INFINITE. ThÎ <BGSOUND> ph¶i
®−îc ®Æt trong phÇn më ®Çu (tøc lµ n»m trong cÆp thÎ <HEAD>).
c. ChÌn mét h×nh ¶nh, mét ®o¹n video vµo tµi liÖu HTML
§Ó chÌn mét file ¶nh (.jpg, .gif, .bmp) hoÆc video (.mpg, .avi) vµo tµi liÖu
HTML, ta cã thÓ sö dông thÎ IMG.
Có ph¸p:
<IMG
ALIGN = TOP/MIDDLE/BOTTOM
ALT = text
BORDER =n
SRC = url
WIDTH = width
HEIGHT = height
HSPACE = vspace
VSPACE = hspace
TITLE = title
http://www.ebook.edu.vn 23

DYNSRC = url
START =
FILEOPEN/MOUSEOVER
LOOP = n>
Trong ®ã:
C¸c tham sè ý nghÜa
ALIGN = TOP/ MIDDLE/ C¨n hµng v¨n b¶n bao quanh ¶nh
BOTTOM/ LEFT/ RIGHT
ALT = text ChØ ®Þnh v¨n b¶n sÏ ®−îc hiÓn thÞ nÕu chøc n¨ng
show picture cña browser bÞ t¾t ®i hay hiÓn thÞ thay
thÕ cho ¶nh trªn nh÷ng tr×nh duyÖt kh«ng cã kh¶
n¨ng hiÓn thÞ ®å ho¹. V¨n b¶n nµy cßn ®−îc gäi lµ
nh·n cña ¶nh. §èi víi tr×nh duyÖt cã kh¶ n¨ng hç
trî ®å ho¹, dßng v¨n b¶n nµy sÏ hiÖn lªn khi di
chuét qua ¶nh hay ®−îc hiÓn thÞ trong vïng cña
¶nh nÕu ¶nh ch−a ®−îc t¶i vÒ hÕt. Chó ý ph¶i ®Æt
v¨n b¶n trong hai dÊu nh¸y kÐp nÕu triong v¨n b¶n
chøa dÊu c¸ch hay c¸c ký tù ®Æc biÖt - trong tr−êng
hîp ng−îc l¹i cã thÓ bá dÊu nh¸y kÐp.
BORDER = n §Æt kÝch th−íc ®−êng viÒn ®−îc vÏ quanh ¶nh (tÝnh
theo pixel).
SRC = url §Þa chØ cña file ¶nh cÇn chÌn vµo tµi liÖu.
WIDTH/HEIGHT ChØ ®Þnh kÝch th−íc cña ¶nh ®−îc hiÓn thÞ.
HSPACE/VSPACE ChØ ®Þnh kho¶ng trèng xung quanh h×nh ¶nh (tÝnh
theo pixel) theo bèn phÝa trªn, d−íi, tr¸i, ph¶i.
TITLE = title V¨n b¶n sÏ hiÓn thÞ khi con chuét trá trªn ¶nh
DYNSRC = url §Þa chØ cña file video.
START = ChØ ®Þnh file video sÏ ®−îc ch¬i khi tµi liÖu ®−îc
FILEOPEN/MOUSEOVER më hay khi trá con chuét vµo nã. Cã thÓ kÕt hîp c¶
hai gi¸ trÞ nµy nh−ng ph¶i ph©n c¸ch chóng bëi dÊu
phÈy.
LOOP = n/INFINITE ChØ ®Þnh sè lÇn ch¬i. NÕu LOOP = INFINITE th×
file video sÏ ®−îc ch¬i v« h¹n lÇn.

d. Image map
Image map cho phÐp click chuét lªn mét vïng nµo ®ã trªn mét h×nh ¶nh ®Ó
më mét trang Web kh¸c. Sö dông thÎ MAP vµ AREA ®Ó thiÕt lËp c¸c th«ng tin cho
mét image map.
Có ph¸p:
<MAP NAME="map-name">
<AREA SHAPE = RECT/CIRC/POLY
http://www.ebook.edu.vn 24

COORDS = coords
HREF = url
TITLE = text TARGET = _blank / _self >
<AREA ... >
<AREA ... >
...
</MAP>
ChÌn ¶nh:
<IMG SRC="image-name" USEMAP="#map-name">
VÝ dô minh häa:
<HTML>
<HEAD>
<TITLE>Image map</TITLE>
</HEAD>
<BODY>
<MAP NAME="map1">
<AREA SHAPE="RECT" COORDS="0, 0, 100, 50"
HREF="http:\\www.cse.com.vn" TITLE="Click chuét vµo ®©y ®Ó më
trang chñ cña CSE">
<AREA SHAPE="CIRC" COORDS="42, 96, 25">
<AREA SHAPE="CIRC" COORDS="93, 96, 25">
<AREA SHAPE="CIRC" COORDS="147, 96, 25">
</MAP>
<IMG SRC="cse.jpg" USEMAP="#map1" BORDER=0>
</BODY>
</HTML>

H×nh 2.1 Minh häa sö dông Images map


http://www.ebook.edu.vn 25

2.2.6 ChÌn b¶ng


Sau ®©y lµ c¸c thÎ chÝnh sö dông ®Ó chÌn b¶ng vµo tµi liÖu HTML:
ThÎ Thuéc tÝnh
<TABLE> ... </TABLE> §Þnh nghÜa mét b¶ng
<TR> ... </TR> §Þnh nghÜa mét hµng trong b¶ng
<TD> ... </TD> §Þnh nghÜa mét « trong hµng
<TH> ... </TH> §Þnh nghÜa « chøa tiªu ®Ò cña cét
<CAPTION> ... </CAPTION> Tiªu ®Ò cña b¶ng
Có ph¸p:
<TABLE
ALIGN = LEFT / CENTER / RIGHT
BORDER =n
BORDERCOLOR = color
BORDERCOLORDARK = color
BORDERCOLORLIGHT = color
BACKGROUND = url
BGCOLOR = color
CELLSPACING = spacing
CELLPADDING = pading>
<CAPTION>Tiªu ®Ò cña b¶ng biÓu</CAPTION>
... §Þnh nghÜa c¸c dßng
<TR
ALIGN = LEFT/CENTER/RIGHT
VALIGN = TOP/MIDDLE/BOTTOM>
... §Þnh nghÜa c¸c « trong dßng
<TD
ALIGN = LEFT / CENTER / RIGHT
VALIGN = TOP / MIDDLE / BOTTOM
BORDERCOLOR = color
BORDERCOLORDARK = color
BORDERCOLORLIGHT = color
BACKBROUND = url
BGCOLOR = color
COLSPAN =n
ROWSPAN = n>
... Néi dung cña «
</TD>
</TR>
</TABLE>
http://www.ebook.edu.vn 26

ý nghÜa c¸c tham sè:


C¸c tham sè ý nghÜa
ALIGN / VALIGN C¨n lÒ cho b¶ng vµ néi dung trong mçi «.
BORDER KÝch th−íc ®−êng kÎ chia « trong b¶ng, ®−îc ®o theo
pixel. Gi¸ trÞ 0 cã nghÜa lµ kh«ng x¸c ®Þnh lÒ, gi÷a
c¸c « trong b¶ng chØ cã mét kho¶ng tr¾ng nhá ®Ó
ph©n biÖt. NÕu chØ ®Ó border th× ngÇm ®Þnh
border=1. Víi nh÷ng b¶ng cã cÊu tróc phøc t¹p, nªn
®Æt lÒ ®Ó ng−êi xem cã thÓ ph©n biÖt râ c¸c dßng vµ
cét.
BORDERCOLOR Mµu ®−êng kÎ
BORDERCOLORDARK Mµu phÝa tèi vµ phÝa s¸ng cho ®−êng kÎ næi.
BORDERCOLORLIGHT
BACKGROUND §Þa chØ tíi tÖp ¶nh dïng lµm nÒn cho b¶ng
BGCOLOR Mµu nÒn
CELLSPACING Kho¶ng c¸ch gi÷a c¸c « trong b¶ng
CELLPADDING Kho¶ng c¸ch gi÷a néi dung vµ ®−êng kÎ trong mçi «
cña b¶ng.
COLSPAN ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu cét
ROWSPAN ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu hµng
2.2.7 Sö dông Khung – Frame
C¸c frame cho phÐp b¹n tæ chøc cÊu tróc néi dung c¸c trang Web cña m×nh
b»ng c¸ch phøc hîp nhiÒu tµi liÖu HTML ®Ó cã thÓ xem chóng trong cïng mét cöa
sæ chÝnh cña tr×nh duyÖt Web. §Ó t¹o mét trang Web phøc hîp b¹n sö dông c¸c thÎ
FRAMESET vµ FRAME ®Ó chia cöa sæ chÝnh thµnh c¸c khung ch÷ nhËt (frame).
Sau ®ã trong mçi khung h×nh ch÷ nhËt ®ã b¹n chØ ®Þnh mét tµi liÖu sÏ ®−îc hiÓn thÞ
trong khung ®ã. Chó ý thÎ FRAMESET sÏ thay thÕ cho thÎ BODY trong mét tµi
liÖu HTML, ®iÒu ®ã cã nghÜa lµ trong mét tµi liÖu sö dông thÎ FRAMESET sÏ
kh«ng cã thÎ BODY mµ thay vµo ®ã phÇn néi dung chÝnh cña tµi liÖu sÏ ®−îc ®Þnh
nghÜa bëi thÎ FRAMESET.
a. ThÎ FRAMESET
Có ph¸p:
<FRAMESET
COLS = col-widths
ROWS = row-heights
BORDER = pixels
BORDERCOLOR = color
FRAMEBORDER = 1/0 >
...
<FRAME ... >
http://www.ebook.edu.vn 27

<FRAME ... >


...
</FRAMESET>

Trong ®ã:
C¸c tham sè ý nghÜa
COLS Chia däc cöa sæ thµnh c¸c phÇn víi kÝch th−íc chØ ®Þnh (theo
pixel, % hoÆc *).
ROWS Chia ngang cöa sæ thµnh c¸c phÇn víi kÝch th−íc chØ ®Þnh
(theo pixel, % hoÆc *).
BORDER KÝch th−íc cña ®−êng kÎ viÒn khung
BORDERCOLOR ChØ ®Þnh mµu cho ®−êng viÒn khung
FRAMEBORDER ChØ ®Þnh cã/kh«ng (1/0) hiÓn thÞ khung cña c¸c frame.
b. ThÎ FRAME
Có ph¸p:
<FRAME
BORDERCOLOR = color
FRAMEBORDER = 0/1
MARGINHEIGHT = height
MARGINWIDTH = width
NAME = name
NORESIZE
SCROLLING = YES/NO
SRC = address
Target = Window_Name>

Trong ®ã:
C¸c tham sè ý nghÜa
BORDERCOLOR Mµu ®−êng viÒn khung.
FRAMEBORDER = 0 / 1 ChØ ®Þnh cã/kh«ng viÒn khung.
MARGINHEIGHT Kho¶ng c¸ch gi÷a néi dung trong khung vµ ®−êng
viÒn ngang.
MARGINWIDTH Kho¶ng c¸ch gi÷a néi dung trong khung vµ ®−êng
viÒn däc.
NAME §Æt tªn cho khung.
NORESIZE ChØ ®Þnh kh«ng ®−îc thay ®æi kÝch th−íc cña khung.
SCROLLING = YES / NO ChØ ®Þnh cã hay kh«ng cã thanh cuén cho khung.
SRC §Þa chØ cña tµi liÖu sÏ ®−îc hiÓn thÞ trong khung.
Target ChØ ra cöa sæ n¬i mµ tµi liÖu ®−îc hiÓn thÞ
http://www.ebook.edu.vn 28

VÝ dô minh häa:
<HTML>
<HEAD><TITLE>Frames</TITLE></HEAD>
<FRAMESET
COLS = "30%, *">
<FRAME SRC = "vd45.htm">
<FRAME SRC = "vd48.htm">
</FRAMESET>
</HTML>

H×nh 2.2 Sö dông thÎ Frame


c. ThÎ IFRAME
Sö dông thÎ IFRAME ®Ó ®Æt mét frame vµo trong mét tµi liÖu HTML.
Có ph¸p:
<IFRAME
ALIGN = LEFT / CENTER /RIGHT / TOP / BOTTOM
BORDER = pixels
BORDERCOLOR = color
FRAMEBORDER = 0/1
NORESIZE
SCROLLING = YES/NO
NAME = name
SRC = url
MARGINWIDTH = pixels
MARGINHEIGHT = pixels
WIDTH = n HEIGHT = n >
</IFRAME>
http://www.ebook.edu.vn 29

Trong ®ã:
C¸c tham sè ý nghÜa
ALIGN C¨n lÒ cho khung
BORDER KÝch th−íc ®−êng viÒn cña khung
BORDERCOLOR Mµu ®−êng viÒn cña khung
FRAMEBORDER = 0 / 1 Khung cã ®−êng viÒn hay kh«ng
NORESIZE Kh«ng ®−îc phÐp thay ®æi kÝch th−íc cña khung.
SCROLLING = YES / NO ChØ ®Þnh khung cã thanh cuén hay kh«ng
NAME §Æt tªn cho khung
SRC §Þa chØ tµi liÖu ®−îc hiÓn thÞ trong khung
MARGINWIDTH Kho¶ng c¸ch gi÷a v¨n b¶n néi dung cña khung vµ
c¸c ®−êng viÒn däc.
MARGINHEIGHT Kho¶ng c¸ch gi÷a v¨n b¶n néi dung cña khung vµ
c¸c ®−êng viÒn ngang.
WIDTH §Æt chiÒu réng cña khung
HEIGHT §Æt chiÒu cao cña khung
VÝ dô minh häa:
<BODY>
§©y lμ khung cöa sæ t¹o bëi thÎ IFRAME:
<IFRAME
SRC = "vd43.htm"
WIDTH = 500>
</IFRAME>
</BODY>

H×nh 2.3 VÝ dô vÒ IFRAME


http://www.ebook.edu.vn 30

2.2.8 FORMS
Form lµ thµnh phÇn giao tiÕp c¬ b¶n gi÷a ng−êi duyÖt Web víi ng−êi t¹o
Web. D÷ liÖu ®−îc nhËp vµo Form th«ng qua c¸c hép ®iÒu khiÓn (control).
a. HTML Forms
Ng−êi biªn so¹n HTML cã thÓ t¹o ra c¸c HTML Form ®Ó t−¬ng t¸c víi
nh÷ng ng−êi ®äc tµi liÖu cña hä ch¼ng h¹n nh− cho phÐp ng−êi ®äc nhËp vµo d÷
liÖu ®Ó ch¹y mét ch−¬ng tr×nh CGI, ghi vµo c¸c nhËn xÐt vÒ trang Web ®ã. C¸c
HTML Form cã thÓ chøa c¸c hép v¨n b¶n (textbox), hép danh s¸ch lùa chän
(checkbox), nót bÊm (push button), nót chän (radio button)...
b. T¹o Form
§Ó t¹o ra mét form trong tµi liÖu HTML, chóng ta sö dông thÎ FORM víi có
ph¸p nh− sau:
Có ph¸p:
<FORM
ACTION = ulr
METHOD = GET | POST
NAME = name
TARGET = frame_name | _blank | _self
>
<!-- C¸c phÇn tö ®iÒu khiÓn cña form -->
<INPUT ...>
<INPUT ...>
</FORM>
Trong ®ã
C¸c tham sè ý nghÜa
ACTION §Þa chØ sÏ göi d÷ liÖu tíi khi form ®−îc submit (cã thÓ lµ
®Þa chØ tíi mét ch−¬ng tr×nh CGI, mét trang ASP...).
METHOD Ph−¬ng thøc göi d÷ liÖu.
NAME Tªn cña form.
TARGET ChØ ®Þnh cöa sæ sÏ hiÓn thÞ kÕt qu¶ sau khi göi d÷ liÖu tõ
form ®Õn server.
§Æt c¸c ®èi t−îng ®iÓu khiÓn (nh− hép v¨n b¶n, « kiÓm tra, nót bÊm...) vµo
trang Web
c. ThÎ INPUT
Có ph¸p thÎ INPUT:
<INPUT
ALIGN = LEFT | CENTER | RIGHT
TYPE = BUTTON | CHECKBOX | FILE | IMAGE |
PASSWORD | RADIO | RESET | SUBMIT | TEXT
VALUE = value
>
http://www.ebook.edu.vn 31

VÝ dô minh häa:
<HTML>
<HEAD>
<TITLE>HTML Forms</TITLE>
<BODY>
<FORM METHOD="POST"
ACTION="http://www.cse.com.vn/scripts/auth.asp">
<P>
Tªn NSD <INPUT TYPE="TEXT" SIZE="30"><BR>
MËt khÈu <INPUT TYPE="PASSWORD" SIZE="20">
</P>
<INPUT TYPE="SUBMIT" VALUE="§¨ng nhËp">
</FORM>
</BODY>
</HTML>

H×nh 2.4 VÝ dô vÒ thÎ INPUT trong FORM


d. T¹o mét danh s¸ch lùa chän b»ng thÎ SELECT vµ OPTION
Có ph¸p:
<SELECT NAME="tªn danh s¸ch" SIZE="chiÒu cao">
<OPTION VALUE=value1 SELECTED> Tªn môc chän
thø nhÊt
<OPTION VALUE=value2> Tªn môc chän thø hai
<!-- Danh s¸ch c¸c môc chän -->
</SELECT>
http://www.ebook.edu.vn 32

VÝ dô minh häa:
<HTML>
<HEAD>
<TITLE>Danh s¸ch lùa chän</TITLE>
</HEAD>
<BODY>
<P>Th«ng tin:</P>
<SELECT>
<OPTION VALUE="1" SELECTED>Thêi tiÕt
<OPTION VALUE="2">TruyÒn h×nh
<OPTION VALUE="3">ThÞ trưêng
<OPTION VALUE="4">Thêi sù QT
</SELECT>
</BODY>
</HTML>

H×nh 2.5 VÝ dô t¹o mét danh s¸ch lùa chän


e. T¹o hép so¹n th¶o v¨n b¶n b»ng thÎ TEXTAREA
Có ph¸p:
<TEXTAREA
COLS=sè cét
ROWS=sè hμng
NAME=tªn
>
V¨n b¶n ban ®Çu
</TEXTAREA>
http://www.ebook.edu.vn 33

VÝ dô minh häa:
<HTML>
<HEAD>
<TITLE>Hép so¹n th¶o</TITLE>
</HEAD>
<BODY>
<P >NhËn xÐt:</P>
<TEXTAREA COLS="30" ROWS="5" NAME="nx">
</TEXTAREA>
</BODY>
</HTML>

H×nh 2.6 T¹o hép so¹n th¶o v¨n b¶n


2.3 DHTML (Dynamic HTML)
2.3.1 §Þnh nghÜa:
Ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ®éng (Dynamic Hypertext Markup
Language) lµ phiªn b¶n më réng cña HTML vµ JavaScript, ng«n ng÷ nµy ®−îc
dïng ®Ó t¹o trang th«ng tin trªn World Wide Web. Dynamic HTML cã vÞ trÝ v¨n
b¶n vµ ®å häa rÊt chÝnh x¸c v× nã cho phÐp néi dung cña trang Web thay ®æi mçi
khi ng−êi dïng nhÊn, kÐo hay trá vµo nót, h×nh ¶nh hay c¸c thµnh phÇn kh¸c trªn
trang nµy.
2.3.2 §Æc ®iÓm
Ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ®éng mang l¹i cho c¸c nhµ ph¸t triÓn kh¶
n¨ng t¹o nh÷ng trang Web cã h×nh thøc vµ tÝnh n¨ng nh− mét øng dông thùc sù.
HTML ®éng cho phÐp ng−êi dïng ®Þnh vÞ chÝnh x¸c v¨n b¶n vµ h×nh ¶nh
trªn trang Web. C¶ hai tr×nh duyÖt cña Netscape vµ Microsoft vµ míi nhÊt lµ cña
Mozilla ®Òu hç trî hÖ CSS ®Ó kiÓm so¸t vÎ ngoµi cña trang Web. VÝ dô, c¸c nhµ
ph¸t triÓn cã thÓ thay ®æi kiÓu ch÷ vµ kÝch cì cña tõng dßng tiªu ®Ò trªn Web site
mét c¸ch ®¬n gi¶n b»ng c¸ch thay ®æi ®Æc t¶ trong trang ®¬n x¸c ®Þnh h×nh thøc
http://www.ebook.edu.vn 34

(Cascading Style Sheet) t−¬ng øng. HTML ®éng cã c¶ kh¶ n¨ng liªn kÕt c¬ së d÷
liÖu víi trang Web ®Ó söa ®æi néi dung ngay trong khi thùc thi. Tr−íc khi trang
HTML ®éng ®−îc duyÖt, tr×nh duyÖt ph¶i bæ sung m· ch−¬ng tr×nh ch¹y ngoµi
tr×nh duyÖt nh− Java hay thµnh phÇn ActiveX.
2.3.3 Mét sè hiÖu øng DHTML
a. T¹o chuçi ký tù chuyÓn ®éng
Có ph¸p:
<MARQUEE
BEHAVIOR =type
DIRECTION =LEFT | RIGHT
LOOP =n
VSCROLLAMOUNT=n
SCOLLDELAY =n
>
Chuçi ký tù muèn chuyÓn ®éng
</MARQUEE>
C¸c thuéc tÝnh:
C¸c tham sè ý nghÜa
BEHAVIOR X¸c ®Þnh c¸ch thøc chuyÓn ®éng, víi type=scroll th×
chuçi ký tù b¾t ®Çu xuÊt hiÖn t¹i 1 c¹nh cña cöa sæ mµn
h×nh vµ biÕn mÊt ë c¹nh bªn kia, víi type=slide th× chuçi
b¾t ®Çu chuyÓn ®éng tõ 1 c¹nh vµ dõng l¹i ë c¹nh bªn
kia khi chuçi ch¹m vµo c¹nh kia, víi type=alternate th×
chuçi xuÊt hiÖn tõ bªn nµy sang bªn kia vµ chuyÓn ®éng
ng−îc l¹i.
DIRECTION §Þnh h−íng chuyÓn ®éng cho chuçi ký tù.
LOOP X¸c ®Þnh sè lÇn chuyÓn ®éng cña chuçi. NÕu
loop=infinite th× chuçi sÏ xuÊt hiÖn liªn tôc.
VSCROLLAMOUNT X¸c ®Þnh tèc ®é chuyÓn ®éng cña chuçi, tÝnh b»ng sè
pixel/gi©y.
SCOLLDELAY Thêi gian ngõng sau 1 lÇn chuyÓn ®éng.
NÕu kh«ng cã c¸c thuéc tÝnh trªn th× chuyÓn ®éng lÆp ®i lÆp l¹i tõ ph¶i sang
tr¸i víi tèc ®é 6 pixel/1 gi©y vµ thêi gian ngõng gi÷a c¸c lÇn ch¹y lµ 90 gi©y.
VÝ dô minh häa:
<HTML>
<HEAD>
<TITLE>Chuçi ký tù chuyÓn ®éng</TITLE>
</HEAD>
<BODY>
<P><font color=“red” face=“tahoma” size=“4”></font></P>
<MARQUEE BEHAVIOR=scroll DIRECTION=LEFT
http://www.ebook.edu.vn 35

LOOP=infinite SCROLLAMOUNT=60 SCOLLDELAY=5


>VÝ dô chuçi ký tù chuyÓn ®éng trong DHTML
</MARQUEE>
</BODY>
</HTML>
b. Thay ®æi h×nh d¹ng chuét khi qua mét vÞ trÝ
Có ph¸p:
<TD STYLE= “cursor:thuéc tÝnh cña cursor>
C¸c thuéc tÝnh vµ h×nh d¹ng t−¬ng øng:
Auto Hand Move Text Wait Help Default Crosshair

VÝ dô minh häa:
<HTML>
<HEAD>
<TITLE>VÝ dô vÒ Cursor</TITLE>
</HEAD>
<BODY>
<TABLE BORDER=“1”>
<TR>
<TD STYLE=“cursor:auto”>auto</TD>
<TD STYLE=“cursor:hand”>hand</TD>
<TD STYLE=“cursor:move”>move</TD>
<TD STYLE=“cursor:text”>text</TD>
<TD STYLE=“cursor:wait”>wait</TD>
<TD STYLE=“cursor:help”>help</TD>
<TD STYLE=“cursor:default”>default</TD>
<TD STYLE=“cursor:crosshair”>crosshair</TD>
</TR>
</TABLE>
</BODY>
</HTML>
2.4 C©u hái vµ bµi tËp ch−¬ng 2
C©u 1: Kh¸i niÖm ng«n ng÷ HTML?
C©u 2: Nªu c¸c thÎ x¸c ®Þnh cÊu tróc tµi liÖu HTML vµ ý nghÜa cña chóng.
C©u 3: Ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ®éng (DHTML): kh¸i niÖm, ®Æc
®iÓm.
Bµi 1: ThiÕt kÕ website ch−¬ng tr×nh ®µo t¹o cö nh©n CNTT hÖ cao ®¼ng
tr−êng SÜ quan CH-KT Th«ng tin, trang gåm 3 frame nh− h×nh sau, toµn bé website
sö dông font Time New Roman, yªu cÇu:
• Top frame gåm cã logo bªn tr¸i, chÝnh gi÷a lµ banner cña site, dßng
slogan ch¹y bªn d−íi.
http://www.ebook.edu.vn 36

• Left frame lµ menu chÝnh gåm c¸c môc chÝnh: tin tøc, ®µo t¹o, tæ
chøc, tµi liÖu, liªn kÕt.
• Main frame dïng thÓ thÓ hiÖn néi dung c¸c môc chän trong main
menu.
• Bottom frame (footer) lµ th«ng tin liªm hÖ vµ b¶n quyÒn.
Logo Banner
Tin tøc Slogan chuyÓn ®éng
§µo t¹o

Tæ chøc
Contents
Tµi liÖu

Liªn kÕt
Footer
Bµi 2: ThiÕt kÕ website qu¶n lý sinh viªn cña HÖ D©n sù d−íi d¹ng b¶ng
(table), nh− sau:
Logo Banner
Date-Time Slogan chuyÓn ®éng
Tin tøc-Sù kiÖn Qu¶ng c¸o
Th«ng b¸o-H−íng dÉn
TuyÓn sinh-§µo t¹o
KÕt qu¶-Häc bæng Contents Qu¶ng c¸o
DiÔn ®µn sinh viªn
Tµi liÖu häc tËp
Liªn kÕt website
Bµi 3: ThiÕt kÕ mét website theo chñ ®Ò:
• Giíi thiÖu danh lam th¾ng c¶nh cña quª h−¬ng.
• Giíi thiÖu c¸c mãn Èm thùc ®Æc s¶n cña ®Þa ph−¬ng.
• Giíi thiÖu chøc n¨ng, lÜnh vùc kinh doanh cña mét c«ng ty.
• Giíi thiÖu c¸c Ên phÈm cña mét nhµ s¸ch nhá.
• Giíi thiÖu s¶n phÈm may mÆc cña mét c«ng ty may xuÊt khÈu.
• Giíi thiÖu s¶n phÈm, hµng hãa cho mét shop b¸n hµng.
http://www.ebook.edu.vn 37

Ch−¬ng 3
Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web
3.1 JavaScript
3.1.1 Tæng quan
Víi HTML vµ Microsoft FrontPage chóng ta ®· biÕt c¸ch t¹o ra trang Web -
tuy nhiªn chØ míi ë møc biÓu diÔn th«ng tin chø ch−a ph¶i lµ c¸c trang Web ®éng
cã kh¶ n¨ng ®¸p øng c¸c sù kiÖn tõ phÝa ng−êi dïng. H·ng Netscape ®· ®−a ra
ng«n ng÷ kÞch b¶n cã tªn lµ LiveScript ®Ó thùc hiÖn chøc n¨ng nµy. Sau ®ã ng«n
ng÷ nµy ®−îc ®æi tªn thµnh JavaScript ®Ó tËn dông tÝnh ®¹i chóng cña ng«n ng÷ lËp
tr×nh Java. MÆc dï cã nh÷ng ®iÓm t−¬ng ®ång gi÷a Java vµ JavaScript, nh−ng
chóng vÉn lµ hai ng«n ng÷ riªng biÖt.
JavaScript lµ ng«n ng÷ d−íi d¹ng script cã thÓ g¾n víi c¸c file HTML. Nã
kh«ng ®−îc biªn dÞch mµ ®−îc tr×nh duyÖt diÔn dÞch. Kh«ng gièng Java ph¶i
chuyÓn thµnh c¸c m· dÔ biªn dÞch, tr×nh duyÖt ®äc JavaScript d−íi d¹ng m· nguån.
ChÝnh v× vËy chóng ta cã thÓ dÔ dµng häc JavaScript qua vÝ dô bëi v× ta cã thÓ thÊy
c¸ch sö dông JavaScript trªn c¸c trang Web.
a. §Æc tÝnh cña ng«n ng÷ JavaScript
JavaScript lµ mét ng«n ng÷ th«ng dÞch (interpreter), ch−¬ng tr×nh nguån cña
nã ®−îc nhóng (embedded) hoÆc tÝch hîp (integated) vµo tËp tin HTML chuÈn. Khi
file ®−îc load trong Browser (cã support cho JavaScript), Browser sÏ th«ng dÞch c¸c
Script vµ thùc hiÖn c¸c c«ng viÖc x¸c ®Þnh. Ch−¬ng tr×nh nguån JavaScript ®−îc
th«ng dÞch trong trang HTML sau khi toµn bé trang ®−îc load nh−ng tr−íc khi
trang ®−îc hiÓn thÞ.
JavaScript lµ mét ng«n ng÷ cã ®Æc tÝnh:
• §¬n gi¶n.
• §éng (Dynamic).
• H−íng ®èi t−îng (Object Oriented).
b. §èi t−îng trong JavaScript
Mét trong nh÷ng ®Æc tÝnh quan träng cña ng«n ng÷ JavaScript lµ kh¶ n¨ng
t¹o vµ sö dông c¸c ®èi t−îng (Object). C¸c Object nµy cho phÐp ng−êi lËp tr×nh sö
dông ®Ó ph¸t triÓn øng dông.
Trong JavaScript, c¸c Object ®−îc nh×n theo 2 khÝa c¹nh:
• C¸c Object ®· tån t¹i.
• C¸c Object do ng−êi lËp tr×nh x©y dùng.
Trong c¸c Object ®· tån t¹i ®−îc chia thµnh 2 kiÓu:
• C¸c Object cña chÝnh JavaScript (JavaScript Built-in Object):
JavaScript cung cÊp 1 bé c¸c Built-in Object ®Ó cung cÊp c¸c th«ng tin
vÒ sù hiÖn hµnh cña c¸c ®èi t−îng ®−îc load trong trang Web vµ néi
dung cña nã.C¸c ®èi t−îng nµy bao gåm c¸c ph−¬ng ph¸p (Method)
lµm viÖc víi c¸c thuéc tÝnh (Properties) cña nã.
• C¸c ®èi t−îng cã s½n ®−îc cung cÊp bëi m«i tr−êng Netscape:
Netscape Navigator cung cÊp c¸c ®èi t−îng cho phÐp JavaScript t−¬ng
http://www.ebook.edu.vn 38

t¸c víi file HTML, c¸c ®èi t−îng nµy cho phÐp chóng ta ®iÒu khiÓn
viÖc hiÓn thÞ th«ng tin vµ ®¸p øng c¸c sù kiÖn trong m«i tr−êng
Navigator.
c. C¸c ®èi t−îng do ng−êi lËp tr×nh x©y dùng
• §Þnh nghÜa thuéc tÝnh cña ®èi t−îng: (Object Properties)
Có ph¸p
Object-name.Property-name (tªn ®èi t−îng.tªn ®Æc tÝnh)
VÝ dô: Mét ®èi t−îng airplane cã c¸c thuéc tÝnh nh− sau:
Airplane.model Airplane.price
Airplane.seating Airplane.maxspeed
Airplane.fuel
• Thªm c¸c ph−¬ng ph¸p cho ®èi t−îng: ( Method to Object)
Sau khi ®· cã c¸c th«ng tin vÒ airplane ta tiÕp tôc x©y dùng ph−¬ng ph¸p ®Ó
sö dông th«ng tin nµy.VÝ dô muèn in ra m« t¶ cña airplane hoÆc tÝnh to¸n kho¶ng
c¸ch tèi ®a cña cuéc hµnh tr×nh víi nhiªn liÖu ®· cã:
Airplane.description()
Airplane.distance()
• T¹o mét instance (thÓ hiÖn) cña ®èi t−îng:
Tr−íc khi thao t¸c víi mét ®èi t−îng cña JavaScript ta ph¶i t¹o mét instance
cho ®èi t−îng ®ã.
d. Nhóng JavaScript vµo trong tËp tin HTML
§o¹n m· JavaScript cã thÓ ®−îc nhóng vµo mét file HTML theo mét trong
c¸c c¸ch sau ®©y:
• Sö dông c¸c c©u lÖnh vµ c¸c hµm trong cÆp thÎ <SCRIPT>
• Sö dông c¸c file nguån JavaScript.
• Sö dông mét biÓu thøc JavaScript lµm gi¸ trÞ cña mét thuéc tÝnh
HTML.
• Sö dông thÎ sù kiÖn (event handlers) trong mét thÎ HTML nµo ®ã.
Trong ®ã, sö dông cÆp thÎ <SCRIPT>...</SCRIPT> vµ nhóng mét file
nguån JavaScript lµ ®−îc sö dông phæ biÕn nhÊt.
Sö dông cÆp thÎ <SCRIPT>...</SCRIPT>:
Có ph¸p:
<SCRIPT LANGUAGE=”JavaScript”>
JavaScript Program
</SCRIPT>
Sö dông tËp tin JavaScript bªn ngoµi:
<SCRIPT LANGUAGE=”JavaScript”
SRC=”http://www.tsqtt.edu.vn/scroll.js”>
<!- - Dßng Èn m· Script ®èi víi c¸c Browser kh«ng hç trî
(support)
JavaScript Program
//Chó thÝch, tÊt c¶ nh÷ng g× thuéc dßng nµy ®Òu bÞ tr×nh
http://www.ebook.edu.vn 39

biªn dÞch bá qua. Chóng ta còng cã thÓ sö dông cÆp dÊu


/* */ ®Ó chó thÝch cho mét ®o¹n. Dßng kÕt thóc viÖc Èn
m· Script - - >
</SCRIPT>
Thuéc tÝnh cña thÎ SCRIPT:
• LANGUAGE: ChØ ®Þnh ng«n ng÷ ®−îc sö dông trong Script vµ c¸c
phiªn b¶n sö dông (vÝ dô nh−: JavaScript, JavaScript.1.2).
• SRC: §Þa chØ URL chØ ®Õn tËp tin ch−¬ng tr×nh JavaScript (*.js)
Chó ý: C¸c file JavaScript bªn ngoµi kh«ng ®−îc chøa bÊt kú thÎ HTML nµo.
Chóng chØ ®−îc chøa c¸c c©u lÖnh JavaScript vµ ®Þnh nghÜa hµm. Tªn file cña c¸c
hµm JavaScript bªn ngoµi cÇn cã ®u«i .js, vµ server sÏ ph¶i ¸nh x¹ ®u«i .js ®ã tíi
kiÓu MIME application/x-javascript.
Thªm ch−¬ng tr×nh vµo tËp tin HTML:
<HTML>
<HEAD>
<TITLE>Listing</TITLE>
</HEAD>
<BODY>
Here is result:
<SCRIPT LANGUAGE=“Javascript”>
<!--
document.writeln(“It work<BR>”);
-->
</SCRIPT>
</BODY>
</HTML>
3.1.2 Sö dông JavaScript
a. Có ph¸p c¬ b¶n cña lÖnh :
JavaScript x©y dùng c¸c hµm,c¸c ph¸t biÓu,c¸c to¸n tö vµ c¸c biÓu thøc trªn
cïng mét dßng vµ kÕt thóc b»ng dÊu chÊm phÈy (;).
VÝ dô: document.writeln("It work<BR>");
b. C¸c khèi lÖnh:
NhiÒu dßng lÖnh cã thÓ ®−îc liªn kÕt víi nhau vµ ®−îc bao bëi cÆp dÊu
ngoÆc nhän: {}
VÝ dô:
{
document.writeln("Does It work");
document.writeln("It work!");
}
c. XuÊt d÷ liÖu ra cöa sæ tr×nh duyÖt:
Dïng 2 ph−¬ng ph¸p document.write() vµ document.writeln()
VÝ dô:
http://www.ebook.edu.vn 40

document.write(“Test”);
document.writeln(“Test”);
LÖnh document.writeln(“Test”); cho phÐp xuÊt tõ “Test” ra mµn h×nh vµ sau
®ã ®−a con trá xuèng ®Çu dßng tiÕp theo.
d. XuÊt c¸c thÎ HTML tõ JavaScript
VÝ dô 1:
<HTML>
<HEAD>
<TITLE>Outputting Text</TITLE>
</HEAD>
<BODY>
This is text plain <BR>
<B>
<SCRIPT LANGUAGE==“Javascript”>
<!- -
document.write(“This is text bold </B>”);
- ->
</SCRIPT>
</BODY>
</HTML>
VÝ dô 2:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=“Javascript”>
<!- -
document.write(“<IMG SRC= ‘welcome.gif’>”);
document.write(“<BR><H1>WELCOME TO WEB
DESIGN</H1>”);
- ->
</SCRIPT>
</BODY>
</HTML>
e. Sö dông ph−¬ng ph¸p writeln() víi thÎ PRE:
<HTML>
<HEAD>
<TITLE>Outputting Text</TITLE>
</HEAD>
<BODY>
http://www.ebook.edu.vn 41

<PRE>
<SCRIPT LANGUAGE="Javascript">
<!- -
document.writeln("One,");
document.writeln("Two,");
document.write("Three");
document.write("...");
- ->
</SCRIPT>
</PRE>
</BODY>
</HTML>
f. C¸c ký tù ®Æc biÖt trong chuçi:
\n : New line
\t : Tab
\r : carriage return
\f : form feed
\b: backspace
VÝ dô:
document.writeln("It work!\n");
g. Lµm viÖc víi c¸c hép héi tho¹i (dialog boxes):
Sö dông hµm alert() ®Ó hiÓn thÞ th«ng b¸o trong mét hép.
VÝ dô:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!- -
alert("Welcome to Web Design");
document.write('<IMG
SRC="welcome.gif">');
- ->
</SCRIPT>
</BODY>
</HTML>
h. T−¬ng t¸c víi ng−êi sö dông:
Sö dông ph−¬ng ph¸p promt() ®Ó t−¬ng t¸c víi ng−êi sö dông.
VÝ dô 1:
<HTML>
http://www.ebook.edu.vn 42

<HEAD>
<TITLE>Listing</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!- -
document.write("Your favorite color is:");
document.writeln(prompt("enter your favorite
color:","Blue"));
- ->
</SCRIPT>
</BODY>
</HTML>
VÝ dô 2:
<HTML>
<HEAD>
<TITLE>Listing</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!- -
document.write('<IMG SRC="welcome.gif">');
document.write("<H1>Greeting ,");
document.writeln(prompt("enter your name:","name"));
document.write("Welcome to netscape navigator 2.01
</H1>");
- ->
</SCRIPT>
</BODY>
</HTML>
Sö dông to¸n tö + ®Ó céng 2 chuçi ®¬n l¹i:
VÝ dô 3:
<HTML>
<HEAD>
<TITLE>Listing</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!- -
document.write('<IMG
SRC="welcome.gif">');
http://www.ebook.edu.vn 43

document.write("<H1>Greeting ," + prompt("enter your


name:","name") + "Welcome to Web Design </H1>");
- ->
</SCRIPT>
</BODY>
</HTML>
3.1.3 C¸c kiÓu d÷ liÖu trong JavaScript:
a. D÷ liÖu kiÓu sè:
• Sè nguyªn: vÝ dô: 720
• Sè Octal: vÝ dô: 056
• Sè Hexa: vÝ dô: 0x5F
• Sè thËp ph©n: vÝ dô: 7.24, -34.2, 2E3
b. D÷ liÖu kiÓu chuæi:
VÝ dô: “Hello”
‘245’
“”
c. D÷ liÖu kiÓu Boolean:
KÕt qu¶ tr¶ vÒ lµ true hoÆc false.
d. D÷ liÖu kiÓu null:
Tr¶ vÒ gi¸ trÞ rçng.
e. D÷ liÖu kiÓu v¨n b¶n (gièng nh− kiÓu chuçi)
3.1.4 T¹o biÕn trong JavaScript:
Var example;
Var example=”Hello”;
Ta cã thÓ dïng document.write(example); ®Ó xuÊt néi dung cña mét biÕn.
VÝ dô 1: Dïng tõ khãa var ®Ó khai b¸o biÕn
<HTML>
<HEAD>
<TITLE>Listing</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!- -
var name=prompt("enter your name:","name");
- ->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!--
http://www.ebook.edu.vn 44

document.write('<IMG SRC="Welcome.gif">');
document.write("<H1>Greeting ," + name + " Welcome to
Web Design </H1>");
- ->
</SCRIPT>
</BODY>
</HTML>
VÝ du 2: T¹o l¹i mét gi¸ trÞ míi cho biÕn
<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
var name=prompt("enter your name:","name");
alert ("greeting " + name + " , ");
name=prompt("enter your friend's name:","friend's name");
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!--
document.write('<IMG SRC="Welcome.gif">');
document.write("<H1>Greeting ," + name + " Welcome to
Web Design </H1>");
- ->
</SCRIPT>
</BODY>
</HTML>
3.1.5 Lµm viÖc víi biÕn vµ biÓu thøc:
a. ThiÕt lËp biÓu thøc:
Có ph¸p: <biÕn> <to¸n tö > <biÓu thøc>
To¸n tö:
= G¸n gi¸ trÞ bªn ph¶i cho biÕn bªn tr¸i
VÝ dô: x=5
+= Céng tr¸i vµ ph¶i, sau ®ã g¸n kÕt qu¶ cho biÕn bªn tr¸i phÐp to¸n
VÝ dô: cho x=10, y=5
x+=y => x=15
-= Trõ bªn tr¸i cho bªn ph¶i, g¸n kÕt qu¶ l¹i cho biÕn bªn tr¸i
x-=y => x=5
*= Nh©n bªn tr¸i cho bªn ph¶i, g¸n kÕt qu¶ cho biÕn bªn tr¸i
x*=y => x=50
http://www.ebook.edu.vn 45

/= Chia bªn tr¸i cho ph¶i, g¸n kÕt qu¶ l¹i cho biÕn bªn tr¸i
x/=y => x=2
%= Chia bªn tr¸i cho bªn ph¶i vµ lÊy sè d− g¸n l¹i cho biÕn bªn tr¸i
x%=y => x=0
C¸c to¸n tö kh¸c:
VÝ dô:
x+=15+3 => x=18
8+5
32.5 * 72.3
12 % 5
DÊu ++ vµ dÊu - - vµ dÊu - :
VÝ dô:
x=5;
y=++x; (=> y=6 v× x t¨ng lªn 6 sau ®ã g¸n cho y)
z=x++; (=> z=6 v× gi¸ trÞ x=6 ®−îc g¸n cho z)
sau ®ã x t¨ng 1 => x=7
Do ®ã ta cã kÕt qu¶ cuèi cïng lµ:
x=7; y=6; z=6;
VÝ dô: x=5;
x=-x => x=-5
b. PhÐp to¸n Logic
&&: vµ
||: hoÆc
! not
VÝ dô:
x=5, y=2, c=3
(x>y) && (y>c) => false
(x>y) || (c<x) => true
!x
c. To¸n tö so s¸nh trong JavaScript:
==: b»ng
!=: kh¸c
>: lín h¬n
<: nhá h¬n
>=: lín h¬n hoÆc b»ng
<=: nhá h¬n hoÆc b»ng
VÝ dô:
1==1 => true
3<1 => false
5 >=4 => true
“the” != “he” => true
4==“4” => true
d. To¸n tö ®iÒu kiÖn:
Có ph¸p: (®iÒu kiÖn ) ? gi¸ trÞ 1 : gi¸ trÞ 2
http://www.ebook.edu.vn 46

• NÕu ®iÒu kiÖn ®óng th× tr¶ vÒ gi¸ trÞ 1


• NÕu ®iÒu kiÖn sai th× tr¶ vÒ gi¸ trÞ 2
VÝ dô:
(day=“Saturday”) ? “Weekend” : “Not Saturday”
e. To¸n tö chuçi:
“ Welcome to “ + “ Web Design”
VÝ dô:
Var welcome=”Welcome to”
welcome += “ Web Design”
=> welcome = “Welcome to Web Design”
VÝ dô : Sö dông to¸n tö ®iÒu kiÖn ®Ó kiÓm tra ®Çu vµo
<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
var question="What is 10+10 ?";
var answer=20;
var correct='<IMG SRC="correct.gif">';
var incorrect='<IMG SRC="incorect.gif">';
var response=prompt(question,"0");
var output = (response==answer) ? correct:incorrect;
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!--
document.write(output);
- ->
</SCRIPT>
</BODY>
</HTML>
3.1.6 CÊu tróc ®iÒu kiÖn if – else
Có ph¸p:
if ®iÒu kiÖn
lÖnh ;
hoÆc
if ®iÒu kiÖn {
M· JavaScript
}
http://www.ebook.edu.vn 47

VÝ dô:
If (day==“Saturday”) {
document.writeln(“It‘s the weekend”);
}
If (day!=“Saturday”) {
document.writeln(“It‘s not Saturday”);
}

Sö dông cÊu tróc else – if cho vÝ dô ë trªn


If (day==“Saturday”) {
document.writeln(“It‘s the weekend”);
}
else {
document.writeln(“It‘s not Saturday”);
}
CÊu tróc kÕt hîp c¸c lÖnh if lång nhau:
if ®iÒu kiÖn 1 {
C¸c lÖnh JavaScript
if ®iÒu kiÖn 2 {
C¸c lÖnh JavaScript
} else {
C¸c lÖnh kh¸c
}
C¸c lÖnh JavaScript
} else {
C¸c lÖnh kh¸c
}
VÝ dô 1 : Sö dông ph−¬ng ph¸p confirm() víi ph¸t biÓu if
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE="Javascript">
var question="What is 10+10 ?";
var answer=20;
var correct='<IMG SRC="correct.gif">';
var incorrect='<IMG SRC="incorect.gif">';
var response=prompt(question,"0");
if (response != answer) {
if (confirm("Wrong ! press OK for a second change"))
response=prompt(question,"0");
}
http://www.ebook.edu.vn 48

var output = (response ==answer ) ? correct:incorrect ;


</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!--
document.write(output);
-->
</SCRIPT>
</BODY>
</HTML>
VÝ dô 2 : Sö dông ph−¬ng ph¸p confirm() víi ph¸t biÓu if - else
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE="Javascript">
var question="What is 10+10 ?";
var answer=20;
var correct='<IMG SRC="correct.gif">';
var incorrect='<IMG SRC="incorect.gif">';
var response=prompt(question,"0");
if (response != answer) {
if (confirm("Wrong ! press OK for a second change"))
response=prompt(question,"0");
}else {
if (confirm("Correct ! press OK for a second question"))
{
question="What is 10*10";
answer=100;
response=prompt(question,"0");
}
}
var output = (response ==answer ) ? correct:incorrect ;
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="Javascript">
<!--
document.write(output);
-->
</SCRIPT>
http://www.ebook.edu.vn 49

</BODY>
</HTML>
3.1.7 Hµm vµ dèi t−îng
Trong kü thuËt lËp tr×nh c¸c lËp tr×nh viªn th−êng sö dông hµm ®Ó thùc hiÖn
mét ®o¹n ch−¬ng tr×nh thÓ hiÖn cho mét module nµo ®ã ®Ó thùc hiÖn mét c«ng viÖc
nµo ®ã.
Trong Javascript cã c¸c hµm ®−îc x©y dùng s½n ®Ó gióp chóng ta thùc hiÖn
mét chøc n¨ng nµo ®ã vÝ dô nh− hµm alert(), document.write(), parseInt() vµ ta
còng cã thÓ ®Þnh nghÜa ra c¸c hµm kh¸c cña m×nh ®Ó thùc hiÖn mét c«ng viÖc nµo
®ã cña m×nh, ®Ó ®Þnh nghÜa hµm chóng ta theo có ph¸p sau:
function function_name(parameters, arguments)
{
command block;
}
a. TruyÒn tham sè:
function printName(name) {
document.write(“<HR>Your Name is <B><I>”);
document.write(name);
document.write(“</B></I><HR>”);
}
VÝ dô:
Gäi hµm printName() víi lÖnh sau printName(“Bob”);
Khi hµm printName() ®−îc thi hµnh gi¸ trÞ cña name lµ "Bob", nÕu gäi hµm
printName() víi ®èi sè lµ mét biÕn
var user = “John”;
printName(user);
Khi ®ã name lµ “John”. NÕu muèn thay ®æi gi¸ trÞ cña name ta cã thÓ lµm
nh− sau : name = “Mr. “ + name;
b. Ph¹m vi cña biÕn:
BiÕn toµn côc (Global variable): cã gi¸ trÞ ¶nh h−ëng trong toµn bé ch−¬ng
tr×nh.
BiÕn côc bé (Local variable): chØ cã gi¸ trÞ ¶nh h−ëng trong ph¹m vi hµm,
®o¹n m· chøa nã.
c. Tr¶ vÒ c¸c gi¸ trÞ:
VÝ dô: Dïng return ®Ó tr¶ vÒ gi¸ trÞ cña biÕn.
function cube(number) {
var cube = number * number * number;
return cube;
}
VÝ dô:
<HTML>
http://www.ebook.edu.vn 50

<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//DEFINE FUNCTION testQuestion()
function testQuestion(question) {
//DEFINE LOCAL VARIABLES FOR THE FUNCTION
var answer=eval(question);
var output= “What is ” + question + “?”;
var correct=‘<IMG SRC=“correct.gif”>’;
var incorrect=‘<IMG SRC=“incorrect.gif”>’;
//ASK THE QUESTION
var response=prompt(output,“0”);
//CHECK THE RESULT
return (response == answer) ? correct : incorrect;
}
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE= “JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//ASK QUESTION AND OUTPUT RESULTS
var result=testQuestion(“10 + 10”);
document.write(result);
//STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</BODY>
</HTML>
Hµm eval dïng chuyÓn ®æi gi¸ trÞ chuçi sè thµnh gi¸ trÞ sè.
VÝ dô: eval(“10*10”) tr¶ vÒ gi¸ trÞ lµ 100.
d. Hµm ®Ö qui
VÝ dô:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE= “JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//DEFINE FUNCTION testQuestion()
function testQuestion(question) {
//DEFINE LOCAL VARIABLES FOR THE FUNCTION
http://www.ebook.edu.vn 51

var answer=eval(question);
var output= “What is ” + question + “?”;
var correct= ‘<IMG SRC=“correct.gif”>’;
var incorrect= ‘<IMG SRC=“incorrect.gif”>’;
//ASK THE QUESTION
var response=prompt(output,”0");
//CHECK THE RESULT
return (response == answer) ? correct : testQuestion(question);
}
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE= “JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//ASK QUESTION AND OUTPUT RESULTS
var result=testQuestion(“10 + 10”);
document.write(result);
//STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</BODY>
</HTML>
VÝ dô 2:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE= “JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//DEFINE FUNCTION testQuestion()
function testQuestion(question,chances) {
//DEFINE LOCAL VARIABLES FOR THE FUNCTION
var answer=eval(question);
var output= “What is ” + question + “?”;
var correct= ‘<IMG SRC=“correct.gif”>’;
var incorrect= ‘<IMG SRC=“incorrect.gif”>’;
//ASK THE QUESTION
var response=prompt(output,“0”);
//CHECK THE RESULT
if (chances > 1) {
return (response == answer) ? correct : testQuestion(question,chances-1);
} else {
http://www.ebook.edu.vn 52

return (response == answer) ? correct : incorrect;


}
}
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=“JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//ASK QUESTION AND OUTPUT RESULTS
var result=testQuestion(“10 + 10”,3);
document.write(result);
//STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</BODY>
</HTML>
3.1.8 T¹o ®èi t−îng trong JavaScript
a. §Þnh nghÜa thuéc tÝnh cña ®èi t−îng:
function student(name,age, grade) {
this.name = name;
this.age = age;
this.grade = grade;
}
§Ó t¹o mét Object ta sö dông ph¸t biÓu new.
VÝ dô ®Ó t¹o ®èi t−îng student1, ta sö dông khai b¸o:
student1 = new student(“Bob”,10,75);
Ba thuéc tÝnh cña ®èi t−îng student1 lµ :
student1.name, student1.age, student1.grade
VÝ dô ®Ó t¹o ®èi t−îng student2:
student2 = new student(“Jane”,9,82);
§Ó thªm thuéc tÝnh cho student1, ta cã thÓ lµm nh− sau:
student1.mother = “Susan”;
HoÆc chóng ta cã thÓ ®Þnh nghÜa l¹i hµm student
function student(name,age, grade,mother) {
this.name = name;
this.age = age;
this.grade = grade;
this.mother = mother;
}
b. §èi t−îng lµ thuéc tÝnh cña ®èi t−îng kh¸c
VÝ dô:
http://www.ebook.edu.vn 53

function grade (math, english, science) {


this.math = math;
this.english = english;
this.science = science;
}
bobGrade = new grade(75,80,77);
janeGrade = new grade(82,88,75);

student1 = new student(“Bob”,10,bobGrade);


student2 = new student(“Jane”,9,janeGrade);
student1.grade.math: dïng ®Ó lÊy ®iÓm To¸n cña student1
student2.grade.science: dïng lÊy ®iÓm m«n Khoa häc cña student2
c. Thªm ph−¬ng thøc cho ®èi t−îng:
function displayProfile() {
document.write(“Name: “ + this.name + “<BR>”);
document.write(“Age: “ + this.age + “<BR>”);
document.write(“Mother’s Name: “ + this.mother + “<BR>”);
document.write(“Math Grade: “ + this.grade.math + “<BR>”);
document.write(“English Grade: “ + this.grade.english + “<BR>”);
document.write(“Science Grade: “ + this.grade.science + “<BR>”);
}
function student(name,age, mother,grade) {
this.name = name;
this.age = age;
this.grade = grade;
this.mother = mother;
this.displayProfile = displayProfile;
}
student1.displayProfile();
VÝ dô:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
//DEFINE METHOD
function displayInfo() {
document.write(“<H1>Employee Profile: ” + this.name +
“</H1><HR><PRE>”);
document.writeln(“Employee Number: ” + this.number);
document.writeln(“Social Security Number: ” + this.socsec);
http://www.ebook.edu.vn 54

document.writeln(“Annual Salary: ” + this.salary);


document.write(“</PRE>”);
}
//DEFINE OBJECT
function employee() {
this.name=prompt(“Enter Employee’s Name”,”Name”);
this.number=prompt(“Enter Employee Number for “ +
this.name,”000-000");
this.socsec=prompt(“Enter Social Security Number for “ +
this.name,”000-00-0000");
this.salary=prompt(“Enter Annual Salary for “ +
this.name,”$00,000");
this.displayInfo=displayInfo;
}
newEmployee=new employee();
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
newEmployee.displayInfo();
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</BODY>
</HTML>

H×nh 3.1 Form nhËp tªn nh©n viªn

H×nh 3.2 Form nhËp møc l−¬ng


http://www.ebook.edu.vn 55

H×nh 3.3 Form hiÓn thÞ kÕt qu¶


VÝ dô:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<script LANGUAGE="JavaScript">
<!-- Begin
var day="";
var month="";
var ampm="";
var ampmhour="";
var myweekday="";
var year="";
mydate = new Date();
myday = mydate.getDay();
mymonth = mydate.getMonth();
myweekday= mydate.getDate();
weekday= myweekday;
myyear= mydate.getYear();
year = myyear;
myhours = mydate.getHours();
ampmhour = (myhours > 12) ? myhours - 12 : myhours;
ampm = (myhours >= 12) ? 'Buæ i ChiÒ u ' : ' Buæ i S¸ ng ';
mytime = mydate.getMinutes();
myminutes = ((mytime < 10) ? ':0' : ':') + mytime;
if(myday == 0)
day = " Chñ NhËt , ";
else if(myday == 1)
day = " Thø hai, ";
http://www.ebook.edu.vn 56

else if(myday == 2)
day = " Thø ba, ";
else if(myday == 3)
day = " Thø t−, ";
else if(myday == 4)
day = " Thø n¨m, ";
else if(myday == 5)
day = " Thø s¸u , ";
else if(myday == 6)
day = " Thø b¶y , ";
if(mymonth == 0) {
month = "th¸ng mét ";}
else if(mymonth ==1)
month = "th¸ng hai ";
else if(mymonth ==2)
month = "th¸ng ba ";
else if(mymonth ==3)
month = "th¸ng t− ";
else if(mymonth ==4)
month = "th¸ng n¨m, ";
else if(mymonth ==5)
month = "th¸ng s¸u ";
else if(mymonth ==6)
month = "th¸ng b¶y ";
else if(mymonth ==7)
month = "th¸ng t¸m ";
else if(mymonth ==8)
month = "th¸ng chÝn ";
else if(mymonth ==9)
month = "th¸ng m−êi ";
else if(mymonth ==10)
month = "th¸ng m−êi mét ";
else if(mymonth ==11)
month = "th¸ng m−êi hai ";
// End -->
</script>
</HEAD>
<!--Trong phan co the xuat ra nhu sau: -->
<BODY>
<SCRIPT>
<!-- HIDE FROM OTHER BROWSERS
http://www.ebook.edu.vn 57

document.write("<b><font color=#0000ff face=”tahoma,


helvetica, arial'>" + ampmhour + "" + myminutes + ampm)
document.write(" - " + day + " ngµy " + myweekday +" ");
document.write( month + " , n¨m " + year + "</font>");
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</BODY>
</HTML>
Sau khi duyÖt sÏ cho kÕt qu¶ nh− sau:

H×nh 3.4 KÕt qu¶ cña ®o¹n script hiÓn thÞ ngµy giê hÖ thèng
3.1.9 Sù kiÖn trong JavaScript
C¸c sù kiÖn cung cÊp c¸c t−¬ng t¸c víi cöa sæ tr×nh duyÖt vµ tµi liÖu hiÖn
hµnh ®ang ®−îc load trong trang web, c¸c hµnh ®éng cña user khi nhËp d÷ liÖu vµo
form vµ khi click vµo c¸c button trong form.
Khi sö dông bé qu¶n lý sù kiÖn b¹n cã thÓ viÕt c¸c hµm ®Ó biÓu diÔn cho c¸c
hµnh ®éng dùa vµo c¸c sù kiÖn ®ùoc chän.
a. B¶ng sù kiÖn trong Javascript
Tªn sù kiÖn M« t¶
Blur X¶y ra khi ®iÓm tËp trung cña ®Çu vµo ®−îc di chuyÓn
ra khái mét thµnh phÇn cña Form (Khi click ra ngoµi
mét tr−êng)
Click Khi user Click vµo 1 link hoÆc thµnh phÇn cña Form.
Change X¶y ra khi gi¸ trÞ cña Form Field bÞ thay ®æi bëi user.
Focus X¶y ra khi ngâ vµo tËp trung vµo thµnh phÇn cña Form
Load X¶y ra khi mét trang ®−îc Load vµo trong bé duyÖt.
Mouseover X¶y ra khi User di chuyÓn mouse qua mét Hyperlink.
Select X¶y ra khi User chän 1 tr−êng cña thµnh phÇn Form.
Submit X¶y ra khi User x¸c nhËn ®· nhËp xong d÷ liÖu.
Unload X¶y ra khi User rêi khái trang Web.
http://www.ebook.edu.vn 58

b. Bé qu¶n lý sù kiÖn (Event Handler)


§Ó qu¶n lý c¸c sù kiÖn trong javascript ta dïng c¸c bé qu¶n lý sù kiÖn.
Có ph¸p cña mét bé qu¶n lý sù kiÖn:
<HTML_TAG OTHER_ATTRIBUTES eventHandler=”JavaScript Program”>
VÝ dô:
<INPUT TYPE=”text” onChange=”checkField(this)”>
VÝ dô:
<INPUT TYPE=”text” onChange=“if (parseInt(this.value) <= 5)
{
alert(‘Please enter a number greater than 5.’);
}
“>
VÝ dô:
<INPUT TYPE=”text” onChange=“
alert(‘Thanks for the entry.’);
confirm(‘Do you want to continue?’);
“>
Tõ khãa this: quy cho ®èi t−îng hiÖn hµnh, trong Javascript, Form lµ mét
®èi t−îng. C¸c thµnh phÇn cña Form bao gåm text fields, checkboxes, radio
buttons, buttons, vµ selection lists.
c. C¸c bé qu¶n lý sù kiÖn trong Javascript
§èi t−îng Bé qu¶n lý sù kiÖn t−¬ng øng.
Selection list onBlur, onChange, onFocus
Text element onBlur, onChange, onFocus, onSelect
Textarea element onBlur, onChange, onFocus, onSelect
Button element onClick
Checkbox onClick
Radio button onClick
Hypertext link onClick, onMouseOver
Reset button onClick
Submit button onClick
Document onLoad, onUnload
Window onLoad, onUnload
Form onSubmit
d. C¸ch dïng bé qu¶n lý sù kiÖn onLoad & onUnload
<HTML>
<HEAD>
<TITLE>Example 5.1</TITLE>
</HEAD>
<BODY onLoad=”alert(‘Welcome to my page!’);”
onUnload=”alert(‘Goodbye! Sorry to see you go!’);”>
<IMG SRC=”title.gif”>
http://www.ebook.edu.vn 59

</BODY>
</HTML>
VÝ dô 1:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
var name = “”;
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY onLoad=”
name = prompt(‘Enter Your Name:’,’Name’);
alert(‘Greetings ‘ + name + ‘, welcome to my page!’);”
onUnload=” alert(Goodbye ‘ + name + ‘, sorry to see you go!’);”>
<IMG SRC=”title.gif”>
</BODY>
</HTML>
VÝ dô 2:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
// DEFINE GLOBAL VARIABLE
var name = “”;
function hello() {
name = prompt(‘Enter Your Name:’,’Name’);
alert(‘Greetings ‘ + name + ‘, welcome to my page!’);
}
function goodbye() {
alert(Goodbye ‘ + name + ‘, sorry to see you go!’);
}
// STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY onLoad=”hello();” onUnload=”goodbye();”>
<IMG SRC=”title.gif”>
</BODY>
</HTML>
http://www.ebook.edu.vn 60

e. C¸c sù kiÖn vµ Form


C¸c sù kiÖn ®−îc sö dông ®Ó truy xuÊt Form nh−: onClick, onSubmit,
onFocus, onBlur, vµ onChange.
VÝ dô 1:
<INPUT TYPE=text NAME=”test” VALUE=”test”
onBlur=”alert(‘Thank You!’);”
onChange=”check(this);”>
Khi gi¸ trÞ thay ®æi function check() sÏ ®−îc gäi. Ta dïng tõ khãa this ®Ó
chuyÓn ®èi t−îng cña tr−êng hiÖn hµnh ®Õn hµm check(). Chóng ta còng cã thÓ dùa
vµo c¸c ph−¬ng ph¸p vµ c¸c thuéc tÝnh cña ®èi t−îng b»ng ph¸t biÓu sau:
this.methodName() & this.propertyName.
VÝ dô 2:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- HIDE FROM OTHER BROWSERS
function calculate(form) {
form.results.value = eval(form.entry.value);
}
function getExpression(form) {
form.entry.blur();
form.entry.value = prompt(“Please enter a JavaScript
mathematical expression”,””);
calculate(form);
}
//STOP HIDING FROM OTHER BROWSERS -->
</SCRIPT>
</HEAD>
<BODY>
<FORM METHOD=POST>
Enter a JavaScript mathematical expression:
<INPUT TYPE=text NAME=”entry” VALUE=””
onFocus=”getExpression(this.form);”>
<BR>
The result of this expression is:
<INPUT TYPE=text NAME=”results” VALUE=””
onFocus=”this.blur();”>
</FORM>
</BODY>
</HTML>
http://www.ebook.edu.vn 61

H×nh 3.5 C¸c sù kiÖn trªn form


formObjectName.fieldname: Dïng ®Ó chØ tªn tr−êng cña hiÖn hµnh trong form.
formObjectName.fieldname.value: Dïng lÊy gi¸ trÞ cña tr−êng form hiÖn hµnh.
3.1.10 Sö dông vßng lÆp trong JavaScript
a. Vßng lÆp for :
Có ph¸p :
for ( init value ; condition ; update expression )
VÝ dô 1:
for (i = 0 ; i < 5 ; i++)
{
lÖnh ;
}
VÝ dô 2:
<HTML>
<HEAD>
<TITLE> for loop Examle </TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
<!- -
var name=prompt("What is your name?" ,"name");
var query= " " ;
document.write("<H1>" + name + " 's 10 favorite foods </H1> ");
for (var i=1 ;i<=10;i++)
{
document.write(i + " " + prompt('Enter food number ' + i,
'food' ) + '<BR>');
}
http://www.ebook.edu.vn 62

- ->
</SCRIPT>
</BODY>
</HTML>
b. Vßng lÆp while :
Có ph¸p:
While ( ®iÒu kiÖn)
{
lÖnh JavaScript ;
}
VÝ dô 1:
var num=1;
while(num<=10)
{
document.writeln(num);
num++;
}
VÝ dô 2:
var answer=” “ ;
var correc=100;
var question=” what is 10*10 ?” ;
while(answer!=correct)
{
answer=prompt(question,”0”);
}
c. T¹o m¶ng víi vßng lÆp for:
function createArray(num)
{
this.length=num;
for ( var j=0 ; j<num; j++)
this[j]=0;
}
Hµm sÏ t¹o mét m¶ng cã gi¸ trÞ index b¾t ®Çu lµ 0 vµ g¸n tÊt c¶ c¸c gi¸ trÞ
cña m¶ng vÒ 0 .
§Ó sö dông ®èi t−îng m¶ng ta cã thÓ lµm nh− sau:
newArray= new createArray(4);
SÏ t¹o ra mét m¶ng gåm 4 thµnh phÇn newArray[0] … newArray[3]
3.1.11 Sö dông ®èi t−îng Windows
Window lµ ®èi t−îng cña m«i tr−êng Navigator, ngoµi c¸c thuéc tÝnh
Window ®èi t−îng window cßn gi÷ c¸c ®èi t−îng kh¸c mµ cã thÓ ®−îc xem nh− lµ
c¸c thµnh phÇn (member) cña window, c¸c ®èi t−îng ®ã lµ:
http://www.ebook.edu.vn 63

• C¸c frame ®· ®−îc t¹o


• C¸c ®èi t−îng location vµ histtory
• §èi t−îng document
§èi t−îng document chøa (encompasses) tÊt c¶ c¸c thµnh phÇn trong trang
HTML. §©y lµ mét ®èi t−îng hoµn h¶o cã c¸c ®èi t−îng kh¸c cña JavaScript g¸n
(attached) vµo nã (nh− lµ anchor, form, history, link). HÇu nh− mäi ch−¬ng tr×nh
JavaScript ®Òu cã sö dông ®èi t−îng nµy ®Ó tham kh¶o ®Õn c¸c thµnh phÇn trong
trang HTML.
a. C¸c thuéc tÝnh (properties) cña ®èi t−îng document
• alink
• anchor
• bgColor
• cookies
• fgColor
• form
• lastModified
• linkColor
• links
• location
• referrer
• title
• vlinkColor
b. C¸c hµnh vi (Methods) cña ®èi t−îng document
• clear()
• close()
• open()
• write()
• writeln()
c. C¸c thuéc tÝnh cña ®èi t−îng Window
• defaultStatus : Gi¸ trÞ mÆt nhiªn ®−îc hiÓn thÞ ë thanh tr¹ng th¸i.
• frames: M¶ng c¸c ®èi t−îng chøa ®ùng mét môc cho mçi frame con
trong mét frame tµi liÖu.
• parent: §−îc sö dông trong FRAMSET
• self: Cöa sæ hiÖn hµnh , dïng ®Ó ph©n biÖt gi÷a c¸c cöa sæ hiÖn hµnh
vµ c¸c forms cã cïng tªn.
• status: Gi¸ trÞ cña chuçi v¨n b¶n ®−îc hiÓn thÞ t¹i thanh status bar.
Dïng ®Ó hiÓn thi c¸c th«ng b¸o cho ng−êi sö dông.
• top: §Ønh cao nhÊt cña cöa sæ cha.
• window
d. C¸c hµnh vi (Methods) cña ®èi t−îng window
• alert(): HiÖn 1 th«ng b¸o trong hép tho¹i víi OK button.
http://www.ebook.edu.vn 64

• close(): §ãng cöa sæ hiÖn hµnh.


• open(): Më mét cöa sæ míi víi 1 tµi liÖu ®−îc chØ ra hoÆc më mét tµi
liÖu trong mét tªn cöa sæ ®−îc chØ ®Þnh.
• prompt(): HiÖn mét hép th«ng b¸o.
• setTimeout():
• clearTimeout(): Hµnh vi nµy cung cÊp c¸ch gäi ph¸t biÓu JavaScript
sau mét kho¶ng thêi gian tr«i qua. Ngoµi ra ®èi t−îng window cã thÓ
thùc hiÖn event handler: onLoad=statement.
3.1.12 Lµm viÖc víi status bar
Khi user di chuyÓn qua mét hyperlink ta cã thÓ hiÖn ra mét th«ng b¸o t¹i
thanh status bar cña browser dùa vµo event handler onMouseOver vµ b»ng c¸ch ®Æt
self.status lµ mét chuçi (hoÆc window.status).
VÝ dô:
<HTML>
<HEAD>
<TITLE>Status Example</TITLE>
<BODY>
<A HREF=”plc.htm” onMouseOver=”self.status=’Chuyen de PLC’;
return true ; “ >
Lop chuyen dÒ PLC </A>
<A HREF=”tkweb.htm” onMouseOver=”self.status=’Thiet Ke
Trang Web’ ;
return true ; “ >
Thiet Ke Web</A>
</BODY>
</HTML>
3.1.13 Më vµ ®ãng c¸c cöa sæ
Sö dông ph−¬ng thøc open() vµ close() ta cã thÓ ®iÒu khiÓn viÖc më vµ ®ãng
cöa sæ chøa tµi liÖu:
open (“URL” , “WindowName” , “featureList”) ;
C¸c ®Æc ®iÓm trong ph−¬ng ph¸p open() gåm cã:
• toolbar: t¹o mét toolbar chuÈn
• location: t¹o mét vïng location
• directories: t¹o c¸c button th− môc chuÈn
• status: t¹o thanh tr¹ng th¸i.
• menubar: t¹o thanh menu t¹i ®Ønh cña cöa sæ
• scrollbars: t¹o thanh scroll bar
• resizable: cho phÐp user thay ®æi kÝch th−íc cöa sæ
• width: chØ ®Þnh chiÒu réng cöa sæ theo ®¬n vÞ pixel
• height: chØ ®Þnh chiÒu cao cöa sæ theo ®¬n vÞ pixel
VÝ dô 1:
window.open( “plc.htm”, ”newWindow”, ”toolbar=yes, location=1,
http://www.ebook.edu.vn 65

directories=yes, status=yes, menubar=1, scroolbar=yes,


resizable=0, copyhistory=1, width=200, height=200”);
VÝ dô 2:
<HTML>
<HEAD>
<TITLE>WINDOWS</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function openWindow(url,name) {
popupWin = window.open(url, name, "scrollbars=yes,width=800,
heigth=200 ");
}
-->
</SCRIPT>
</HEAD>
<BODY>
<a
href="javascript:openWindow('../chuyende/plc.htm','Win')">PLC</a>,
<a
href="javascript:openWindow('../chuyende/suachuaw.htm','stoogeWin
')">Sua chua</a>,
<a
href="javascript:openWindow('../chuyende/tkweb.htm','stoogeWin')">
Thiet ke web</a>
</BODY>
</HTML>
§Ó ®ãng cöa sæ ta cã thÓ dïng ph−¬ng thøc close()
VÝ dô:
<HTML>
<HEAD>
<TITLE>Close Example</TITLE>
</HEAD>
<BODY >
<A HREF="#" ONCLICK="self.close();return false">
<IMG ALIGN="middle" SRC="../demo.gif" WIDTH="16" HEIGHT="16"
BORDER="0"></A>
<A HREF="#" ONCLICK="self.close();return false">Close This
Sample</A>
</BODY >
</HTML>
http://www.ebook.edu.vn 66

3.1.14 Sö dông ®èi t−îng string


String lµ mét ®èi t−îng cña JavaScript, khi dïng ®èi t−îng string chóng ta
kh«ng cÇn c¸c ph¸t biÓu ®Ó t¹o mét instance (thÓ hiÖn) cña ®èi t−îng, bÊt kú lóc
nµo ta ®Æt text gi÷a hai dÊu ngoÆc kÐp vµ g¸n nã ®Õn mét biÕn hoÆc mét thuéc tÝnh
th× ta ®· t¹o mét ®èi t−îng string.
a. C¸c thuéc tÝnh cña ®èi t−îng string
Thuéc tÝnh length tr¶ vÒ sè ký tù (chiÒu dµi) cña string.
b. C¸c ph−¬ng thøc (Methods) cña ®èi t−îng string
• anchor (nameAttribute)
• big()
• blink()
• bold()
• charAt(index)
• fixed()
• fontcolor(color)
• fontsize(size)
• indexOf(character,[fromIndex])
• italics()
• lastIndexOf(character,[fromIndex])
• link(URL)
• small()
• strike()
• sub()
• substring(startIndex,endIndex)
• sup()
• toLowerCase()
• toUpperCase()
3.2 VBScript
VBScript lµ mét c«ng nghÖ cña Microsoft yªu cÇu ph¶i cã Microsoft Internet
Explorer. Tr−íc khi b¾t ®Çu häc viÕt VBScript, chóng ta cÇn ph¶i biÕt c¸c kh¸i niÖm
c¬ b¶n vÒ: WWW, HTML vµ c¸c kiÕn thøc c¨n b¶n ®Ó x©y dùng mét trang web.
3.2.1 VBScript lµ g×?
VBScript lµ mét ng«n ng÷ kÞch b¶n. Mét ng«n ng÷ script lµ mét ng«n ng÷
lËp tr×nh nhÑ. VBScript lµ phiªn b¶n nhÑ cña ng«n ng÷ lËp tr×nh Vusual Basic.
Khi VBScript ®−îc chÌn vµo trong v¨n b¶n HTML, tr×nh duyÖt Internet sÏ
®äc v¨n b¶n HTML ®ã vµ dÞch c¸c ®o¹n m· VBScript. C¸c ®o¹n m· nµy ®−îc thùc
hiÖn hoÆc lµ ngay lóc ®ã hoÆc trong c¸c sù kiÖn sau nµy.
3.2.2 BiÕn vµ ph¹m vi biÕn
BiÕn lµ mét vïng chøa th«ng tin cÇn l−u tr÷. Gi¸ trÞ cña biÕn cã thÓ ®−îc thay
®æi trong qu¸ tr×nh lËp tr×nh. Ta cã thÓ lµm viÖc víi mét biÕn th«ng qua tªn cña nã,
còng nh− cã thÓ thay ®æi gi¸ trÞ cña biÕn ®ã. Trong VBScript, tÊt c¶ c¸c biÕn ®Òu
cã kiÓu lµ variant, vµ nã cã thÓ l−u tr÷ bÊt kú d¹ng d÷ liÖu nµo.
http://www.ebook.edu.vn 67

Quy t¾c ®Æt tªn biÕn: B¾t ®Çu b»ng mét ch÷ c¸i, kh«ng chøa dÊu (.) vµ ®é dµi
kh«ng qu¸ 255 ký tù. Chóng ta cã thÓ khai b¸o biÕn víi c¸c tõ kho¸ Dim, Public
hoÆc Private.
VÝ dô d−íi ®©y khai b¸o mét biÕn tªn name vµ g¸n cho nã mét gi¸ trÞ:
dim name
name = gi¸ trÞ
Ta còng cã thÓ khai b¸o biÕn b»ng c¸ch sö dông nã trong script cña m×nh.
VÝ dô:
name = gi¸ trÞ
Tuy vËy, c¸ch khai b¸o nµy kh«ng ®−îc t−êng minh vµ kh«ng tèt cho øng
dông cña chóng ta, v× sau ®ã trong øng dông cña m×nh, chóng ta cã thÓ v« t×nh viÕt
sai tªn biÕn vµ cã thÓ nhËn ®−îc kÕt qu¶ kh«ng chÝnh x¸c khi ch¹y ch−¬ng tr×nh.
§iÒu ®ã x¶y ra lµ v× gi¶ sö ta cã mét tªn biÕn tªn “name”, sau ®ã ta gäi tíi biÕn ®ã
b»ng mét tªn “nime” ch¼ng h¹n, ch−¬ng tr×nh sÏ tù ®éng sinh ra thªm 1 biÕn tªn
“nime”. §Ó tr¸nh x¶y ra ®iÒu nhÇm lÉn nµy, chóng ta nªn sö dông c©u lÖnh Option
Explicit. Khi sö dông c©u lªnh nµy, tÊt c¶ c¸c biÕn ®Òu ph¶i khai b¸o tr−íc khi sö
dông bëi c¸c c©u lÖnh víi tõ kho¸ Dim, Public hoÆc Private. §Æt c©u lÖnh Option
Explicit trªn ®Çu cña ch−¬ng tr×nh, nh− vÝ dô sau:
Option Explicit
dim name
name = gi¸ trÞ
C¸ch g¸n gi¸ trÞ cho biÕn:
Ta cã thÓ g¸n gi¸ trÞ cho cho mét biÕn nh− sau:
name = “NguyÔn Minh Ph−îng”
i = 200 lµ thêi gian sèng cña biÕn (Kho¶ng thêi gian biÕn ®ã tån t¹i ®−îc gäi
lµ thêi gian sèng cña nã). Khi khai b¸o mét biÕn trong mét thñ tôc, biÕn ®ã chØ
®−îc truy xuÊt tíi trong ph¹m vi thñ tôc ®ã. Khi thñ tôc ®ã kÕt thóc, c¸c biÕn ®ã
còng bÞ huû. Nh÷ng biÕn nµy ®−îc gäi lµ biÕn côc bé. Chóng ta cã thÓ ®Æt c¸c biÕn
côc bé trïng tªn nhau trong c¸c thñ tôc kh¸c nhau, bëi v× mçi biÕn chØ ®−îc nhËn
biÕt bëi chÝnh thñ tôc trong ®ã chóng ®−îc khai b¸o.
NÕu khai b¸o mét biÕn bªn ngoµi mét thñ tôc, tÊt c¶ c¸c thñ tôc n»m trong
cïng trang ®ã ®Òu cã thÓ truy nhËp tíi biÕn ®ã. Thêi gian sèng cña biÕn nµy b¾t ®Çu
tõ lóc nã ®−îc khai b¸o vµ kÕt thóc khi trang web ®−îc ®ãng l¹i.
BiÕn Array (m¶ng): Cã nh÷ng khi chóng ta muèn g¸n nhiÒu h¬n 1 gi¸ trÞ cho
mét biÕn, khi ®ã ta khai b¸o mét biÕn cã thÓ chøa mét d·y d÷ liÖu. BiÕn nµy ®−îc
gäi lµ biÕn m¶ng (array). §Ó khai b¸o mét biÕn lµ biÕn array, chóng ta ®Æt dÊu
ngoÆc ®¬n ngay sau tªn biÕn.
VÝ dô sau chóng ta khai b¸o mét biÕn array gåm cã 3 gi¸ trÞ:
dim names(2)
Gi¸ trÞ sè trong dÊu ngoÆc lµ 2. ChØ sè cña biÕn array b¾t ®Çu bëi 0 cho nªn
biÕn nµy sÏ bao gåm 3 gi¸ trÞ. §©y lµ mét array cã ®é dµi cè ®Þnh. Ta g¸n gi¸ trÞ
cho tõng phÇn tö cña array b»ng c¸ch sau:
names(0) = “NguyÔn Thanh B×nh”
names(1)=”NguyÔn Minh Ph−îng”
names(2)=”Hoµng Kh¸nh H−ng”
http://www.ebook.edu.vn 68

T−¬ng tù nh− vËy chóng ta cã thÓ lÊy gi¸ trÞ cña bÊt kú phÇn tö nµo trong
array mµ ta cÇn b»ng c¸ch sö dông chØ sè t−¬ng øng cña phÇn tö:
eng = names(0)
Chóng ta chØ cã thÓ khai b¸o nhiÒu nhÊt tíi 60 chiÒu cho mét array. C¸c
chiÒu ®−îc khai b¸o c¸ch nhau bëi dÊu phÈy. VÝ dô sau khai b¸o mét array bao
gåm 5 dßng vµ 7 cét:
dim table(4,6)
3.2.3 C¸c kiÓu d÷ liÖu
a. KiÓu d÷ liÖu trong VBScript lµ g×?
VBScript chØ cã mét kiÓu d÷ liÖu tªn lµ variant. KiÓu variant lµ mét kiÓu d÷
liÖu ®Æc biÖt cã thÓ chøa c¸c lo¹i th«ng tin kh¸c nhau phô thuéc vµo c¸ch sö dông
chóng. Còng v× nã lµ kiÓu d÷ liÖu duy nhÊt trong VBScript cho nªn tÊt c¶ c¸c hµm
cña VBScript ®Òu tr¶ vÒ kiÓu d÷ liÖu nµy.
Nãi mét c¸ch ®¬n gi¶n nhÊt, mét biÕn variant cã thÓ chøa th«ng tin lµ mét sè
hoÆc mét x©u. BiÕn variant nµy xö sù nh− mét sè khi nã ®−îc sö dông trong ng÷
c¶nh sè vµ nh− mét x©u khi sö dông nã trong ng÷ c¶nh x©u. §iÒu ®ã cã nghÜa lµ
nÕu ta lµm viÖc víi mét d÷ liÖu tr«ng gièng kiÓu sè, VBScript sÏ cho r»ng ®ã lµ mét
sè vµ thùc hiÖn tÊt c¶ c¸c c«ng viÖc phï hîp nhÊt víi mét sè. T−¬ng tù nh− vËy, nÕu
ta lµm viÖc víi d÷ liÖu lµ mét x©u, VBScript coi ®ã lµ mét x©u. TÊt nhiªn chóng ta
hoµn toµn cã thÓ coi d÷ liÖu sè lµ mét x©u b»ng c¸ch ®Æt sè ®ã trong cÆp ngoÆc kÐp
(“”).
b. KiÓu d÷ liÖu con cña Variant – variant subtypes
Ngoµi viÖc ®¬n gi¶n lµ ph©n biÖt sè vµ x©u, mét variant cã thÓ ph©n biÖt ®−îc
th«ng tin sè theo c¸ch kh¸c. Ch¶ng h¹n chóng ta cã thÓ cã mét d÷ liÖu sè ®¹i diÖn
cho Date/Time. Khi sö dông nã cïng víi mét d÷ liÖu kiÓu Date/Time kh¸c th× kÕt
qu¶ tr¶ vÒ lu«n ®−îc biÓu diÔn d−íi d¹ng Date/Time. TÊt nhiªn ta cã thÓ cßn cã mét
lo¹t c¸c d÷ liÖu d¹ng sè víi kÝch th−íc kh¸c nhau tõ kiÓu Boolean cho tíi kiÓu
floating – point. C¸c d¹ng th«ng tin kh¸c nhau ®ã cã thÓ ®−îc l−u trong biÕn
variant gäi lµ c¸c kiÓu con (subtype). PhÇn lín thêi gian, chóng ta chØ cÇn g¸n d÷
liÖu cña m×nh vµo biÕn variant vµ biÕn nµy sÏ ho¹t ®éng theo c¸ch xö lý d÷ liÖu
gièng nh− chÝnh d÷ liÖu mµ nã chøa.
B¶ng d−íi ®©y m« t¶ c¸c kiÓu d÷ liÖu con cña variant:
Subtype M« t¶
Empty Variant ch−a ®−îc g¸n gi¸ trÞ ban ®Çu. Cã gi¸ trÞ 0 ®èi víi c¸c
biÕn kiÓu sè vµ x©u rçng (“”) ®èi víi biÕn x©u.
Null Variant kh«ng chøa d÷ liÖu
Boolean Cã gi¸ trÞ lµ True hoÆc False
Byte Chøa sè nguyªn tõ 0 tíi 255.
Integer Chøa sè nguyªn tõ -32,768 tíi 32,767.
Currency -922,337,203,685,477.5808 tíi 922,337,203,685,477.5807.
Long Chøa sè nguyªn tõ -2,147,483,648 tíi 2,147,483,647.
Single Chøa sè single-precision, floating-point tõ -1.402823E38 tíi
-1.401298E-45 ®èi víi gi¸ trÞ ©m, tõ 1.401298E-45 tíi
3.402823E38 ®èi víi gi¸ trÞ d−¬ng.
http://www.ebook.edu.vn 69

Double Chøa sè double-precision, floating-point -


1.79769313486232E308 to -4.94065645841247E-324 ®èi víi
gi¸ trÞ ©m, tõ 4.94065645841247E-324 tíi
1.79769313486232E308 ®èi víi gi¸ trÞ d−¬ng.
Date (Time) Chøa mét gi¸ trÞ sè ®¹i diÖn cho ngµy tÝnh tõ January 1, 100 tíi
December 31, 9999.
String Chøa mét x©u cã ®é dµi bÊt kú dµi nhÊt kho¶ng 2 tû ký tù
Object Chøa mét Object
Error Chøa m· sè lçi
Chóng ta cã thÓ dïng c¸c hµm chuyÓn ®æi kiÓu d÷ liÖu ®Ó chuyÓn d÷ liÖu
gi÷a c¸c kiÓu d÷ liÖu con víi nhau. Thªm vµo ®ã, hµm VarType cho ta biÕt th«ng
tin vÒ c¸ch l−u tr÷ d÷ liÖu cña m×nh trong biÕn Variant.
c. C¸c hµm trong VBScript:
D−íi ®©y liÖt kª c¸c hµm cã s½n trong VBScript. C¸c hµm nµy ®−îc chia ra
thµnh c¸c lo¹i sau:
• C¸c hµm vÒ thêi gian
• C¸c hµm chuyÓn ®æi kiÓu d÷ liÖu
• C¸c hµm ®Þnh d¹ng d÷ liÖu
• C¸c hµm to¸n häc
• C¸c hµm vÒ d·y
• C¸c hµm vÒ x©u
• C¸c hµm kh¸c
C¸c hµm vÒ thêi gian (Date/Time Functions)
Tªn hµm M« t¶
Cdate ChuyÓn biÓu thøc cã d¹ng date and time chuÈn sang d¹ng
Date
Date Tr¶ vÒ ngµy giê hÖ thèng
DateAdd Tr¶ vÒ ngµy ®−îc céng thªm mét kho¶ng thêi gian
DateDiff Tr¶ vÒ gi¸ trÞ sè lµ kho¶ng thêi gian gi÷a hai gi¸ trÞ ngµy.
DatePart Tr¶ vÒ phÇn x¸c ®Þnh cña ngµy.
Day Tr¶ vÒ ngµy hiÖn t¹i. Gi¸ trÞ tõ 1 tíi 31.
FormatDateTime Tr¶ vÒ biÓu thøc ®· ®−îc ®Þnh d¹ng theo kiÓu date or time
Hour Tr¶ vÒ gi¸ trÞ lµ mét sè chØ giê hiÖn hµnh trong ngµy, cã
gi¸ trÞ tõ 0 tíi 23.
IsDate Tr¶ vÒ gi¸ trÞ Boolean cho biÕt biÓu thøc cã thÓ chuyÓn
sang d¹ng ngµy th¸ng hay kh«ng.
Minute Tr¶ vÒ gi¸ trÞ sè lµ phót cña giê (cã gi¸ trÞ tõ 0 tíi 59)
Month Cho biÕt th¸ng hiÖn hµnh (Cã gi¸ trÞ tõ 1 tíi 12)
MonthName Tr¶ vÒ tªn th¸ng
Now Cho biÕt ngµy giê hiÖn hµnh cña hÖ thèng
Second Tr¶ vÒ sè ®¹i diÖn cho gi©y (Cã gi¸ trÞ tõ 0 tíi 59)
Time Tr¶ vÒ giê hÖ thèng
Timer Tr¶ vÒ gi¸ trÞ sè gi©y tÝnh tõ 12:00 AM
Weekday Tr¶ vÒ sè ®¹i diÖn cho ngµy trong tuÇn (Cã gi¸ trÞ tõ 1tíi 7)
http://www.ebook.edu.vn 70

WeekdayName Tr¶ vÒ tªn ngµy trong tuÇn


Year Tr¶ vÒ n¨m hiÖn hµnh
C¸c hµm chuyÓn kiÓu d÷ liÖu (Conversion Functions)
Tªn hµm M« t¶
Asc ChuyÓn ký tù ®Çu tiªn cña x©u sang m· ANSI.
CBool ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype Boolean
CByte ChuyÓn d÷ liÖu tõ kiÓu variant sang kiÓu subtype Byte
CCur ChuyÓn d÷ liÖu tõ kiÓu variant sang kiÓu subtype Currency
CDate ChuyÓn d÷ liÖu tõ biÓu thøc d¹ng date/time sang kiÓu subtype
Date/Time
CDbl ChuyÓn biÓu thøc tõ kiÓu variant sang kiÓu subtype Double
Chr ChuyÓn m· ANSI sang ký tù
CInt ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype Integer
CLng ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype Long
CSng ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype Single
CStr ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype String
C¸c hµm ®Þnh d¹ng d÷ liÖu (Format Functions)
Tªn hµm M« t¶
FormatCurrency Tr¶ vÒ biÓu thøc ®−îc ®Þnh d¹ng kiÓu nh− currency
FormatDateTime Tr¶ vÒ biÓu thøc ®−îc ®Þnh d¹ng kiÓu date or time
FormatNumber Tr¶ vÒ biÓu thøc ®−îc ®Þnh d¹ng kiÓu sè.
FormatPercent Tr¶ vÒ biÓu thøc ®−îc ®Þnh d¹ng kiÓu percentage
C¸c hµm to¸n häc (Math Functions)
Tªn hµm M« t¶
Abs Gi¸ trÞ tuyÖt ®èi cña mét sè
Atn Tr¶ vÒ cotan cña mét sè
Cos Gi¸ trÞ cosine cña mét sè (Gãc)
Hex Cho gi¸ trÞ hexadecimal cña mét sè
Int Tr¶ vÒ phÇn nguyªn cña mét sè
Fix Tr¶ vÒ phÇn nguyªn cña mét sè
Log Logarit tù nhiªn cña mét sè
Oct Cho gi¸ trÞ octal cña mét sè
Rnd Cho mét sè ngÉu nhiªn nhá h¬n 1 vµ lín h¬n hoÆc b»ng 0
Sgn Tr¶ vÒ mét sè ®¹i diÖn cho dÊu cña sè
Sin Gi¸ trÞ Sin cña mét sè (Gãc)
Sqr B×nh ph−¬ng cña mét sè
Tan Gi¸ trÞ Tang cña mét sè (Gãc)
C¸c hµm vÒ array (Array Functions)
Tªn hµm M« t¶
Array Tr¶ vÒ mét variant chøa mét array
IsArray Tr¶ vÒ gi¸ trÞ Boolean cho biÕt biÕn ®ã cã ph¶i lµ mét array hay
kh«ng.
Join Tr¶ vÒ mét x©u chøa sè c¸c x©u con trong d·y
LBound Tr¶ vÒ cËn d−íi cña chiÕu ®−îc chØ ®Þnh cña mét array
http://www.ebook.edu.vn 71

Split Tr¶ vÒ mét array 1 chiÒu chøa mét sè l−îng phÇn tö ®−îc chØ ®Þnh.
UBound Tr¶ vÒ cËn trªn cña chiÒu ®−îc chØ ®Þnh cña array
C¸c hµm vÒ x©u (String Functions)
Tªn hµm M« t¶
InStr Tr¶ vÒ vÞ trÝ ®Çu tiªn mµ mét x©u xuÊt hiÖn trong mét x©u kh¸c.
T×m kiÕm ®−îc b¾t ®Çu tõ ký tù ®Çu tiªn cña x©u
InStrRev Tr¶ vÒ vÞ trÝ ®Çu tiªn mµ mét x©u xuÊt hiÖn trong mét x©u kh¸c.
T×m kiÕm ®−îc b¾t ®Çu tõ ký tù cuèi cïng cña x©u
LCase ChuyÓn tÊt c¶ c¸c ký tù cña mét x©u thµnh ch÷ th−êng
Left Tr¶ vÒ mét x©u cã ®é dµi ®−îc chØ ®Þnh tÝnh tõ ký tù ®Çu tiªn
Len Tr¶ vÒ ®é dµi cña x©u
LTrim Xo¸ c¸c ký tù tr¾ng bªn tr¸i cña x©u
RTrim Xo¸ c¸c ký tù tr¾ng bªn ph¶i cña x©u
Trim Xo¸ c¸c ký tù tr¾ng ë c¶ hai phÝa cña x©u
Mid Tr¶ vÒ mét x©u cã ®é dµi ®−îc chØ ®Þnh vµ b¾t ®Çu tõ mét vÞ trÝ
®−îc chØ ®Þnh cña x©u nguån
Replace Thay mét phÇn cña x©u bëi mét x©u kh¸c. Sè c¸c lÇn thay ®−îc
chØ ®Þnh tr−íc.
Right Tr¶ vÒ mét x©u cã ®é dµi ®−îc chØ ®Þnh tÝnh tõ ký tù cuèi cïng
Space Tr¶ vÒ mét x©u chØ gåm toµn dÊu c¸ch. Sè l−îng dÊu c¸ch ®−îc
chØ ®Þnh
StrComp So s¸nh hai x©u vµ tr¶ vÒ mét gi¸ trÞ lµ kÕt qu¶ cña phÐp so s¸nh
String Tr¶ vÒ mét x©u cã ®ä dµi ®−îc chØ ®Þnh vµ ®−îc t¹o ra b»ng c¸ch
lÆp ®i lÆp l¹i mét ký tù nµo ®ã
StrReverse Tr¶ vÒ mét x©u b»ng c¸ch quay ng−îc mét x©u cã s½n
UCase ChuyÓn tÊt c¶ c¸c ký tù cña 1 x©u thµnh ch÷ hoa
C¸c hµm kh¸c (Other Functions)
Tªn hµm M« t¶
CreateObject T¹o mét Object cã kiÓu ®−îc chØ ®Þnh
Eval §¸nh gi¸ mét biÓu thøc vµ tr¶ vÒ mét gi¸ trÞ lµ kÕt qu¶ cña sù
®¸nh gi¸ ®ã
InputBox HiÓn thÞ mét hép tho¹i cho phÐp ng−êi sö dông cã thÓ ®iÒn
th«ng tin vµo
IsEmpty Tr¶ vÒ mét gi¸ trÞ Boolean cho biÕt mét biÕn ®· ®−îc g¸n gi¸
trÞ hay ch−a
IsNull KiÓm tra xem mét biÕn cã lµ Null (Kh«ng chøa d÷ liÖu)
kh«ng. KÕt qu¶ lµ mét gi¸ trÞ Boolean
IsNumeric Tr¶ vÒ mét gi¸ trÞ Boolean cho biÕt biÓu thøc ®ã cã thÓ chuyÓn
thµnh d¹ng sè kh«ng
MsgBox HiÓn thÞ mét hép tin nh¾n vµ chê ng−êi sö dông click vµo mét
nót lÖnh, vµ tr¶ vÒ gi¸ trÞ cho biÕt ng−êi sö dông ®· click nµo
nót lÖnh nµo
Round Lµm trßn mét sè
ScriptEngine Tr¶ vÒ tªn cña script ®ang dïng
http://www.ebook.edu.vn 72

TypeName Tr¶ vÒ tªn kiÓu d÷ liÖu con cña biÕn


VarType Tr¶ vÒ gi¸ trÞ cña kiÓu d÷ liÖu con cña biÕn
d. C¸c to¸n tö vµ biÓu thøc
VBScript cã mét tËp hîp lín c¸c lo¹i to¸n tö, chia ra thµnh ba lo¹i lµ c¸c to¸n
tö sè häc, c¸c to¸n tö so s¸nh vµ ghÐp nèi (concatenation), vµ c¸c to¸n tö logic.
Thø tù −u tiªn cña c¸c to¸n tö
Khi cã nhiÒu to¸n tö cïng xuÊt hiÖn trong mét biÓu thøc, tõng phÇn cña biÓu
thøc ®−îc ®¸nh gi¸ vµ xö lý theo mét tr×nh tù gäi lµ thø tù −u tiªn. Ta cã thÓ dïng
dÊu ngoÆc ®¬n ®Ó thay ®æi thø tù −u tiªn vµ b¾t mét phÇn nµo ®ã cña biÓu thøc ph¶i
®−îc thùc hiÖn tr−íc c¸c phÇn kh¸c. C¸c biÓu thøc bªn trong dÊu ngoÆc ®¬n lu«n
®−îc xö lý tr−íc nh÷ng biÓu thøc bªn ngoµi. TÊt nhiªn, nÕu biÓu thøc trong ngoÆc
chøa nhiÒu to¸n tö th× chóng còng ph¶i tu©n theo thø tù −u tiªn chuÈn.
Khi c¸c biÓu thøc chøa nhiÒu lo¹i to¸n tö kh¸c nhau, c¸c to¸n tö sè häc ®−îc
xö lý tr−íc, sau ®ã ®Õn c¸c to¸n tö so s¸nh råi cuèi cïng lµ c¸c to¸n tö logic. C¸c
to¸n tö so s¸nh tÊt c¶ cã cïng thø tù −u tiªn, tøc lµ chóng sÏ ®−îc xña lý tõ tr¸i qua
ph¶i theo thø tù xuÊt hiÖn. C¸c to¸n tö sè häc vµ logic ®−îc xö lý theo thø tù sau:
Sè häc So s¸nh Logic
M« t¶ Ký hiÖu M« t¶ Ký hiÖu M« t¶ Ký hiÖu
Mò ho¸ ^ So s¸nh b»ng = Phñ nhËn logic Not
PhÐp nh©n * So s¸nh kh¸c <> Vµ And
nhau
PhÐp chia / Nhá h¬n < HoÆc Or
Chia lÊy phÇn \ Lín h¬n > Lo¹i trõ Xor
nguyªn
Chia lÊy sè d− Mod Nhá h¬n hoÆc <= So s¸nh b»ng Eqv
b»ng
PhÐp céng + Lín h¬n hoÆc >=
b»ng
PhÐp trõ - So s¸nh Object Is
t−¬ng ®−¬ng
GhÐp x©u &
Khi phÐp nh©n vµ chia cïng xuÊt hiÖn trong mét biÓu thøc, chóng ®−îc xö lý
tõ ph¶i qua tr¸i theo thø tù xuÊt hiÖn. T−¬ng tù nh− vËy ®èi víi phÐp céng vµ trõ.
PhÐp ghÐp x©u kh«ng thuéc nhãm to¸n tö sè häc nh−ng vÒ thø tù −u tiªn nã
®øng sau c¸c to¸n tö sè häc vµ tr−íc c¸c to¸n tö so s¸nh. To¸n tö Is lµ mét to¸n tö
so s¸nh viÖc tham chiÕu Object. Nã kh«ng dïng ®Ó so s¸nh object hay gi¸ trÞ cña
chóng, nã chØ cho biÕt xem hai tham chiÕu object (object references) cã lo¹i hay
kh«ng.
e. C¸c cÊu tróc ®iÒu khiÓn
Khi viÕt ch−¬ng tr×nh, nhiÒu khi cÇn thùc hiÖn mét hµnh ®éng nµo ®ã tuú
thuéc vµo mét sè ®iÒu kiÖn, ta cã thÓ dïng cÊu tróc ®iÒu kiÓn ®Ó thùc hiÖn ®iÒu nµy.
Trong VBScript cã 3 d¹ng cÊu tróc ®iÒu khiÓn:
C©u lÖnh if ... then ... else: Sö dông c©u lÖnh nµy khi cÇn lùa chän mét trong
®iÒu kiÖn ®Ó thùc hiÖn mét trong hai tËp hîp lÖnh. Dïng c©u lÖnh nµy ta cã thÓ:
http://www.ebook.edu.vn 73

• Thùc hiÖn mét tËp hîp lÖnh nµo ®ã nÕu ®iÒu kiªn tho¶ m·n.
if i = 10 then msgbox “Hello”
NÕu muèn thùc hiÖn nhiÒu h¬n mét c©u lÖnh khi ®iÒu kiÖn ®−îc tho¶ m·n,
chóng ta cÇn viÕt tõng c©u lÖnh trªn mét dßng lÖnh kh¸c nhau vµ kÕt thóc bëi tõ
kho¸ “End If”.
if i = 10 then
msgbox “Hello”
i=i+1
End if
• Lùa chän mét trong hai tËp hîp lÖnh ®Ó thùc hiÖn: NÕu muèn thùc hiÖn
mét tËp hîp lÖnh nµo ®ã khi ®iÒu kiÖn ®−îc tho¶ m·n vµ thùc hiÖn mét
tËp hîp lÖnh kh¸c nÕu ®iÒu kiÖn kh«ng tho¶ m·n, ta dïng nh− sau:
if i = 10 then
msgbox “Hello”
else
msgbox “Goodbye”
End if
C©u lÖnh if ... then....elseif: Sö dông c©u lÖnh nµy khi muèn lùa chän mét
trong nhiÒu tËp hîp lÖnh ®Ó thùc hiÖn.
if payment="Cash" then
msgbox "You are going to pay cash!"
elseif payment="Visa" then
msgbox "You are going to pay with visa."
elseif payment="AmEx" then
msgbox "You are going to pay with American Express."
else
msgbox "Unknown method of payment."
end If
C©u lÖnh Select case: Sö dông c©u lÖnh nµy khi muèn lùa chän mét trong
nhiÒu tËp hîp lÖnh ®Ó thùc hiÖn.
select case payment
case "Cash"
msgbox "You are going to pay cash"
case "Visa"
msgbox "You are going to pay with visa"
case "AmEx"
msgbox "You are going to pay with American Express"
case Else
msgbox "Unknown method of payment"
end select
C©u lÖnh nµy lµm viÖc nh− sau: §Çu tiªn chóng ta cã mét biÓu thøc, th−êng
http://www.ebook.edu.vn 74

lµ mét biÕn, cÇn ®−îc ®¸nh gi¸ gi¸ trÞ. Gi¸ trÞ cña biÓu thøc nµy ®−îc so s¸nh víi
tõng gi¸ trÞ trong cÊu tróc Case. NÕu chóng b»ng nhau, tËp hîp c¸c lÖnh t−¬ng øng
víi gi¸ trÞ Case ®ã ®−îc thùc hiÖn.
f. C¸c cÊu tróc lÆp
C©u lÖnh For...Next: LÆp l¹i viÖc thùc hiÖn mét tËp hîp c¸c c©u lÖnh mét sè
x¸c ®Þnh lÇn. ta cã thÓ sö dông mét biÕn ®Õm t¨ng dÇn hoÆc gi¶m dÇn sau mçi lÇn
thùc hiÖn vßng lÆp.
Có ph¸p:
For i = 1 to 10 step 2
C¸c lÖnh ë ®©y
Next
Tõ kho¸ step chØ b−íc nh¶y sau mçi lÇn thùc hiÖn c¸c c©u lÖnh trong vßng
lÆp. NÕu dïng vßng lÆp gi¶m dÇn th× gi¸ trÞ cña step cÇn ®Æt lµ sè ©m.
Gi¸ trÞ ngÇm ®Þnh lµ 1.
Tõ kho¸ Exit For dïng ®Ó nh¶y ra khái vßng lÆp.
Vßng lÆp víi For Each... Next: Vßng lÆp nµy thùc hiÖn mét tËp hîp lÖnh
®èi víi mçi phÇn tö trong tËp hîp, hoÆc víi mçi phÇn tö trong mét d·y. C©u lÖnh
nµy thùc hiÖn kh«ng kh¸c nguyªn t¾c cña vßng For...Next, chØ kh¸c ë chç ta kh«ng
cÇn chØ ra sè l−îng lÇn muèn thùc hiÖn vßng lÆp.
dim names(2)
names(0)="Tove"
names(1)="Jani"
names(2)="Hege"
For Each x in names
document.write(x & "<br />")
Next
CÊu tróc Do ... Loop:
• Tõ kho¸ While
CÊu tróc nµy dïng ®Ó thùc hiÖn mét tËp hîp lÖnh khi kh«ng biÕt tr−íc sè lÇn
cÇn thùc hiÖn. Vßng lÆp sÏ thùc hiÖn khi ®iÒu kiÖn While vÉn cßn ®−îc tho· m·n.
Sö dông tõ kho¸ While ®Ó kiÓm tra ®iÒu kiÖn trong cÊu tróc Do...Loop.
Do While i>10
some code
Loop
NÕu i = 9 th× c¸c c©u lÖnh trong cÊu tróc nµy kh«ng ®−îc thùc hiÖn lÇn nµo.
Nh−ng nÕu thay ®æi ®o¹n m· trªn nh− sau:
Do
some code
Loop While i>10
Th× c¸c c©u lÖnh trong Do...Loop ®−îc thùc hiÖn Ýt nhÊt mét lÇn ngay c¶ khi
gi¸ trÞ cña i nhá h¬n 10.
• Tõ kho¸ Until
LÆp l¹i viÖc thùc hiÖn c¸c lÖnh cho tíi khi ®iÒu kiÖn tho¶ m·n b»ng viÖc sö
http://www.ebook.edu.vn 75

dông tõ kho¸ Until.


Có ph¸p:
Do Until i=10
some code
Loop
NÕu i = 10, c¸c c©u lÖnh bªn trong vßng lÆp kh«ng ®−îc thùc hiÖn lÇn nµo.
Do
some code
Loop Until i=10
C¸c c©u lÖnh bªn trong vßng lÆp ®−îc thùc hiÖn Ýt nhÊt mét lÇn trong tr−êng
hîp ta kiÓm tra ®iÒu kiÖn sau.
• Tõ kho¸ Exit Do
Tho¸t ra khái Do...Loop: Dïng lÖnh Exit Do ®Ó tho¸t ra khái vßng lÆp
Do...Loop:
Do Until i=10
i=i-1
If i<10 Then Exit Do
Loop
C¸c c©u lÖnh trong vßng lÆp ®−îc thùc hiÖn khi kh¸c 10, vµ khi i lín h¬n 10.
3.3 C©u hái vµ bµi tËp ch−¬ng 3
3.3.1 C©u hái «n tËp
C©u 1: Kh¸i niÖm, ®Æc tÝnh vµ c¸ch thøc nhóng JavaScript vµo HTML.
C©u 2: C¸c kiÓu d÷ liÖu trong JavaScript?
C©u 3: C¸c sù kiÖn trong JavaScript?
C©u 4: Kh¸i niÖm, c¸ch thøc nhóng VBScript vµo tµi liÖu HTML.
C©u 5: BiÕn, c¸ch thøc ®Æt tªn biÕn vµ ph¹m vi biÕn trong VBScript?
C©u 6: C¸c kiÓu d÷ liÖu vµ c¸c hµm trong VBScript?
3.3.2 Bµi tËp lËp tr×nh víi c¸c ng«n ng÷ kÞch b¶n
Bµi 1: T¹o 2 nót bÊm (OK vµ Cancel), thñ tôc xö lý sù kiÖn khi nhÊn nót OK
®−îc viÕt b»ng VBScript vµ hµm sö lý sù kiÖn khi nhÊn nót Cancel ®−îc viÕt b»ng
JavaScript.
Bµi 2: Sö dông JavaScript vµ VBScript lÇn l−ît viÕt ch−¬ng tr×nh kiÓm tra
tÝnh hîp lÖ cña d÷ liÖu nhËp tõ form. NÕu thiÕu th× th«ng b¸o cho ng−êi dïng biÕt,
ng−îc l¹i th× th«ng b¸o “th«ng tin ®ac nhËp ®Çy ®ñ”
Bµi 3: ThiÕt kÕ form nhËp liÖu bao gåm c¸c textbox: Hä, tªn, quèc tÞch
(listbox), ®iÖn tho¹i, ®Þa chØ, giíi tÝnh (radiobox), ngµy th¸ng n¨m sinh (ngµy,
th¸ng lµ listbox), nghÒ nghiÖp (listbox), tªn ®¨ng nhËp, mËt khÈu, nhËp l¹i mËt
khÈu. Khi nhÊn nót “ChÊp nhËn” th× kiÓm tra tÝnh ®Çy ®ñ vµ hîp lÖ cña d÷ liÖu, NÕu
nhÊn “Tõ chèi” th× reset l¹i tÊt c¶ c¸c hép nhËp d÷ liÖu. Thùc hiÖn b»ng c¶
VBScript vµ JavaScript.
Bµi 4: ThiÕt kÕ mét form m« pháng trang web ®¨ng ký mail cña Yahoo, sau
khi nhÊn Submit th× kiÓm tra tÝnh hîp lÖ vµ ®Çy ®ñ cña d÷ liÖu. Sö dông c¶ VBScript
vµ JavaScript ®Ó kiÓm tra.
http://www.ebook.edu.vn 76

Ch−¬ng 4
LËp tr×nh Web ®éng víi c«ng nghÖ ASP
4.1 Mét sè kh¸i niÖm c¬ b¶n vÒ ASP
4.1.1 Kh¸i niÖm Web ®éng
Nh− ®· biÕt ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n HTML lµ c«ng cô m« t¶ trang
Web trªn Internet. Khi tr×nh duyÖt yªu cÇu mét trang HTML, Web Server nhËn yªu
cÇu vµ göi tr¶ l¹i file HTML ®−îc yªu cÇu. Tr×nh duyÖt sÏ tr×nh diÔn trang HTML
nhËn ®−îc.
Nãi chung c¸c trang HTML lµ tÜnh vÒ mÆt néi dung. MÆc dï tr×nh duyÖt cã
thÓ xö lý c¸c ng«n ng÷ kÞch b¶n nh− VBScript hay Jscript nÕu nh− ng−êi ta cµi ®Æt
c¸c m¸y ¶o t¹i client ®Ó t¹o ra mét hiÖu qu¶ ®éng nµo ®ã víi c¸c t−¬ng t¸c hai
chiÒu. Tuy nhiªn t−¬ng t¸c nµy rÊt h¹n chÕ nÕu nh− d÷ liÖu cÇn sö dông ®Æt t¹i
server chø kh«ng ph¶i t¹i client.
Trªn thùc tÕ cã nhu cÇu tra cøu th«ng tin theo yªu cÇu. VÝ dô mét siªu thÞ
®iÖn tö, giíi thiÖu c¸c mÆt hµng trªn trang Web, vµ th«ng tin vÒ c¸c mÆt hµng ®Òu
®−îc ®−a lªn ®Çy ®ñ. NÕu trang Web nµy lµ tÜnh ®−îc chuÈn bÞ tr−íc th× ta kh«ng
thÓ läc ra nh÷ng th«ng tin mµ m×nh cÇn ®−îc mµ ph¶i duyÖt cho tíi khi gÆp ®−îc
mÆt hµng mµ m×nh quan t©m, nghÜa lµ ph¶i ®îi ®Ó th«ng tin ®−îc chuyÓn vÒ ®Çy ®ñ.
VËy nhu cÇu vÒ mét trang Web cã th«ng tin ®−îc chän läc theo yªu cÇu tõ Browse
ra ®êi. C¸c trang Web nµy ®−îc gäi lµ trang Web ®éng. Nãi mét c¸ch ®¬n gi¶n lµ
c¸c trang Web ®éng lµ c¸c trang Web kh«ng tån t¹i s½n mµ chØ ®−îc t¹o ra theo
yªu cÇu cña ng−êi tra cøu. Trong tr−êng hîp nµy CSDL Web kh«ng ph¶i lµ tÊt c¶
mµ cßn c¸c CSDL kiÓu kh¸c gióp t¹o nªn c¸c trang Web. ChÝnh v× thÕ cÇn ®−a vµo
c¸c trang HTML kh¶ n¨ng t¹o Web ®éng d−íi d¹ng c¸c dßng lÖnh.
Microsoft qu¶n lý c¸c trang Web bëi IIS (Internet Information Server) trªn
WebServer. Nh−ng IIS kh«ng tù tÝnh to¸n ®−îc c¸c dßng lÖnh ë phÝa Server ®Ó t¹o
c¸c trang Web ®éng nªn cÇn cã thªm c¸c thµnh phÇn kh¸c.
HiÖn nay cã mét sè m«i tr−êng ®Ó t¹o c¸c trang Web ®éng, cã thÓ kÓ ®Õn
nh−: lËp tr×nh trªn CGI, ASP, PHP, Java, JSP….
4.1.2 ASP lµ g×?
ASP (Active Server Page) lµ mét thµnh phÇn më réng cña IIS. Khi cµi ®Æt,
ASP sinh ra c¸c bé xö lý ¶o ®èi víi ng«n ng÷ kÞch b¶n (script engine) t¹i server ®Ó
IIS cã thÓ xö lý c¸c m· script mµ c¸c m· nµy cã thÓ viÕt ®an xen trong c¸c trang
HTML. Khi Client gäi ®Õn mét file .asp trªn Web Server, Web Server lËp tøc gäi
®Õn Script engine ®Ó xö lý. Script engine sÏ thùc hiÖn c¸c lÖnh script ®Ó biÕn trang
ASP thµnh trang HTML råi göi l¹i Client. Chó ý r»ng qu¸ tr×nh nµy thùc hiÖn t¹i
server chø kh«ng ph¶i t¹i Client. V× vËy chóng ta kh«ng ph¶i quan t©m tíi viÖc
browser xö lý c¸c trang Web nh− thÕ nµo. Nh− vËy thùc sù qu¸ tr×nh nµy ®−îc thùc
hiÖn theo m« h×nh Client-Server.
ASP lµ c«ng nghÖ Web Server míi cña Microsoft, nã ®−îc thiÕt kÕ ®Ó gióp
ng−êi ph¸t triÓn øng dông trªn Web x©y dùng c¸c trang Web øng dông nhanh
chãng vµ dÔ dµng. ASP lµ mét phÇn tÝch hîp cña c«ng nghÖ c¬ së Active (Active
Platform), lµ h¹t nh©n trong chiÕn l−îc internet cña Microsoft. Active Platform lµ
mét tËp hîp c¸c ng«n ng÷, c¸c chuÈn vµ c¸c dÞch vô cã thÓ ®−îc sö dông ®Ó ph¸t
http://www.ebook.edu.vn 77

triÓn c¶ øng dông Active Desktop(b¶n Client) vµ Active Server (b¶n Server) trong
m« h×nh CSDL tÝnh to¸n Client / Server. M« h×nh Active Platform gióp cho ng−êi
ph¸t triÓn øng dông x©y dùng øng dông hiÖu qu¶ vÒ gi¸ thµnh, më réng kh¶ n¨ng
c¶u c¸c øng dông ch¹y trªn Server còng nh− ch¹y trªn Client vµ n©ng cao kü n¨ng
ph¸t triÓn øng dông cña hä. §ång thêi, nã còng lµm viÖc chuyÓn ®æi tõ øng dông
Desktop sang øng dông Client/Server ®Çy ®ñ, dÔ dµng.
4.1.3 Scripting?
Scripting lµ mét ®o¹n ch−¬ng tr×nh mµ chóng ta chÌn vµo c¸c trang HTML
®Ó t¹o tÝnh “®éng” cho nã. Scripting dïng ng«n ng÷, có ph¸p vµ c¸ch thùc hiÖn
riªng. Tuy nhiªn, cã mét vÊn ®Ò n¶y sinh ë ®©y: Mçi mét h·ng cung cÊp l¹i ®Þnh
nghÜa mét ng«n ng÷ script kh¸c nhau. Microsoft ph¸t triÓn Visual Basic Script
(VBScript), Sun Microsystem vµ Nescape ph¸t triÓn JavaScript (JScript) vµ mét sè
h·ng kh¸c hç trî nh÷ng ng«n ng÷ nh− : Perl, Python, Awk ... .
a. Scripting trªn Client:
Scripting trªn Client cã thÓ ®−îc chÌn vµo trang HTML b»ng cÆp tags
<Script> ... </Script>.
§Ó x¸c ®Þnh ng«n ng÷ Script ta dïng thuéc tÝnh LANGUAGE.
VÝ dô sau sÏ minh häa sù kiÖn x¶y ra khi ng−êi dïng nhÊn vµo mét nót. Chøc
n¨ng cña nã ®−îc chØ ra b»ng thuéc tÝnh ONCLICK. Scripting trªn Client cã thÓ
lµm viÖc trªn bÊt k× m¸y chñ nµo hç trî ng«n ng÷ cña scripting .
VÝ dô: Dïng Scripting trªn Client.
<HTML>
<HEAD>
<TITLE> Scripting </TITLE>
<SCRIPT LANGUAGE=”VBSCRIPT”>
sub vbs()
alert(“This is VBScript”)
end sub
</SCRIPT>
<SCRIPT LANGUAGE=”JAVASCRIPT”>
function js(){
alert(“This is JavaScript”)
}
</SCRIPT>
</HEAD>
<BODY>
Select button:
<INPUT TYPE=“button” NAME=“vbs” VALUE=“VBScript”
ONCLICK=“vbs()”>
<INPUT TYPE= “button” NAME= “js” VALUE= “JavaScript” ONCLICK=
“js()”>
</BODY>
</HTML>
http://www.ebook.edu.vn 78

NhÊn vµo mét nót, ch−¬ng tr×nh phï hîp sÏ ®−îc ch¹y :

H×nh 4.1 Ho¹t ®éng cña VBScript vµ JavaScript


b. Scripting trªn Server:
ASP sö dông Scripting trªn Server ®Ó tù ®éng t¹o ra nh÷ng trang tr¶ lêi . Néi
dung sinh ra dùa trªn nh÷ng th«ng sè cña User ®−îc göi tíi cïng yªu cÇu vµ sù t-
−¬ng t¸c gi÷a c¸c ®èi t−îng kh¸c nhau . Ngoµi ra chóng ta cßn cã thÓ sö dông mét
sè Object vµ Component do ASP cung cÊp. C¸c Object lµm ®¬n gi¶n ho¸ mét sè
c«ng viÖc trªn Server.
Scripting trªn Server ®−îc chÌn vµo mét file ASP b»ng c¸ch sö dông cÆp tags
<SCRIPT> ... </SCRIPT> hoÆc <% vµ %> . §Ó ph©n biÖt Scripting ®−îc viÕt trªn
Client hay trªn Server ta sö dông thuéc tÝnh RUNAT =“SERVER” .
§èi víi hÇu hÕt c¸c browser th× ng«n ng÷ Script mÆc ®Þnh lµ JavaScript. Bëi
vËy, nÕu chóng ta viÕt c¸c m· lÖnh b»ng VBScript th× chóng ta ph¶i khai b¸o víi
browse tríc khi sö dông :
<SCRIPT LANGUAGE= “VBSCRIPT”>
Ng−îc l¹i víi browser, ng«n ng÷ script mÆc ®Þnh cña ASP lµ VBScript. NÕu
chóng ta dïng JavaScript th× khai b¸o l¹i nh sau (chó ý thuéc tÝnh RUNAT):
<SCRIPT LANGUAGE=“JCRIPT” RUNAT=“SERVER”>
Tïy theo kh¶ n¨ng vµ së thÝch, chóng ta cã thÓ sö dông mét trong hai ng«n
ng÷ trªn ®Ó lËp tr×nh. Tuy nhiªn, cã mét chó ý quan träng lµ hiÖn nay, JScript
(ECMA Script) lµ ng«n ng÷ Scripting chuÈn ®−îc HiÖp héi s¶n xuÊt m¸y tÝnh Ch©u
¢u (European Computer Manufactury Association) c«ng nhËn.
4.1.4 T¹o vµ xem mét file ASP
Chóng ta sö dông nh÷ng c«ng cô cña Microsoft nh−: Microsoft Frontpage,
Microsoft’s Visual InterDev ®Ó t¹o mét file ASP .
§Ó xem mét file ASP, chóng ta kh«ng thÓ göi nã ®Õn Browser nh− mét trang
http://www.ebook.edu.vn 79

HTML bëi v× Browser kh«ng nhËn biÕt ®−îc c¸c file ASP. Lý do lµ c¸c file nµy cÇn
ph¶i ®−îc th«ng dÞch trªn Server tr−ãc khi göi ra Browser.
Chóng ta cã thÓ sö dông IE hoÆc Nescape Navigator ®Ó xem kÕt qu¶ cña c¸c
file ASP nh−ng chóng ta cÇn ch¾c ch¾n r»ng Server mµ chóng ta xö lý c¸c m· cã
cµi ®Æt ASP vµ ®ang ch¹y IIS hoÆc Personal Web Server (PWS).
Trang ASP lµ mét d¹ng text cã kiÓu lµ .asp, cã cÊu tróc gÇn gièng nh− file
HTML. TÊt c¶ c¸c thÎ cã trong HTML th× ®Òu dïng ®−îc trong ASP. Nh−ng ngoµi
c¸c thÎ th«ng th−êng cña HTML, trong file asp cßn cã thÓ viÕt c¸c thÎ kh¸c n÷a ®Ó
thÓ hiÖn c¸c dßng lÖnh cña Script ®Ó lµm viÖc víi d÷ liÖu cã s½n hay cã thÓ tÝnh
to¸n ngay bªn trong nh− lµ mét ng«n ng÷ lËp tr×nh thùc sù.
C¬ chÕ ho¹t ®éng cña ASP nh− sau:
Client sö dông mét Web Browser göi yªu cÇu HTTP tíi mét Server ch¹y
Microsoft Internet Information Server (IIS). Sau khi nhËn biÕt ®ã lµ yªu cÇu cÇn xö
lý cña trang ASP, IIS chuyÓn yªu cÇu nµy tíi ASP engine, t¹i ®©y néi dung file .asp
®−îc xö lý, c¸c m· HTML ®−îc ®Ó nguyªn cßn c¸c Script ®−îc tÝnh dùa theo c¸c
yªu cÇu vµ ®−îc chuyÓn ®æi thµnh c¸c m· HTML. NÕu trong c¸c Script cã c¸c c©u
lÖnh gäi d÷ liÖu, nã sÏ liªn kÕt tíi Database Server vµ lÊy c¸c d÷ liÖu theo yªu cÇu.
Sau ®ã, c¸c kÕt qu¶ cña viÖc thùc hiÖn c¸c Script (cã thÓ lµ HTML tÜnh hoÆc ®éng)
®−îc göi tr¶ l¹i Client Browser.
XÐt mét vÝ dô ®Ó lµm râ c¬ chÕ nµy:
<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<% For i=5 to 7%>
<FONT SIZE=<%=i%>>Chµo b¹n!<BR></FONT>
<% Next %>
</BODY>
</HTML>
KÕt qu¶ lµ tr×nh duyÖt sÏ hiÓn thÞ 3 dßng Chµo b¹n! víi kÝch th−íc t¨ng dÇn
nh− sau
Chµo b¹n!
Chµo b¹n!
Chµo b¹n!
Trong vÝ dô nµy chóng ta míi ®Ò cËp ®Õn nguyªn lý lµm viÖc cña ASP mµ
ch−a nãi ®Õn c¬ chÕ t¹o Web ®éng tøc lµ c¸ch t¹o c¸c trang Web thay ®æi theo
th«ng tin t−¬ng t¸c mµ ng−êi sö dông cung cÊp. Trong vÝ dô ta sÏ lµm viÖc nh− sau:
T¹o mét trang Web cã mét form ®Ó ng−êi sö dông nhËp vµo hä, tªn vµ giíi
tÝnh qua Textbox vµ option. Ng−êi sö dông còng ®¸nh vµo mét sè tù nhiªn. Khi
nhËn ®−îc, ASP sÏ göi l¹i mét trang Web víi mét lêi chµo phï hîp víi giíi tÝnh vµ
tªn ng−êi ®· ®−îc cung cÊp ®ång thêi cho ra tÊt c¶ c¸c −íc sè cña sè nµy.
Sau ®©y lµ ®o¹n m· cña hai trang ASP thùc hiÖn hiÖu øng nµy. Cã mét sè c©u
lÖnh script cã thÓ cßn l¹ nh−ng ý nghÜa hoµn toµn râ rµng.
http://www.ebook.edu.vn 80

<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<P>Vi du ve form de trao doi thong tin theo phuong thuc POST</P>
<FORM method="post" action="chao.asp">
<P> Ho dem: <input type ="text" name="Hodem" size=20></P>
<P>Ten:<input type ="text" name="Ten" size=20></P>
<P> Gioi tinh: Nam <input type ="radio" value="Nam" checked
name="Gioitinh" size=20>
Nu <input type ="radio" value ="Nu" name="Gioitinh" size=20></P>
<P>Cho so n <input type ="Text" name="So" size=8></P>
<P><input type="submit" value ="Gui di" name="B1">
<input type="reset" name="B2"></P>
</FORM>
</BODY>
</HTML>

H×nh 4.2 Form sö dông ASP


§©y lµ néi dung tÖp Chao.asp m« t¶ øng xö khi ta bÊm nót Göi ®i t−¬ng øng
víi ho¹t ®éng Submit cña Form
<HTML>
<HEAD>
<TITLE>Example</TITLE>
http://www.ebook.edu.vn 81

</HEAD>
<BODY>
<% ho=request.Form("hodem")
ten=request.Form("ten")
so=request.Form("so")
gioitinh=request.form("gioitinh")
if gioitinh="Nam" then
gioitinh="Ong"
else
gioitinh="Ba"
end if
response.Write "Xin chao " & gioitinh & " " & ho &" " & ten &" <br>"
response.Write "Day la ket qua tinh " & "<br>"
for i=1 to so-1
if so mod i =0 then
response.Write i & "<br>"
end if
next
%>
</BODY>
</HTML>
4.1.5 Server-side Includes:
Server-side Includes (SSI) lµ mét thuËt ng÷ ®−îc sö dông ®Ó m« t¶ c¸ch thøc
c¸c yÕu tè kh¸c nhau ®−îc chÌn vµo trang Web
a. G¾n nh÷ng file text vµo mét trang víi #include:
Chóng ta cã thÓ g¾n file text GetLastDay.txt (vèn lµ mét file ASP, ®−îc save
víi tªn trªn, cã function cã chøc n¨ng lÊy l¹i ngµy cuèi cïng trong mét th¸ng) vµo
mét trang Web b»ng c¸ch thªm c©u lÖnh trªn vµo trang vµ gäi chøc n¨ng:
<!-- #include file=”GetLastDay.txt” -->
...
intLastDayAugust = GetLastDay(datAugust) ‘ chøc n¨ng chóng ta g¾n vµo
...
NÕu muèn g¾n Script tõ c¸c file kh¸c, file nµy ph¶i chøa nh÷ng phÇn Script
hoµn chØnh . Nãi mét c¸ch kh¸c, nã ph¶i cã ®ñ nh÷ng tag <SCRIPT> ... </SCRIPT>
hoÆc <% ... %>.
b. §Þa chØ vËt lý, ®Þa chØ ¶o cña file:
#include cho phÐp chóng ta chØ ®Õn mét file b»ng ®êng dÉn vËt lý hoÆc ®êng
dÉn ¶o.VÝ dô file Mytext.txt n»m trong th môc c:\TextFile vµ còng cã bÝ danh
(alias) lµ /Text, ta cã thÓ tham kh¶o tíi nã b»ng nh÷ng c¸ch sau:
<!-- #include file=”C:\TextFile\MyFile.txt” --> ‘ ®−êng dÉn vËt lý
<!-- #include file=”/Text/MyFile.txt” --> ‘ ®−êng dÉn ¶o
http://www.ebook.edu.vn 82

4.2 ¦u ®iÓm cña viÖc sö dông ASP t¹o Web ®éng


4.2.1 §¬n gi¶n, dÔ häc vµ hiÖu qu¶:
Häc vµ ph¸t triÓn ASP lµ rÊt dÔ dµng. Ta cã thÓ sö dông ASP ®Ó x©y dùng
mét Web site cã kh¶ n¨ng t−¬ng t¸c cao. V× c¸c ng«n ng÷ kÞch b¶n nh− VBScript,
Jscript ®−îc tÝch hîp trong ASP nªn rÊt tiÖn cho ng−êi ph¸t triÓn ®· biÕt ng«n ng÷
VB, Java hay C++, cßn ®èi víi ng−êi ch−a biÕt th× viÖc häc nã còng dÔ dµng.
C¸c øng dông ASP kh«ng cÇn cã tr×nh biªn dÞch. Trong mét vµi c«ng nghÖ
kh¸c nh− CGI, ®Ó ph¸t triÓn c¸c trang Web ®éng cÇn ph¶i cã mét tr×nh biªn dÞch ®Ó
dÞch thµnh mét ch−¬ng tr×nh cã thÓ ch¹y ®−îc sö dông c¸c m«i tr−êng ph¸t triÓn
øng dông truyÒn thèng nh− Visual C++. Sau khi øng dông ®−îc dÞch, nã sÏ ®−îc
copy vµo th− môc CGI cña Web Server. ChØ cÇn cã mét chót söa ®æi ch−¬ng tr×nh
th× ta ph¶i dÞch l¹i m· nguån cña ch−¬ng tr×nh vµ sau ®ã l¹i ph¶i copy ®Ì lªn phiªn
b¶n tr−íc cña file ch¹y. ASP gi¶i quyÕt vÊn ®Ò nµy b»ng c¸ch cung cÊp c¸c c¸ch t¹o
lËp trang Web mét c¸ch trùc tiÕp vµ dÔ dµn h¬n theo kiÓu th«ng dÞch(interpreter).
Sau khi x©y dùng xong mét øng dông Web b»ng ASP, ta kh«ng cÇn ph¶i dÞch
chïng mµ chØ cÇn l−u gi÷ vµo mét file cã kiÓu lµ .asp vµ c¸c ASP sÏ xö lý khi file
nµy ®−îc gäi ®Õn.
Ngoµi c¸c thµnh phÇn ASP s½n cã gióp chóng ta x©y dùng rÊt nhiÒu øng dông
®éng kh¸c, ASP còng cho phÐp ta tù t¹o ra c¸c thµnh phÇn ASP cña riªng m×nh.
4.2.2 B¶o mËt ®−îc m·:
Mét ®iÓm bÊt lîi trong viÖc sö dông ng«n ng÷ kÞch b¶n Client lµ ph¬i bµy tÊt
c¶ c¸c th«ng tin vµ thuËt gi¶i cña bµi to¸n. NÕu mét bµi to¸n sö dông ng«n ng÷ kÞch
b¶n t¹i Client nh− VBSCript th× bÊt kú ai nh×n vµo m· nguån cña trang Web ®Òu cã
thÓ thÊy ®−îc thuËt to¸n cña nã.
Víi ASP tÊt c¶ c¸c Script ®−îc thùc hiÖn trªn Server vµ chØ cã kÕt qu¶ ra d−íi
d¹ng HTML ®−îc göi vÒ Browser nªn nÕu ng−êi dïng muèn xem m· nguån cña
trang Web th× hä chØ xem ®−îc m· HTML chø kh«ng xem ®−îc m· Script ®· t¹o
nªn trang Web ®ã. Nh− vËy nÕu sö dông ASP th× NSD kh«ng thÓ biÕt ®−îc thuËt
to¸n cña nhµ ph¸t triÓn v× c¸c m· ASP ®−îc thùc hiÖn trªn Server. ASP b¶o vÖ sù së
h÷u vÒ th«ng tin vµ thuËt to¸n.
4.2.3 B¶o tr× dÔ dµng:
M«i tr−êng ph¸t triÓn ASP gióp n©ng cao hiÖu qu¶ sö dông cña c¸c thiÕt bÞ
s½n cã. M«i tr−êng ph¸t triÓn ASP gióp cho ng−êi ph¸t triÓn sö dông mét c¸ch dÔ
dµng vµ cã hiÖu qu¶ c¸c kü n¨ng s½n cã. ASP cung cÊp mét c¬ cÊu thiÕt lËp c¸c
trang Web phøc t¹p sö dông ng«n ng÷ kÞch b¶n quen thuéc nh− VBScript,
Jscript/JavaScript hay Perl.
§èi víi nhiÒu phÇn mÒm Client/Server kh¸c, ngoµi phÇn ®−îc viÕt trªn
Server, cßn cÇn phÇn viÕt trªn Client. Nh− vËy ®é phøc tËp vµ tèn kÐm vÒ mÆt lËp
tr×nh sÏ t¨ng lªn. Khi viÕt b»ng ASP th× chØ cÇn cã tr×nh duyÖt Web t¹i m¸y Client,
sau ®ã nèi ®Õn m¸y chñ, nh− thÕ viÖc trªn Client kh«ng cßn g× ph¶ quan t©m. Mçi
khi cÇn söa ch÷a hoÆc n©ng cÊp kh«ng cÇn ph¶i lµm g× víi b¶n Client.
Th«ng qua c¸c c©u lÖnh Script, ta cã thÓ kÕt nèi ®Õn víi mét CSDL t¹i mét
Database Server. §Ó lµm viÖc trªn CSDL nµy, ta cã thÓ nhóng ng«n ng÷ truy vÊn
SQL. Th«ng qua ®ã viÖc läc d÷ liÖu ®¬n gi¶n, c«ng viÖc läc d÷ liÖu ®−îc tiÕn hµnh
trªn Server nªn tr¸nh ®−îc ¸ch t¾c ®−êng truyÒn.
http://www.ebook.edu.vn 83

4.3 Cµi ®Æt IIS vµ t¹o th− môc ¶o cho øng dông
4.3.1 1. Cµi ®Æt IIS
Internet Information Services mÆc ®Þnh kh«ng ®−îc cµi ®Æt trªn hÖ ®iÒu hµnh
Windows XP Professional. Ta cã thÓ gì bá hoÆc thªm c¸c components b»ng viÖc sö
dông ch−¬ng tr×nh øng dông Add/Remove Programs trong tiÖn Ých Control Panel.
C¸c b−íc cµi ®Æt tuÇn tù nh− sau:
• Click Start, click Control Panel, vµ double-click Add/Remove
Programs.
• Trong cét bªn tr¸i cña hép tho¹i Add/Remove Programs dialog box,
click Add/Remove Windows Components.
• Khi cöa sæ Windows Components Wizard xuÊt hiÖn, click Next.
• Trong danh s¸ch c¸c thµnh phÇn cña Windows( Windows Components),
chän IIS.
• Click Next, vµ lµm theo c¸c chØ dÉn cña Wizard.
4.3.2 T¹o th− môc ¶o:
Chóng ta cã thÓ t¹o c¸c th− môc ¶o bªn d−íi øng dông Default Web site.
Th«ng th−êng mét øng dông Web ®−îc ®Æt trong mét th− môc ¶o vµ ®−îc tham
chiÕu ®Õn th«ng qua ®Þa chØ URL.
Chän Internet Information Service:

H×nh 4.3 T¹o th− môc ¶o trong IIS


NhÊn chuét ph¶i vµo Default Web Site, chän New/Vitual Directory, cöa sæ
trî gióp Wizard sÏ hiÖn ra nh− sau:
http://www.ebook.edu.vn 84

H×nh 4.4 NhËp bÝ danh (Alias) cho the môc ¶o


Trong « nhËp liÖu Alias, nhËp vµo tªn bÝ danh cho th− môc ¶o, ch¼ng h¹n
example. KÝch vµo nót Next ®Ó ®Õn b−íc kÕ tiÕp.

H×nh 4.5 Chän ®−êng dÉn vËt lý cho th− môc ¶o


Sau khi chän ®−êng dÉn vËt lý cho th− môc ¶o, ta tiÕn hµnh thiÕt lËp quyÒn
truy cËp cho th− môc ¶o. Hai quyÒn Read vµ Run Script lµ cÇn thiÕt ®Ó trang ASP
cã thÓ truy xuÊt ®−îc, ngoµi ra ta cã thÓ thiÕt lËp c¸c quyÒn kh¸c cho ng−êi qu¶n trÞ
site (Administrator).
http://www.ebook.edu.vn 85

H×nh 4.6 ThiÕt lËp quyÒn truy cËp cho th− môc ¶o.
4.4 CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP
4.4.1 C¸c thµnh phÇn ®−îc dïng trong trang ASP
File ASP lµ mét file d−íi d¹ng Text, ta cã thÓ sö dông bÊt cø tr×nh so¹n th¶o
v¨n b¶n d−íi d¹ng text only ®Ó so¹n th¶o ra file ASP. File ASP cã phÇn më réng lµ
.asp . Trong file ASP cã thÓ cã:
• C¸c m· HTML.
• C¸c ký hiÖu phÊn c¸ch Script.
• C¸c m· Script.
• C¸c thµnhh phÇn ActiveX.
• C¸c ®èi t−îng ASP.
§iÓm kh¸c biÖt c¬ b¶n gi÷a file ASP víi file HTML lµ sù cã mÆt c¸c dÊu
ph©n ch¸ch c¸c m· Script víi c¸c m· HTML. Trong file ASP nÕu ta viÕt h−íng dÉn
<%<lÖnh>%> th× ASP hiÓu r»ng lÖnh bªn trong hai dÊu <% vµ %> lµ mét lÖnh
Script. Nh− ®· nãi ë trªn, c¸c lÖnh Script cã thÓ lµ VBScript hay Jscript.
4.4.2 BiÕn trong ASP
BiÕn ®−îc cho b»ng mét tªn gäi nµo ®ã (quy c¸ch gièng nh− biÕn dïng trong
Visual Basic) – cã thÓ tra cøu c¸c tµi liÖu cña VB ®Ó biÕt thªm nguyªn t¾c ®Æt tªn
biÕn. Khi sö dông biÕn trong Script, ta kh«ng cÇn ph¶i khai b¸o tr−íc mµ cã thÓ sö
dông trùc tiÕp. C¸c biÕn trong ASP kh«ng cã kiÓu, kiÓu cña nã sÏ ®−îc x¸c ®Þnh
mét c¸ch tù ®éng khi cã lÖnh g¸n gi¸ trÞ vµo biÕn. NÕu cã khai b¸o biÕn th× có ph¸p
nh− sau: Dim tªn_biÕn
4.4.3 C¸c lÖnh c¬ b¶n cña ASP
a. LÖnh g¸n:
Có ph¸p: <%<biÕn>=[gi¸ trÞ]%>
http://www.ebook.edu.vn 86

LÖnh nµy sÏ n¹p gi¸ trÞ vµo biÕn


b. LÖnh ®−a ra mµn h×nh gi¸ trÞ cña biÕn:
Có ph¸p: <%=<biÕn>%>
Khi xö lý lÖnh nµy, ASP chuyÓn ®o¹n m· ng÷ trªn thµnh mét v¨n b¶n víi néi
dung chÝnh lµ lÖnh g¸n gi¸ trÞ cña biÕn. Khi tr×nh duyÖt xö lý nã sÏ hiÓn thÞ gi¸ trÞ
nµy ra mµn h×nh.
c. C¸c cÊu tróc ®iÒu khiÓn:
C©u lÖnh If-then-else – end if
<% if <®iÒu kiÖn> then <c¸c c©u lÖnh> [else <c¸c c©u lÖnh kh¸c>]%>
VÝ dô kiÓm tra thêi gian ®Ó hiÓn thÞ c©u “B©y giê lµ buæi s¸ng” hay “B©y giê
lµ buæi chiÒu”
<% if time<=#12:00:00 AM# then
x=“B©y giê lµ buæi s¸ng”
else
x=“B©y giê lµ buæi chiÒu”
end if
%>
<%=x%>
CÊu tróc lùa chän Select Case
Có ph¸p:
Select case biÕn
Case <tËpgi¸trÞ1>
<d·y c©u lÖnh 1>
Case <tËpgi¸trÞ2>
<d·y c©u lÖnh 2>
…….
Case <tËpgi¸trÞ n>
<d·y c©u lÖnh n>
Case else
<d·y c©u lÖnh n+1>
end select
VÝ dô:
<%
bien=5
select case bien
case 1,2,3
Response.Write ("chon 1")
case 2,3,4
Response.Write "chon 2"
case else
Response.write "chon 3"
http://www.ebook.edu.vn 87

end select
%>

=> KÕt qu¶: Chon 3


4.4.4 Vßng lÆp For:
Có ph¸p:
<%For <biÕn ®Õm>=<gi¸ trÞ ®Çu> to <gi¸ trÞ cuèi>%>
[C¸c lÖnh kh¸c]
<%Next [biÕn ®Õm]%>
VÝ dô:
<%for i=5 to 7 %>
<font size =<%=i%>>Chµo b¹n!<br></font>
<% Next %>
4.4.5 C©u lÖnh lÆp kh«ng x¸c ®Þnh:
Có ph¸p:
while <®iÒu kiÖn>
<thùc hiÖn c«ng viÖc>
Wend

Do while <®iÒu kiÖn>


Loop

Do
<c«ng viÖc>
Loop While <®iÒu kiÖn>
VÝ dô:
<%
i=1
do
i=i+1
Response.Write i
loop while i<=10
%>
4.5 X©y dùng c¸c hµm vµ thñ tôc trong ASP:
Ta cã thÓ sö dông c¸c ng«n ng÷ Script ®Ó x©y dùng c¸c hµm vµ thñ tôc trong
file ASP. Tr−íc khi viÕt mét hµm vµ thñ tôc b»ng ng«n ng÷ g× ta ph¶i th«ng b¸o
cho ASP biÕt b»ng thÎ Script nh− ®· biÕt.
CÊu tróc mét hµm trong ASP cã d¹ng sau:
<SCRIPT RUNAT =SERVER LANGUAGE=”LANGUAGENAME”>
‘Hµm:
Function <FunctionName> (BiÕn)
http://www.ebook.edu.vn 88

C¸c dßng lÖnh Script


End Function
‘Thñ tôc:
Sub <SubName> (BiÕn)
C¸c dßng lÖnh Script
End Sub
</SCRIPT>
§èi víi hµm th× trong th©n cña hµm cÇn cã mét lÖnh g¸n gi¸ trÞ tÝnh ®−îc cho
mét biÕn cã thªn trïng víi tªn hµm.
C¸ch gäi hµm hoµn toµn t−¬ng tù nh− c¸ch lÊy gi¸ trÞ tõ mét biÕn.
C¸ch gäi thñ tôc: Call SubName hoÆc SubName
VÝ dô ta cã hµm sau:
<%Function Calculate(A, B, Op)
Select Case Op
Case “+”
Calculate = A+B
Case “-”
Calculate = A-B
Case “*”
Calculate = A*B
Case “/”
Calculate = A/B
End Select
End Function
Response.write Calculate(2, 3, “+”)
Response.write Calculate(2, 3, “-)
%>
Chó ý: Cã thÓ sö dông <!--#include file|virtual=”file_name”--> ®Ó sö dông
l¹i c¸c hµm vµ thñ tôc ®· ®−îc x©y dùng trong mét file nµo ®ã.
4.6 Sö dông c¸c ®èi t−îng cña ASP ®Ó trao ®æi th«ng tin gi÷a Client vµ Server.
4.6.1 Giíi thiÖu c¸c ®èi t−îng chÝnh cña ASP:
a. C¸c ®èi t−îng chÝnh:
T−¬ng tù nh− trong c¸c ng«n ng÷ lËp tr×nh h−íng ®èi t−îng, ASP cho phÐp
ng−êi lËp tr×nh t¹o ra c¸c ®èi t−îng, c¸c líp theo môc ®Ých sö dông riªng. ASP còng
cung cÊp s½n cã mét sè ®èi t−îng hay ®−îc sö dông. §ã lµ 5 ®èi t−îng sau:
C¸c ®èi t−îng ý nghÜa
Application Chia sÎ th«ng tin gi÷a c¸c ng−êi dïng trong mét øng dông
Session L−u gi÷ c¸c th«ng tin duy nhÊt vÒ phiªn lµm viÖc hiÖn thêi
cña mét ng−êi sö dông cô thÓ
Server Cho phÐp truy cËp tíi m¸y chñ
http://www.ebook.edu.vn 89

Request LÊy th«ng tin tõ phÝa ng−êi dïng


Response Göi th«ng tin tíi ng−êi dïng
Mçi ®èi t−îng ®Òu cã c¸c ph−¬ng thøc ®i kÌm. Có ph¸p chung ®Ó göi th«ng
®iÖp cho c¸c ®èi t−îng hoµn toµn b×nh th−êng:
Object.Method parameters.
ë ®©y parameters cã thÓ lµ biÕn, d÷ liÖu, chuçi hoÆc URL tuú thuéc vµo
ph−¬ng thøc Method.
Ngoµi ra cßn cã ®èi t−îng ObjectContext: ®Ó chÊp nhËn hoÆc tõ chèi mét
giao t¸c. §èi t−îng nµy ®−îc qu¶n lý bëi MTS vµ cã thÓ ®−îc khëi x−íng nhê mét
c©u lÖnh script chøa trong mét trang ASP. Khi mét trang ASP chøa
@TRANSACTION th× trang ®ã sÏ ®−îc ch¹y trong giao t¸c ®ã vµ chØ kÕt thóc khi
giao t¸c ®ã ®· thµnh c«ng hoÆc thÊt b¹i. Vµ ®èi t−îng ASPError chøa th«ng tin vÒ
lçi xuÊt hiÖn trong m· lÖnh trong trang ASP.
b. File Global.asa
Lµ n¬i khai b¸o c¸c ®èi t−îng, biÕn cã ph¹m vi phiªn lµm viÖc hay toµn bé
øng dông. File Global ®−îc kÝch ho¹t mçi khi mét phiªn lµm viÖc míi ®−îc thiÕt
lËp, tuy nhiªn sù kiÖn Application_OnStart chØ ®−îc kÝch ho¹t mét lÇn khi
Webserver ®−îc khëi ®éng. Mçi mét øng dông chØ cã thÓ cã duy nhÊt mét file
Global.asa.
C¸c sù kiÖn cña c¸c ®èi t−îng Application vµ Session ®−îc khai b¸o trong
file Global.asa.
Có ph¸p:
<Script Language=VBScipt RUNAT=Server>
Application_OnStart
End Sub
Application_OnEnd
End Sub
Session_OnStart
End Sub
Session_OnEnd
End Sub
</Script>
Ngoµi ra ta cã thÓ viÕt c¸c hµm vµ thñ tôc ®Æt trong file Global.asa ®Ó phôc
vô cho c¶ øng dông hay cho tõng phiªn lµm viÖc cô thÓ, c¸c thñ tôc vµ c¸c hµm nµy
ph¶i n»m trong c¸c sù kiÖn cña hai ®èi t−îng Application vµ Session.
4.6.2 §èi t−îng Request
a. ý nghÜa:
LÊy yªu cÇu tõ m¸y kh¸ch nhê ph−¬ng thøc HTTP . Lµ kiÓu ®èi t−îng quan
träng nhÊt trong ASP. Th«ng qua viÖc sö dông ®èi t−îng Request ta cã thÓ lÊy
®−îc c¶ d÷ liÖu vµ tham sè trong mét trang HTML ®−îc göi qua ®−êng ®Þa chØ.
Khi mét Browser liªn l¹c víi Server th«ng qua giao thøc HTTP, Browser göi
yªu cÇu tíi Server, ngoµi tªn cña trang ®−îc yªu cÇu th× cßn rÊt nhiÒu th«ng tin
http://www.ebook.edu.vn 90

kh¸c ®i kÌm ®−îc göi tíi Server. C¸c th«ng tin nµy cã thÓ lµ c¸c biÕn m«i tr−êng,
c¸c th«ng tin do user cung cÊp d−íi d¹ng ®iÒn vµo c¸c b¶ng, Cookies, ... TÊt c¶ c¸c
th«ng tin nµy ®−îc m· ho¸ vµ truyÒn ®i cïng víi HTTP headers. ASP cho phÐp lÊy
ra c¸c th«ng tin nµy b»ng c¸ch sö dông ®èi t−îng Request.
b. C¸c thµnh phÇn cña Request:
TËp hîp Thuéc tÝnh Ph−¬ng thøc
QueryString TotalBytes BinaryRead
Form
ServerVariables
Cookies
ClientCertificate
Có ph¸p:
Request.[TËp hîp](BiÕn)|thuéc tÝnh|ph−¬ng thøc
TËp hîp:
TËp hîp ý nghÜa
ClientCertificate Bao gåm c¸c th«ng tin vÒ certificate cña Client.
Cookies §äc th«ng tin tõ mét Cookies ®· cã s½n
Form Gi¸ trÞ c¸c thµnh phÇn cña form göi ®Õn tõ Browser (LÊy
th«ng tin do user göi ®Õn b»ng ph−¬ng thøc POST)
QueryString LÊy gi¸ trÞ cña c¸c biÕn theo sau mét URL (LÊy th«ng tin
do user göi ®Õn b»ng ph−¬ng thøc GET)
ServerVariables Bao gåm c¸c th«ng tin vÒ Client Browser, Server vµ user
c. TËp hîp Form vµ QueryString:
Khi chóng ta sö dông thÎ <FORM> trong mét trang, ta cã thÓ ®Æt thuéc tÝnh
METHOD cña <FORM> lµ POST hay GET. NÕu chóng ta sö dông GET (hay bá
qua v× GET lµ gi¸ trÞ mÆc ®Þnh cña METHOD), tr×nh duyÖt sÏ lÊy c¸c gi¸ trÞ trong
tÊt c¶ c¸c control ®Ó x©y dùng thµnh QueryString vµ g¾n vµo URL cña trnag ®−îc
yªu cÇu khi Submit trang hiÖn t¹i. Khi trang nµy ®Õn Server c¸c gi¸ trÞ cña nã n»m
ë Collection Request.QueryString.
Ng−îc l¹i, nÕu sö dông ph−¬ng thøc POST, tr×nh duyÖt sÏ ®−a tÊt c¶ c¸c gi¸
trÞ vµo trong HTTP header göi ®Õn Server vµ c¸c gi¸ trÞ nµy cã thÓ truy xuÊt qua
Collection Request.Form
Nãi chung, ta nªn sö dông ph−¬ng thøc Post trong tÊt c¶ c¸c form HTML.
Thø nhÊt, chiÒu dµi chuçi cña URL bÞ giíi h¹n nªn nÕu dïng QueryString sÏ cã
nguy c¬ bÞ trµn vµ bÞ c¾t bít. Thø hai, query string ®−a c¸c gi¸ trÞ t−êng minh vµo
URL, vµ sÏ ®−îc ghi l¹i trong file log khi ®i qua c¸c Server, kh«ng b¶o mËt th«ng
tin.
Sù kh¸c nhau gi÷a hai ph−¬ng thøc göi d÷ liÖu tõ Client ®Õn Server ®−îc chØ
ra trong s¬ ®å sau:
http://www.ebook.edu.vn 91

Server (ASP Application)

Sö dông QueryString Sö dông Form


Collection ®äc DL Collection ®äc DL

D÷ liÖu göi víi URL D÷ liÖu göi trong


HTTP header

METHOD=GET METHOD=POST
(Gi¸ trÞ Default)

Client (Browser) Form

H×nh 4.7 Sù kh¸c nhau gi÷a hai ph−¬ng thøc GET vµ POST.
VÝ dô sö dông ph−¬ng thøc Post ®Ó göi d÷ liÖu:
Néi dung file1.htm
<HTML>
<HEAD>
</HEAD>
<BODY>
<form action=“file2.asp" method="POST">
Name:<input type="Text" name="Name" maxlength="20">
<br>Company:<input type="Text" name="Company" maxlength="20">
<br>Position:<input type="Text" name="Position" maxlength="20">
<br>Address:<textarea name="Address" rows="3"></textarea>
<br>Phone:<input type="Text" name="Phone" maxlength="20">
<br><input type="Submit" name="Submit" value="Submit">
</form>
</BODY>
</HTML>

Néi dung file2.asp


<HTML>
<HEAD>
</HEAD>
<BODY>
http://www.ebook.edu.vn 92

<% Response.Write Request.Form("Name")%>


works for<% Response.Write Request.Form("Company") %>
at address<% Response.Write Request.Form("Address") %>
as a<% Response.Write Request.Form("Position") %>.
</BODY>
</HTML>

KÕt qu¶:
Jane Doe works for ISSI at address 5609 Kington Pike Knoville, TN as a
Web Designer.
VÝ dô sö dông ph−¬ng thøc Get ®Ó göi d÷ liÖu:
Néi dung file1.asp:
<HTML>
<HEAD>
</HEAD>
<BODY>
<A HREF="File2.asp?language=ASP&type=general">
Query sample</A>
</BODY>
</HTML>

Néi dung file2.asp:


<%
For Each item In Request.QueryString
Response.Write item & " = " & Request.QueryString(item) & "<BR>"
Next
%>
Output:
language = ASP
type = general
HoÆc file2.asp cã thÓ viÕt:
<%
Response.Write "language =" & Request.QueryString("language")&
"<BR>"
Response.Write "type =" & Request.QueryString("type")& "<BR>"
%>
Chó ý: Khi lÊy gi¸ trÞ theo 2 tËp hîp lµ Form hoÆc QueryString ta chØ cÇn chØ
ra Request(“tªn_biÕn”)
Ch¼ng h¹n: Request.Form(“Name”) cã thÓ thay b»ng Request(“Name”)
d. Sö dông tËp hîp Cookies:
Cookies lµ nhãm v¨n b¶n mµ Website ®Æt vµo mét file trªn ®Üa cøng cña web
browser khi web browser truy cËp Website ®ã. Cookie dïng ®Ó nhËn diÖn khi Web
browser nµy truy cËp nh÷ng lÇn sau.
http://www.ebook.edu.vn 93

Cookie ®−îc göi ®Õn Server cïng víi mçi yªu cÇu. D÷ liÖu trong Cookie
®−îc ®Æt trong tËp hîp Cookies. Nã ®−îc truy cËp t−¬ng tù QueryString vµ Form.
Tuy nhiªn, sö dông ®èi t−îng Request, ta chØ ®äc ®−îc gi¸ trÞ cña Cookie mµ kh«ng
thay ®æi ®−îc nã.
VÝ dô:
<%
Response.Cookies("myProduct")("Main") = "DevSite"
Response.Cookies("myProduct")("Prd1") = "ASP"
Response.Cookies("myProduct")("Prd2") = "VBScript"
Response.Write Request.Cookies("myProduct")
%>
KÕt qu¶:
PRD2=VBScript&PRD1=ASP&MAIN=DevSite
e. Sö dông tËp hîp ServerVariables:
Gi¸ trÞ cña c¸c biÕn m«i tr−êng server. §iÒu này sÏ chÐp truy nhËp tíi c¸c
header HTTP.
VÝ dô:
<%IPAddress = Request.ServerVariables("REMOTE_ADDR")
Software = Request.ServerVariables("SERVER_SOFTWARE")
Protocol = Request.ServerVariables("SERVER_PROTOCOL")
Response.Write "Your IP Address is " & IPAddress & " and your server
is running " & Software & " under " & Protocol & "protocol."
%>
KÕt qu¶
Your IP Address is 127.0.0.1 and your server is running Microsoft-IIS/4.0
under HTTP/1.1 protocol.
HoÆc ta cã thÓ tham chiÕu tíi tÊt c¶ c¸c tham sè cña tËp hîp ServerVariables
nh− sau:
<% For each item in request.servervariables
Response.write “<br>” & item & “=” & request.servervariables(item)&
“<br>”
Next
%>
f. Thuéc tÝnh:
TotalBytes: ChØ ra tæng sè byte m¸y kh¸ch göi tíi m¸y chñ trong phÇn
th©n yªu cÇu HTTP.
g. Ph−¬ng thøc:
BinaryRead: §äc d÷ liÖu tõ th©n HTTP göi ®Õn server .
VÝ dô:
-------------------File1.html-----------------
<HTML>
<HEAD>
http://www.ebook.edu.vn 94

</HEAD>
<BODY>
<FORM ACTION="File2.asp" METHOD="POST">
Name:<INPUT TYPE="Text" NAME="name" MAXLENGTH="30">
<BR>
Age: <INPUT TYPE="Text" NAME="age" MAXLENGTH="10"><BR>
Sex: <INPUT TYPE="Text" NAME="sex" MAXLENGTH="10"><BR>
<INPUT TYPE="Submit" NAME="submit" VALUE="submit"><BR>
</FORM>
</BODY>
</HTML>

-------------------File2.asp------------------
<%
Dim ByteCount,BinRead
ByteCount = Request.TotalBytes
BinRead=Resquest.BinaryRead(ByteCount)
Response.Write("ByteCount = " & ByteCount & " bytes")
%>
KÕt qu¶:
Tïy thuéc vµo d÷ kiÖn ®−îc nhËp t¹i form, vÝ dô nÕu Name=Bill, Age=56,
and Sex=male. Th× ta sÏ cã kÕt qu¶ lµ:
ByteCount = 39 bytes
4.6.3 §èi t−îng Response
§−îc sö dông ®Ó truy xuÊt c¸c ®¸p øng mµ server t¹o ra ®Ó göi vÒ cho user
TËp hîp Thuéc tÝnh Ph−¬ng thøc
Cookies Buffer AddHeader
Charset AppendToLog
ContentType BinaryWrite
Expires Clear
ExpiresAbsolute End
Status Flush
Redirect
Write
Có ph¸p:
Response. tËp hîp|thuéc tÝnh|ph−¬ng thøc
a. TËp hîp:
Cookies: X¸c ®Þnh gi¸ trÞ cña cookie göi cho browser . C¸c thµnh phÇn cña
tËp hîp nµy ®Òu lµ gi¸ trÞ chØ ghi.
Request object cho phÐp chóng ta ®äc th«ng tin cña cookies khi cã 1 yªu cÇu
®−îc göi ®Õn. Cßn Response object cung cÊp kh¶ n¨ng ®Æt hoÆc thay ®æi c¸c gi¸ trÞ
cña cookies tr−íc khi göi tr¶ l¹i cho client.
http://www.ebook.edu.vn 95

VÝ dô:
Dßng lÖnh sau ®©y sÏ thªm 1 cookie vµo cookie cña client nÕu nã ch−a ®−îc
®Æt hoÆc thay ®æi gi¸ trÞ cña cookie nµy nÕu nã ®· tån t¹i.
<% Response.cookies(“independentcookie”)=”4th of July”%>
Chó ý: ViÖc thay ®æi cookie víi Response object cÇn ®−îc lµm tr−íc khi viÕt
m· v¨n b¶n hoÆc HTML ®Ó göi tíi client, nÕu kh«ng sÏ g©y ra lçi.
b. Ph−¬ng thøc :
Ph−¬ng thøc ý nghÜa
AddHeader Thªm phÇn ®Çu HTTP víi mét gi¸ trÞ cô thÓ ®Ó göi l¹i cho
browser
AppendToLog Thªm mét chuçi v¨n b¶n vµo môc nhËp nhËt ký m¸y chñ cho
yªu cÇu tõ m¸y kh¸ch hiÖn thêi
Binarywrite ViÕt th«ng tin trùc tiÕp tíi néi dung tÝn hiÖu ®¸p mµ kh«ng
chuyÓn ®æi ký tù nµo
Clear Xo¸ bé ®Öm
End Dõng viÖc xö lý 1 trang vµ tr¶ l¹i kÕt qu¶ hiÖn t¹i
Flush Göi nh÷ng d÷ liÖu cã trong bé ®Öm tíi browser ngay lËp tøc
Redirect ChØ cho browser kÕt nèi ®Õn mét URL kh¸c
Write Göi text trùc tiÕp tíi tr×nh duyÖt phÝa user
™ AddHeader: Response.AddHeader Name, Value
§Æt tªn header HTML: Ph¶i ®−îc gäi tr−íc khi output ®−îc göi cho client trõ
khi response.buffer ®−îc ®Æt lµ true.
VÝ dô:
<%
Response.AddHeader "MyHeader", "ERROR"
%>
™ AppendToLog : Response.AppendToLog(String)
Thªm x©u vµo cuèi môc log Web server cho yªu cÇu nµy. String lín nhÊt lµ
80 ký tù
VÝ dô:
<%
Response.AppendToLog("Error in Processing")
%>
§Çu ra ®−îc chÌn vµo cuèi file IIS log:
10.78.176.37, - , 03/20/97, 7:55:20, W3SVC, SALES1, 10.78.176.37, Error
in Processing
™ Clear: Response.Clear
Xãa toµn bé output HTML ®ang ë trong buffer, kh«ng xãa header, chØ xãa
phÇn th©n (body). NÕu buffer kh«ng ®−îc thiÕt ®Æt sÏ g©y ra lçi. Ph¶i ®Æt
Response.Buffer=True (mÆc ®Þnh trong phiªn b¶n 3.0)
http://www.ebook.edu.vn 96

VÝ dô:
<%Response.Clear %>
™ End: Response.End
KÕt thóc xö lý file .asp vµ tr¶ l¹i kÕt qu¶ hiÖn t¹i
VÝ dô:
<%
Response.Write "Hello World"
Response.End
Response.Write "Is this the End?"
%>
KÕt qu¶:
Hello World
™ Flush: Response.Flush
Göi th«ng tin trong buffer ra ngay lËp tøc
Response.buffer=true
VÝ dô:
<%Response.Flush %>
™ Redirect: Response.Redirect(URL)
KÕt thóc xö lý file .asp hiÖn t¹i, chuyÓn tr×nh duyÖt tíi mét URL kh¸c.
VÝ dô:
--------------File1.asp---------------
<%
Response.Write "This is File1.asp and switching to File2.asp"
Response.Redirect "File2.asp"
Response.Write "This line is not written to the file"
%>
--------------File2.asp-----------------
<%
Response.Write "This is File2.asp"
%>
KÕt qu¶:
File1 ®−îc thùc hiÖn sau ®ã tr×nh duyÖt sÏ t¶i File2 lªn:
------------File1.asp------------------
This is File1.asp and switching to File2.asp
------------File2.asp-------------------
This is File2.asp
™ Write: Response.Write(Variant)
Ghi th«ng tin d−íi d¹ng x©u vµo output HTTP hiÖn thêi.
VÝ dô:
<%
Response.Write "Hello World"
Response.Write "<BR>"%>
http://www.ebook.edu.vn 97

KÕt qu¶:
Hello World
c. Thuéc tÝnh:
Thuéc tÝnh ý nghÜa
Buffer X¸c ®Þnh xem mét trang cã sö dông bé ®Öm ®Ó chøa c¸c
kÕt qu¶ ®−îc t¹o bëi Script hay ®−îc göi ngay tíi
browser khi tõng dßng ®−îc t¹o ra vµ nhËp vµo d¶i
HTML. Gi¸ trÞ ngÇm ®Þnh lµ False
ContentType X¸c ®Þnh kiÓu néi dung HTTP ®−îc tr¶ vÒ. KiÓu ngÇm
®Þnh lµ Text/HTML
Expires Kho¶ng thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser
ExpiresAbsolute Ngµy vµ thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser
Status Gi¸ trÞ cña dßng tr¹ng th¸i HTTP tr¶ l¹i bëi server
Charset §Æt d¹ng ng«n ng÷ sö dông cho client browser vµo phÇn
cuèi cña ®o¹n ®Çu ContentType
™ Buffer
• Buffer: n¬i l−u gi÷ t¹m thêi tr−íc khi chuyÓn cho tr×nh duyÖt
• ChØ ra output cña trang cã ®−îc l−u trong buffer hay kh«ng
• SÏ kh«ng cã sù göi l¹i cho tr×nh duyÖt cho ®Õn khi tÊt c¶ c¸c script
®−îc xö lý xong, hoÆc cã lêi gäi ph−¬ng thøc Flush hay End.
Thuéc tÝnh nµy kh«ng thÓ thay ®æi khi server ®· göi th«ng tin cho tr×nh duyÖt
vµ ph¶i ®−îc ®Æt ë dßng ®Çu tiªn trong file .asp
VÝ dô:
<%
Response.Buffer = TRUE
x=0
Do
x = x+1
Response.Write x & "<BR>"
Loop
%>

™ Response.CacheControl
Cã cho phÐp m¸y chñ proxy ®−îc cache output cña trang .asp hay kh«ng.
M¸y chñ proxy dïng ®Ó ®Èy nhanh tèc ®é truy nhËp tíi trang Web nµo ®ã
b»ng c¸ch l−u l¹i mét b¶n cña trang Web trong cache.
• NÕu CacheControl ®−îc ®Æt lµ “Public”, th× cho phÐp cache.
• NÕu CacheControl ®Æt lµ “Private”, th× kh«ng cho phÐp cache.
VÝ dô:
<% Response.CacheControl = "Public" %>
<% Response.CacheControl = "Private" %>
http://www.ebook.edu.vn 98

™ Charset: Response.Charset
Thªm tªn cña tËp ký tù vµo trong header content-type
MÆc ®Þnh lµ ISO-LATIN-1
VÝ dô:
Trong vÝ dô nµy, nÕu header lµ: content-type: text/html
Th× header sÏ trë thµnh:
content-type: text/html; charset = MS_Kanji
<% Response.Charset("MS_Kanji") %>
™ ContentType : Response.ContentType
ChØ ra kiÓu néi dung HTTP ®Ó tr¶ l¹i. MÆc ®Þnh lµ text/HTML
VÝ dô:
<% Response.ContentType = "application/vnd.ms-excel" %>
™ Expires
X¸c ®Þnh kho¶ng thêi gian tr−íc khi mét trang ®−îc cache hÕt h¹n
VÝ dô:
• Tr−êng hîp 1: bÊt kú khi nµo gäi tíi trang ®ã, nã lu«n lu«n ®−îc
refresh.
• Tr−êng hîp 2: NÕu trë l¹i trang ®ã tr−íc 15 phót, trang hiÓn thÞ sÏ lµ
trang ë trong cache.
<% Response.Expires = 0 %>
<% Response.Expires = 15 %>
™ Response.ExpiresAbsolute
X¸c ®Þnh ngµy vµ thêi gian chÝnh x¸c mét trang sÏ hÕt h¹n.
VÝ dô:
<% Response.ExpiresAbsolute=#May 15, 1999 18:00:00# %>
™ Response.IsClientConnected
• X¸c ®Þnh xem client ®· ngõng kÕt nèi víi server tõ Response.Write
cuèi cïng.
• Thuéc tÝnh nµy ®Æc biÖt cã ý nghÜa ®Ó server kh«ng ph¶i tiÕp tôc thùc
hiÖn chuyÓn nh÷ng th«ng tin client kh«ng yªu cÇu.
VÝ dô:
<%
'Check to see if the client is connected.
If Not Response.IsClientConnected Then
'Get the sessionid to send to the shutdown function.
Shutdownid = Session.SessionID
'Perform shutdown processing.
Shutdown(Shutdownid)
End If
%>
http://www.ebook.edu.vn 99

™ Response.Status
Dßng tr¹ng th¸i do server tr¶ l¹i
VÝ dô:
<%
IPAddress = Request.ServerVariables("REMOTE_ADDR")
If IPAddress <> "208.5.64.223" Then
Response.Status = "403 Access Forbidden"
Response.Write Response.Status
Response.End
End If
%>
<BODY>
You have accessed this page through the IP Address of
208.5.64.223.
</BODY>
KÕt qu¶ sau sÏ ®−îc tr¶ vÒ nÕu ®Þa chØ IP trªn m¸y Client lµ 208.5.64.223:
You have accessed this page through the IP Address of 208.5.64.223.
Ng−îc l¹i nÕu ®Þa chØ IP cña Client kh«ng ph¶i lµ 208.5.64.223 th× kÕt qu¶
sau sÏ tr¶ vÒ:
403 Access Forbidden
4.6.4 §èi t−îng Server
Cho phÐp truy nhËp tíi c¸c ph−¬ng thøc vµ thuéc tÝnh trªn m¸y chñ.
TËp hîp Thuéc tÝnh Ph−¬ng thøc
CreateObject
ScripTimeOut HTMLEncode
MapPath
URLEncode

Có ph¸p:
Server.Thuéc tÝnh|Ph−¬ng thøc
a. Thuéc tÝnh:
ScriptTimeout: Server.ScriptTimeout

thêi gian tèi ®a ®Ó trang script ch¹y trªn m¸y chñ. NÕu kh«ng ®Æt gi¸ trÞ cho
thuéc tÝnh nµy th× gi¸ trÞ mÆc ®Þnh cña nã lµ 90 gi©y.
NÕu script nhËp vµo mét vßng lÆp v« h¹n th× server sÏ kÕt thóc script ®ã ®Ó
tr¸nh bÞ overload bëi viÖc ch¹y liªn tôc c¸c tiÕn tr×nh sinh ra. Thêi gian tr−íc khi
script bÞ kÕt thóc ®−îc ®Þnh nghÜa bëi thuéc tÝnh nµy.
<% Server.ScriptTimeout = 150 %>
Ta cã thÓ lÊy ®−îc gi¸ trÞ cña thuéc tÝnh ScriptTimeout b»ng c¸ch:
<% timeout = Server.ScriptTimeout %>
http://www.ebook.edu.vn 100

b. Ph−¬ng thøc
Ph−¬ng thøc ý nghÜa
CreateObject T¹o mét thÓ hiÖn cña ®èi t−îng cô thÓ trªn Server
Execute Cho phÐp gọi trang ASP kh¸c trong một trang ASP
GetLastError M« t¶ ®èi t−îng lçi ASP, chØ cã ý nghÜa tr−íc khi file asp
göi néi dung tíi Client
HTMLEncode G¾n mét ®o¹n m· HTML vµo mét x©u ®· ®−îc ®Þnh d¹ng.
MapPath X¸c ®Þnh ®−êng dÉn vËt lý trªn m¸y chñ khi xÐt ®Õt ®−êng
dÉn ¶o.
Transfer Chuyển tíi trang ASP kh¸c tõ mét trang ASP. Th«ng tin
tr¹ng th¸i hiÖn t¹i trong trang ®Çu tiªn sÏ ®−îc chuyÓn tíi
trang thø hai
URLEncode Cho phÐp g¾n mét ®o¹n m· URL
™ Server.CreateObject(ObjectID)
T¹o mét thÓ hiÖn (instance) cña ®èi t−îng server (®èi t−îng activeX bÊt kú
trªn server), sau ®ã cã thÓ sö dông c¸c ph−¬ng thøc vµ truy cËp tíi c¸c thuéc tÝnh
cña ®èi t−îng ®ã.
ObjectID lµ ®èi t−îng cÇn khëi t¹o.
§o¹n m· sau dïng ®Ó kÕt nèi víi CSDL:
<% Set myconn = Server.CreateObject("ADODB.Connection") %>
™ Server.Execute (Path)
• Cho phÐp gäi trang ASP kh¸c trong mét trang ASP. Khi trang ®−îc gäi
tíi hoµn thµnh c¸c c«ng viÖc cña nã, sÏ trë l¹i tiÕp tôc thùc hiÖn trang
ASP gäi tíi nã. HiÖu qu¶ gièng nh− c¸c hµm, thñ tôc (subroutines).
Ph−¬ng ph¸p cã hiÖu qu¶ t−¬ng tù include.
• Ph−¬ng thøc Transfer chuyÓn tíi trang ASP kh¸c kh«ng quay l¹i trang
®· gäi tíi.
• Tham sè Path chØ ®−êng dÉn t−¬ng ®èi hoÆc vËt lý, toµn bé x©u nµy
®−îc ®Æt trong dÊu nh¸y.
VÝ dô:
----------CallingAsp.asp----------
<HTML>
<BODY>
How now <%Server.Execute("CalledAsp.asp")%> cow?
</BODY>
</HTML>

----------CalledAsp.asp----------
<%
Response.Write "pink"
%>
http://www.ebook.edu.vn 101

KÕt qu¶:
How now pink cow?
™ Server.GetLastError
Tr¶ l¹i ®èi t−îng ASPError, ®èi t−îng này cã 9 thuéc tÝnh chØ ®äc cung cÊp
th«ng tin chi tiÕt vÒ lçi.
VÝ dô:
<%
Dim objErrorInfo
Set objErrorInfo = Server.GetLastError
Response.Write("ASPCode = " & objErrorInfo.ASPCode)
Response.Write("ASPDescription = " & objErrorInfo.ASPDescription)
Response.Write("Category = " & objErrorInfo.Category)
Response.Write("Column = " & objErrorInfo.Column)
Response.Write("Description = " & objErrorInfo.Description)
Response.Write("File = " & objErrorInfo.File)
Response.Write("Line = " & objErrorInfo.Line)
Response.Write("Number = " & objErrorInfo.Number)
Response.Write("Source = " & objErrorInfo.Source)
%>

™ Server.HTMLEncode (String)
Ph−¬ng thøc nµy cho phÐp m· ho¸ chuçi thµnh m· HTML ®èi víi x©u ASCII
bÊt kỳ. VÝ dô, ®iÒu nµy cho phÐp hiÓn thÞ thÎ HTML mµ kh«ng xö lý nã nh− nh÷ng
thÎ HTML thùc sù.
VÝ dô:
<% Response.Write Server.HTMLEncode("The tag for a table is: <Table>") %>
KÕt qu¶:
The tag for a table is: &lt;Table&gt;
KÕt qu¶ ë Browser:
The tag for a table is: <Table>
™ Server.MapPath (Path)
¸nh x¹ ®−êng dÉn ¶o, hay t−¬ng ®èi tíi ®−êng dÉn vËt lý. Ph−¬ng thøc nµy
kh«ng kiÓm tra sù tån t¹i thùc sù cña ®−êng dÉn. NÕu b¾t ®Çu b»ng dÊu / hoÆc \ ->
®−êng dÉn ¶o. Cßn kh«ng b¾t ®Çu b»ng ký tù ®ã -> ®−êng dÉn t−¬ng ®èi.
VÝ dô:
<HTML>
<BODY>
The path of this file is <% Response.Write
Server.MapPath("test.asp")%>
The path of the file1 is <% Response.Write
Server.MapPath("\test.asp")%>
The path of the file2 is <% Response.Write
Server.MapPath("test\test.asp") %>
http://www.ebook.edu.vn 102

The path of the file3 is <% Response.Write Server.MapPath("\") %>


</BODY>
</HTML>
KÕt qu¶:
The path of this file is C:\VANBANG2\ASP\Example\test.asp
The path of the file1 is d:\inetpub\wwwroot\test.asp
The path of the file2 is C:\VANBANG2\ASP\Example\test\test.asp
The path of the file3 is d:\inetpub\wwwroot
™ Server.Transfer (Path)
ChuyÓn tíi trang ASP kh¸c tõ mét trang ASP. Th«ng tin tr¹ng th¸i khëi t¹o
trong trang ®Çu tiªn sÏ ®−îc chuyÓn tíi trang thø hai.
VÝ dô:
----------CallingAsp.asp----------
<%
Application("name") = "Application Maker"
Application("publishdate") = "05/15/01"
Application("author") = "DevGuru"
Set Application("Obj1") =
Server.CreateObject("ADODB.Connection")
Server.Transfer("CalledAsp.asp")
%>

----------CalledAsp.asp----------
<%;
Response.Write "Output from CalledAsp.asp"
For Each Item in Application.Contents
If IsObject( Application.Contents(Item)) Then
Response.Write Item & “is an object.<BR>”
Else
Response.Write Item & “=” & Application.Contents(Item) &“<BR>”
End If
Next
%>

KÕt qu¶:
KÕt qu¶ tõ CalledAsp.asp
name=Application Maker
publishdate=05/15/01
author=DevGuru
OBJ1 is an object.
™ Server.URLEncode(String)
ChuyÓn x©u thµnh d¹ng m· ho¸ URL, ®Ó ®¶m b¶o hyperlink trong ASP ®ã ®−îc
®Þnh d¹ng ®óng ®¾n.
http://www.ebook.edu.vn 103

VÝ dô:
<% Response.Write Server.URLEncode("http://www.issi.net") %>
KÕt qu¶:
http%3A%2F%2Fwww%2Eissi%2Fnet
4.6.5 §èi t−îng Application
Mét øng dông bao gåm c¸c file cã thÓ truy nhËp th«ng qua mét th− môc ¶o
x¸c ®Þnh vµ c¸c th− môc con cña nã.
§èi t−îng Application thÓ hiÖn toµn bé mét øng dông ASP. Chóng ta cã thÓ
sö dông øng dông nµy ®Ó chia sÎ th«ng tin cho tÊt c¶ c¸c ng−êi dïng trong mét øng
dông.
§èi t−îng Application ®−îc b¾t ®Çu khi cã mét yªu cÇu ®Çu tiªn mét trang
web bÊt kú tõ th− môc ¶o t¹i Web server vµ tån t¹i cho ®Õn khi Webserver ngõng
ho¹t ®éng.
a. TËp hîp:
™ Application.Contents(Key)
Chøa danh s¸ch c¸c môc võa ®−îc khëi t¹o và ®−a vào ®èi t−îng
Application.
VÝ dô:
<% Application("name") = "Application Maker"
Application("publishdate") = "05/15/01"
Application("author") = "DevGuru"
Set Application("Obj1") = Server.CreateObject("ADODB.Connection")
For Each Item in Application.Contents
If IsObject( Application.Contents(Item)) Then
Response.Write Item & " is an object.<BR>"
Else
Response.Write Item & "=" & Application.Contents(Item) & "<BR>"
End If
Next
%>

KÕt qu¶:
name=Application Maker
publishdate=05/15/01
author=DevGuru
OBJ1 is an object
™ Ph−¬ng thøc cña tËp hîp Contents:
• Application.Contents.Remove (Name|Integer)
Lo¹i bá môc nµo ®ã trong collection Application.Contents
Name chØ ra tªn môc sÏ xãa, n»m trong cÆp dÊu nh¸y (“”). Integer chØ ra vÞ
trÝ môc trong collection sÏ ®−îc xãa. Gi¸ trÞ nµy b¾t ®Çu tõ 1.
VÝ dô:
http://www.ebook.edu.vn 104

<%
Application("name") = "Application Maker"
Application("publishdate") = "05/15/01"
Application("author") = "DevGuru"
Set Application("Obj1") = Server.CreateObject("ADODB.Connection")
Application.Contents.Remove(1)
Application.Contents.Remove("publishdate")
For Each Item in Application.Contents
If IsObject(Application.Contents(Item)) Then
Response.Write Item & " is an object.<BR>"
Else
Response.Write Item & "=" &Application.Contents(Item) & "<BR>"
End If
Next
%>

KÕt qu¶:
author=DevGuru
Obj1 is an object.
• Application.Contents.RemoveAll
Lo¹i bá tÊt c¶ c¸c môc trong collection Application.Contents .
Thªm cÆp dÊu ngoÆc ()
<%Application.Contents.RemoveAll( )%>
™ Application.StaticObjects(Key)
Chøa tÊt c¶ c¸c môc ®ã ®−îc t¹o trong øng dông b»ng thÎ <OBJECT.
----------Global.asa-------------
<OBJECT RUNAT=Server SCOPE=Application
ID=MyInfo PROGID="MSWC.MyInfo">
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Application
ID=MyConnection PROGID="ADODB.Connection">
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Application
ID=MyADRot PROGID="MSWC.ADRotator">
</OBJECT>

-----------File.asp----------------
<%
For Each Item In Application.StaticObjects
Response.Write Item & "<BR>"
Next
%>
http://www.ebook.edu.vn 105

KÕt qu¶:
MyInfo
MyConnection
MyADRot
b. Sù kiÖn:
øng víi hai ho¹t ®éng b¾t ®Çu vµ kÕt thóc mét ®èi t−îng Application ta cã hai
sù kiÖn trong ®èi t−îng Application, ®ã lµ:
Application_OnStart (khëi t¹o c¸c th«ng tin phôc vô cho mét øng dông khi
øng dông b¾t ®Çu) vµ Application_OnEnd (®−îc kÝch ho¹t khi øng dông kÕt thóc)
Có ph¸p cña sù kiÖn Application_OnStart:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
' N¬i chÌn ®o¹n Script cÇn thiÕt cho viÖc khëi t¹o mét øng dông
End Sub
Sub Application_OnEnd
' N¬i chÌn ®o¹n Scipt cÇn thiÕt cho viÖc kÕt thóc mét øng dông
End Sub
</SCRIPT>
Chó ý: Ph¶i khai b¸o ng«n ng÷ script ®−îc sö dông trong c¸c ®o¹n script sù
kiÖn trong dßng ®Çu tiªn cña file global.asa
- C¸c ®èi t−îng cña ASP trong phÇn nµy chØ cã SERVER vµ APPLICATION
-------------------Global.asa--------------------------
<script Language="VBScript" RUNAT=Server>
Sub Application_OnEnd()
End Sub
Sub Application_OnStart()
Application("NumSession") = 0
Application("NumVisited") = 0
Session.Timeout = 10
End Sub
Sub Session_OnEnd()
Application("NumSession") = Application("NumSession") – 1
End Sub
Sub Session_OnStart()
Application("NumSession") = Application("NumSession") + 1
Application("NumVisited") = Application("NumVisited") + 1
End Sub
</script>

-------------------File1.asp----------------------------
Response.Write "You are " & Application("NumSession") & " of "
& Application("NumVisited") & " users."
http://www.ebook.edu.vn 106

KÕt qu¶:
You are 1 of 1 users.
c. Ph−¬ng thøc:
V× ®èi t−îng Application cã thÓ ®−îc chia sÎ th«ng tin gi÷a c¸c ng−êi dïng
do ®ã ®Ó ®¶m b¶o nh÷ng ng−êi dïng ®ã kh«ng thÓ cïng mét lóc thay ®æi néi dung
cña mét biÕn trong ®èi t−îng Application nã cã hai ph−¬ng thøc lµ Lock vµ
Unlock.
Ph−¬ng thøc ý nghÜa
Lock Ph−¬ng thøc Lock ng¨n c¶n c¸c client kh¸c cïng mét lóc thay
®æi gi¸ trÞ cña mét biÕn do ®èi t−îng Application l−u tr÷
Unlock Ph−¬ng thøc Unlock cho phÐp c¸c client cã thÓ söa ®æi c¸c
thuéc tÝnh cña ®èi t−îng Application .
4.6.6 §èi t−îng Session
§èi t−îng Sesion ®−îc dïng ®Ó l−u tr÷ th«ng tin cÇn thiÕt cho mét phiªn lµm
viÖc cña ng−êi dïng cô thÓ. C¸c biÕn l−u tr÷ trong ®èi t−îng Session kh«ng bÞ mÊt
khi ng−êi dïng truy cËp c¸c trang Web kh¸c trong øng dông. Thay vµo ®ã c¸c biÕn
nµy tån t¹i trong toµn bé phiªn lµm viÖc cña ng−êi dïng.
Khi mét ng−êi dïng míi yªu cÇu mét trang Web tõ øng dông, Web server tù
®éng t¹o mét ®èi t−îng Session vµ server sÏ ph¸ huû ®èi t−îng Session khi phiªn
lµm viÖc kÕt thóc hoÆc bÞ huû bá. Cã thÓ ®Æt thêi gian tån t¹i cho mét phiªn lµm
viÖc tuy nhiªn gi¸ trÞ ngÇm ®Þnh cho mét phiªn lµm viÖc tån t¹i lµ 20 phót.
a. TËp hîp:
™ Session.Contents(Key)
Chøa danh s¸ch c¸c môc ®· khëi t¹o vµ thªm vµo b»ng ®èi t−îng session.
Kh«ng ph¶i khëi t¹o b»ng thÎ <object>
VÝ dô:
<%
Session("name") = "Application Maker"
Session("publishdate") = "05/01/99"
Session("author") = "ISSI"
Set Session("Obj1") = Server.CreateObject("ADODB.Connection")
For Each Item in Session.Contents
If IsObject( Session.Contents(Item)) Then
Response.Write Item & " is an object.<BR>"
Else
Response.Write Item & "=" & Session.Contents(Item) & "<BR>"
End If
Next
%>

KÕt qu¶:
NAME=Application Maker
http://www.ebook.edu.vn 107

PUBLISHDATE=05/01/99
AUTHOR=ISSI
OBJ1 is an object.
™ Session.StaticObjects(Key)
Chøa danh s¸ch c¸c môc võa ®−îc khëi t¹o vµ ®−a vµo ®èi t−îng Session nhê
sö dông thÎ HTML <OBJECT>.
VÝ dô:
----------Global.asa-------------
<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo
PROGID="MSWC.MyInfo">
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Session
ID=MyConnection PROGID="ADODB.Connection">
</OBJECT>
<OBJECT RUNAT=Server SCOPE=Session ID=MyADRot
PROGID="MSWC.ADRotator">
</OBJECT>

-----------File.asp-----------------
<%
For Each Item In Session.StaticObjects
Response.Write Item & "<BR>"
Next
%>

KÕt qu¶:
MyInfo
MyConnection
MyADRot
b. Sù kiÖn:
Còng nh− ®èi t−îng Application, ®èi t−îng Session cã hai sù kiÖn lµ
Session_OnStart( ®−îc kÝch ho¹t khi mçi khi mét phiªn lµm viÖc b¾t ®Çu) vµ
Session_OnEnd (®−îc kÝch ho¹t khi kÕt thóc mét phiªn lµm viÖc)
Có ph¸p
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
' N¬i chÌn ®o¹n Script cÇn thiÕt cho viÖc khëi t¹o mét phiªn
lµm viÖc
End Sub
Sub Session_OnEnd
' N¬i chÌn ®o¹n Script cÇn thiÕt khi mét phiªn lµm viÖc kÕt thóc
End Sub
</SCRIPT>
http://www.ebook.edu.vn 108

c. Thuéc tÝnh:
Thuéc tÝnh ý nghÜa
SessionID Tr¶ vÒ gi¸ trÞ nhËn biÕt duy nhÊt tõng phiªn lµm viÖc cña mét
ng−êi sö dông
Timeout Kho¶ng thêi gian ngÇm ®Þnh lµ 20’ cho sù tån t¹i cña mét phiªn
lµm viÖc trong mét øng dông. M¸y chñ Web sÏ duy tr× th«ng
tin phiªn lµm viÖc cña ng−êi sö dông mµ kh«ng ®−a ra yªu cÇu
hay lµm míi l¹i mét trang.
d. Ph−¬ng thøc:
™ Abandon: Huû bá mét ®èi t−îng Session vµ gi¶i phãng c¸c biÕn trong
®èi t−îng Session.
™ Session.Contents.Remove (Name|Integer)
Dïng ®Ó xãa tÊt c¶ c¸c môc trong collection Session.Contents
Cã 2 lùa chän tham sè Name hoÆc Integer
• Name chØ tªn cña môc cÇn xãa
• Integer lµ sè chØ vÞ trÝ (b¾t ®Çu tõ 0) cña môc cÇn xãa.
™ Session.Contents.RemoveAll
Xãa tÊt c¶ c¸c môc trong session.contents
VÝ dô:
<%Session.Contents.RemoveAll( )%>
Chó ý: Cã thÓ l−u tr÷ c¸c gi¸ trÞ trong ®èi t−îng Session. Th«ng tin l−u tr÷
trong ®èi t−îng Session cã ph¹m vi phiªn lµm viÖc vµ cã thÓ sö dông ®−îc trong
suèt mét phiªn lµm viÖc.
4.7 C©u hái vµ bµi tËp ch−¬ng 4
4.7.1 C©u hái «n tËp
1. ASP lµ viÕt t¾t cña côm tõ nµo?
a. All Standard Pages
b. Active Server Pages
c. Active Standard Pages
d. A Server Page
2. Néi dung cña ®o¹n script ASP ®−îc ®Þnh nghÜa bëi cÆp thÎ nµo d−íi ®©y?
a. <&>...</&>
b. <%>...</%>
c. <script>...</script>
d. <%...%>
3. IIS lµ g×? Nã ho¹t ®éng nh− thÕ nµo?
4. C¸c b−íc thiÕt lËp th− môc ¶o trong IIS.
5. C¸c lÖnh c¬ b¶n cña ASP.
4.7.2 Bµi tËp vÒ c¸c cÊu tróc ®iÒu khiÓn vµ vßng lÆp.
1. ViÕt ®o¹n m· ch−¬ng tr×nh ASP dïng cÊu tróc Select...Case ®Ó hiÓn thÞ ra
mµn h×nh ngµy hiÖn hµnh trong tuÇn b»ng tiÕng ViÖt.
http://www.ebook.edu.vn 109

2. ViÕt ®o¹n m· ch−¬ng tr×nh ASP dïng vßng lÆp Do...Loop ®Ó viÕt ra mµn
h×nh 10 dßng ch÷ “Hello world” cã kÝch th−íc t¨ng dÇn.
4.7.3 Bµi tËp vÒ c¸c ®èi t−îng.
1. ViÕt ra mµn h×nh c©u “Hello world”
2. ViÕt mét form lÊy ý kiÕn cña ng−êi sö dông vÒ trang web cña m×nh, råi
hiÓn thÞ c¸c th«ng tin ng−êi sö dông ®iÒn vµo ra mµn h×nh.
3. ThiÕt kÕ vµ cµi ®Æt trang Web hiÓn thÞ m¸y tÝnh tay víi c¸c phÐp to¸n
céng, trõ, nh©n, chia, lòy thõa, c¨n bËc hai, b×nh ph−¬ng, nghÞch ®¶o.
4. ViÕt mét ®o¹n code dïng ®Ó ®Õm sè lÇn truy cËp vµo mét trang Web. Sau
®ã nhóng vµo trang Web ®· lµm ë bµi 2.
5. ThiÕt kÕ vµ cµi ®Æt trang Web hiÓn thÞ lÞch (calendar). Trang Web ph¶i cho
phÐp ng−êi dïng xem lÞch th¸ng cña mét n¨m nµo ®ã, xem lÞch cña c¸c th¸ng tr−íc
vµ sau th¸ng hiÖn t¹i cña n¨m hiÖn t¹i.
6. ThiÕt kÕ vµ cµi ®Æt trang Web hiÓn thÞ hÖ thèng c©y th− môc cña m¸y chñ.
http://www.ebook.edu.vn 110

Ch−¬ng 5
KÕt nèi c¬ së d÷ liÖu trong lËp tr×nh Web ®éng víi ASP
5.1 Kh¸i niÖm vÒ ADO
ActiveX Data Object lµ líp ®èi t−îng COM (Compenent Object Model) tËp
trung vµo xö lý d÷ liÖu th«ng qua OLEDB cña Windows. ADO thiÕt kÕ cho môc
®Ých truy xuÊt d÷ liÖu tæng qu¸t kh«ng chØ dïng ®Ó truy xuÊt d÷ liÖu thuÇn tuý mµ
cßn xö lý ®−îc c¶ d÷ liÖu file hay bÊt kú lo¹i d÷ liÖu nµo cã hç trî c¬ chÕ cho phÐp
giao tiÕp th«ng qua OLEDB.
M« h×nh kiÕn tróc cña ADO t−¬ng t¸c gi÷a øng dông vµ nguån d÷ liÖu:

VC++ VB Application
Script Java

ADO

OLEDB

E-mail CSDL File


Data Store

H×nh 5.1 M« h×nh kiÕn tróc cña ADO.


5.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider)
Trong b−íc lËp tr×nh, ch−¬ng tr×nh viÕt ra chÝnh lµ tr×nh tiªu thô d÷ liÖu bëi
nã cÇn truy xuÊt vµo c¸c nguån d÷ liÖu ®Ó xö lý. Cßn tr×nh cung cÊp lµ tËp lÖnh cho
phÐp truy xuÊt vµo nguån d÷ liÖu theo c¸ch ®Æc tr−ng cña chóng. Provider cho phÐp
giao tiÕp gi÷a nguån d÷ liÖu vµ tÇng ®iÒu khiÓn OLEDB. Vµ ADO chØ trao ®æi víi
nguån d÷ liÖu th«ng qua OLEDB mµ kh«ng cÇn quan t©m tíi c¸ch thøc lµm viÖc
cña Provider. §Ó gióp OLEDB biÕt ®−îc Provider nµo cÇn ph¶i giao tiÕp, khi më
kÕt nèi ADO cÇn chØ ®Þnh tr×nh cung cÊp d÷ liÖu Provider t−¬ng øng. Microsoft
cung cÊp s½n mét sè Provider cho phÐp truy xuÊt dÔ dµng vµo c¸c nguån d÷ liÖu
®ang th«ng dông nh−:
• Jet OLEDB 4.0 – C¬ së d÷ liÖu Access
• DTS Packages – DÞch vô chuyÓn ®æi d÷ liÖu trong SQL Server
• ODBC Driver – Provider ch phÐp truy xuÊt nguån d÷ liÖu th«ng qua ODBC
• SQL Server – C¬ së d÷ liÖu SQL Server
• Oracle – C¬ së d÷ liÖu Oracle
• Simple Provider – C¬ së d÷ liÖu d¹ng Text
http://www.ebook.edu.vn 111

5.3 M« h×nh ®èi t−îng ADO


5.3.1 §èi t−îng kÕt nèi (Connection)
Cho phÐp thùc hiÖn viÖc më kÕt nèi ®Õn nguån d÷ liÖu cÇn truy xuÊt. Th«ng
qua Connection chØ cÇn chØ ®Þnh tr×nh cung cÊp OLEDB Provider sÏ dïng ®Ó tiÕp
cËn d÷ liÖu. C¸c th«ng tin kÕt nèi bæ sung kh¸c nh− username, password, server
name,.. th−êng ®−îc l−u vµo mét chuçi gäi lµ chuçi kÕt nèi (Connection String).
Chó ý: Cã thÓ kÕt nèi vµ truy xuÊt vµo nguån d÷ liÖu mµ kh«ng b¾t buéc ph¶i
dïng ®èi t−îng Connection. C¸ ®èi t−îng kh¸c nh− Command, RecordSet,
Record,... còng cho phÐp më trùc tiÕp kÕt nèi. Tuy nhiªn sö dông ®èi t−îng
Connection sÏ cho phÐp b¹n t¸ch biÖt thao t¸c kÕt nèi vµ thao t¸c truy cËp c¬ së d÷
liÖu. H¬n n÷a ®èi t−îng Connection cßn cung cÊp thªm mét sè chøc n¨ng chuyªn
dông kh¸c nh− cho phÐp thùc thi c©u lÖnh SQL t¸c ®éng vµo d÷ liÖu nh− Insert,
Update, Delete, gäi thñ tôc Procedure Store,... hoÆc kiÓm so¸t giao t¸c transaction
nh− Rollback, commit.
5.3.2 §èi t−îng Command:
§èi t−îng nµy dïng cho môc ®Ých thùc thi c©u lÖnh tèt h¬n Connection. Cho
phÐp b¹n chuyÓn tham sè vµo c¸c lÖnh thùc thi SQL. Tham sè cã thÓ chØ ®Þnh kiÓu
hoÆc gi¸ trÞ t−êng minh. C¸c tham sè cã thÓ nhËn trÞ tr¶ vÒ sau khi thùc
thi..Command cã thÓ dïng cho c¶ 2 môc ®Ých: thùc thi c©u lÖnh SQL kh«ng cÇn
nhËn kÕt qu¶ tr¶ vÒ nh− Insert, Update, Delete, Procedure Store, hoÆc thùc thi c¸c
lÖnh tr¶ vÒ tËp RecordSet nh− lÖnh Select.
5.3.3 §èi t−îng RecordSet:
Lµ ®èi t−îng sö dông th−êng xuyªn trong ADO. Cung cÊp kÕt qu¶ tr¶ vÒ tõ
c©u lÖnh truy vÊn mét tËp c¸c b¶n ghi. Trang ASP cã thÓ dïng vßng lÆp ®Ó duyÖt
qua c¸c b¶n ghi nµy vµ hiÓn thÞ d÷ liÖu kÕt xuÊt ra trang Web phÝa tr×nh duyÖt.
Ngoµi ra RecordSet cßn cho phÐp thùc hiÖn läc d÷ liÖu tõ tËp c¸c b¶n ghi, truy xuÊt
®Õn tong tr−êng cô thÓ cña b¶n ghi th«ng qua ®èi t−îng Field hoÆc danh s¸ch c¸c
tr−êng trong b¶n ghi th«ng qua ®èi t−îng Fields
5.4 KÕt nèi víi nguån d÷ liÖu
Chuçi kÕt nèi ®−îc dïng ®Ó cung cÊp th«ng tin cho ®èi t−îng Connection
biÕt ®Æc ®iÓm cña c¬ së hay nguån d÷ liÖu mµ ADO cÇn truy xuÊt.
5.4.1 T¹o mét ODBC DSN
Tr−íc khi t¹o c¸c Script truy xuÊt c¬ së d÷ liÖu (CSDL), ta cÇn chØ dÉn cho
ADO x¸c ®Þnh nguån d÷ liÖu cÇn truy xuÊt vµ c¸ch thøc liªn kÕt CSDL.
Phæ biÕn vµ ®¬n gi¶n nhÊt ®ã lµ sö dông tªn nguån d÷ liÖu (Data Source
Name-DSN) ®Ó ®Þnh vÞ vµ cÊu h×nh nguån d÷ liÖu t−ong thÝch chuÈn ODBC. Víi
ODBC b¹n cã thÓ lùa chän c¸c kiÓu DNS ®Ó t¹o, ®ã lµ: User, System hoÆc File. C¸c
DNS User vµ System th−êng tró trong registry cña hÖ ®iÒu hµnh WindowsNT.
System DNS cho phÐp tÊt c¶ ng−êi sö dông truy nhËp vµo Server ®ã ®Òu cã thÓ truy
xuÊt mét CSDL, trong khi ®ã User DNS h¹n chÕ ®èi víi mçi ng−êi sö dông ®¨ng
nhËp vµo Server; File DSN sÏ l−u th«ng tin d−íi d¹ng file cho phÐp nhiÒu ng−êi sö
dông truy xuÊt CSDL vµ dÔ dµng chuyÓn tõ Server nµy sang Server kh¸c chØ b»ng
viÖc copy c¸c tÖp DSN. Chóng ta cã thÓ t¹o ra DSN b»ng c¸ch:
• Vµo trong Start\Control Panel, click chuét vµo biÓu t−îng ODBC, chän
http://www.ebook.edu.vn 112

mét d¹ng DSN.


• Click Add, chän mét tr×nh ®iÒu khiÓn d÷ liÖu(.MDB, SQL)
• Theo c¸c chØ dÉn trªn mµn h×nh ®Ó cÊu h×nh DSN cho CSDL
Sau ®©y lµ mét sè kÕt nèi ®Õn c¸c lo¹i CSDL th«ng dông:
5.4.2 C¬ së d÷ liÖu MS Access
connStr=“Provider=Microsoft.JetOLEDB.4.0; Data Source =
C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;
Persist Security Info=False”
set conn=Server.CreateObject(“ADODB.Connection”)
conn.open connStr
5.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC
connStr=“Driver=Microsoft Access Driver (*.mdb); DBQ=C:\
Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;”
set conn=Server.CreateObject(“ADODB.Connection”)
conn.open connStr
5.4.4 C¬ së d÷ liÖu MS SQL Server
connStr=“Provider=SQLOLEDB.1;Persist Security Info=False;
User ID=sa;Initial Catalog=AdvWorks;Data Source=localhost”
set conn=Server.CreateObject(“ADODB.Connection”)
conn.open connStr
NÕu nguån d÷ liÖu hç trî OLEDB ta cã thÓ sö dông ADO th«ng qua ODBC
theo c¸ch tæng qu¸t:
connStr="Provider=MSDASQL.1;Persist Security Info=False;
Data Source=Test"
set conn=Server.CreateObject(“ADODB.Connection”)
conn.open connStr
Trong ®ã Test lµ DataSource thiÕt lËp trong System DNS cña ODBC
5.5 Sö dông ®èi t−îng RecordSet
5.5.1 T¹o RecordSet:
set rs=Server.CreateObject(“ADODB.RecordSet”)
§Ó trÝch rót d÷ liÖu tõ mét hoÆc nhiÒu b¶ng nµo ®ã trong c¬ së d÷ liÖu, ta
th−êng kÕt hîp ®èi t−îng Connection vµo c©u lÖnh SQL Select trong ph−¬ng thøc
Open cña RecordSet:
rs.open SQLCommand, Conn
5.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi:
Do While not rs.eof
Rs.fields](“field_name”)
rs.movenext : di chuyÓn con trá cña RecordSet ®Õn b¶n ghi kÕ tiÕp
loop
rs.close
http://www.ebook.edu.vn 113

C¸c c¸ch truy cËp hîp lÖ vµ t−¬ng ®−¬ng:


Rs(“field_name”)
Rs.fields(“field_name”)
Rs.fields(“field_name”).value
Rs(1).value
Rs.fields(1).Value
NÕu muèn duyÖt qua tÊt c¶ c¸c tr−êng trong b¶n ghi cã thÓ dïng lÖnh:
For each Fld in rs.fields
Response.write fld.name + “:” + fld.value + “<br>”
Next
5.5.3 Läc qua c¸c b¶n ghi trong RecordSet
Cã thÓ sö dông mÖnh ®Ò Where cña c©u lÖnh Select hoÆc cã thÓ sö dông
thuéc tÝnh Filter cña RecordSet ®Ó chØ ®Þnh ®iÒu kiÖn läc sau khi ®· trÝch xuÊt d÷
liÖu.
VÝ dô:
sqlStr=”Select * from Products”
rs.open sqlStr,conn
rs.filter= “ productCode=‘” & SpecialCode & “’”
Thuéc tÝnh Filter cho phÐp sö dông mÖnh ®Ò läc gÇn gièng víi mÖnh ®Ò
Where
5.5.4 Ph©n trang víi ®èi t−îng RecordSet:
§èi t−îng RecordSet cung cÊp 3 thuéc tÝnh quan träng sau ®Ó sö dông ph©n
trang:
PageSize: KÝch th−íc b¶n ghi trong mét trang
PageCount: Tæng sè trang RecordSet truy vÊn ®−îc
AbsolutePage: ChØ ®Þnh trang hiÖn hµnh ®ang cÇn ®−îc ®äc
§Ó RecordSet cã kh¶ n¨ng ph©n trang, cÇn thiÕt lËp thªm tham sè cho
RecordSet tr−íc khi thùc hiÖn truy vÊn:
Rs.CursorLocation=3 ‘ Cã thÓ sö dông h»ng adUseClient
Rs.PageSize=15 ‘ 15 b¶n ghi trong mét trang
TiÕt theo më ®èi t−îng RecordSet truy vÊn d÷ liÖu víi tuú chän lµ c¸c h»ng
adOpenForwardOnly(0), adLockReadOnly (1) truy cho ph−¬ng thøc Open nh− sau:
Rs.open sqlStr, Conn, 0,1
C«ng viÖc sau cïng lµ ®Þnh vÞ trang th«ng qua thuéc tÝnh AbsolutePage. Ta
l−u l¹i vÞ trÝ hiÖn hµnh cña trang d÷ liÖu th«ng qua gi¸ trÞ chøa trong thÎ <input
hidden>. Gi¸ trÞ nµy sÏ ®−îc chuyÓn vÒ tr×nh chñ mçi khi ng−êi dïng kÝch vµo.
XÐt vÝ dô sau:
<%sqlStr="SELECT * FROM Products "
' page navigate session here ...........
Dim lCurrentPage
Dim lPageCount
lCurrentPage = CLng(Request("page"))
If lCurrentPage < 1 Then
http://www.ebook.edu.vn 114

lCurrentPage = 1
End If
rs.CursorLocation = 3
rs.PageSize = 15
rs.Open sqlStr, conn, 0, 1 'Const adOpenForwardOnly=0,
adLockReadOnly = 1
lPageCount = rs.PageCount
If lCurrentPage > lPageCount Then
lCurrentPage = lPageCount
End If
if not rs.eof then
rs.AbsolutePage = lCurrentPage
end if
call ShowPageNavigation(lCurrentPage,lPageCount)
Do While rs.AbsolutePage = lCurrentPage And Not rs.Eof
Response.write rs("ProductName")
rs.movenext
loop %>
<form name="viewFrm" >
<input type=hidden name=page >
</form>
<%
Sub ShowPageNavigation (lCurrentPage,lPageCount)
If lCurrentPage <> 1 AND lCurrentPage <> 0 Then
%>
<A HREF="javascript:setValue('<%= lCurrentPage - 1 %>');
">Previous
<% Else %>
Previous
<% End If%>
<%If lCurrentPage < lPageCount Then%>
<A HREF="javascript:setValue('<%= lCurrentPage + 1%>');
">Next
<% Else %>
Next
<% End If%><BR>
Page <B> <%= lCurrentPage%> </B>
<%= lPageCount%>
<%End Sub %>
<script language=javascript>
function setValue(page){
http://www.ebook.edu.vn 115

viewFrm.page.value= page;
viewFrm.submit();
}
</script>
5.6 HiÖu chØnh c¸c b¶n ghi
5.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet:
Thªm míi b¶n ghi: §Ó thªm míi vµo b¶ng d÷ liÖu qu¶n lý bëi ph−¬ng thøc
RecordSet sö dông ph−¬ng thøc AddNew
sqlStr=”Select * From Accounts”
rs.open sqlStr,Conn
‘ Thªm tμi kho¶n míi vμo b¶ng Accounts
rs.Addnew
‘g¸n gi¸ trÞ cho b¶n ghi
with rs
.fields(“username”)= ‘New User’
.fields(“password”)=’***’
end with
‘l−u l¹i
rs.update
‘ChØnh söa néi dung trong b¶n ghi hiÖn hμnh:
sqlStr=”Select * From Accounts”
rs.open sqlStr,Conn
with rs
.fields(“password”)=’newpassword’
end with
‘l−u l¹i
rs.update
‘Xo¸ b¶n ghi hiÖn hμnh:
sqlStr=”Select * From Accounts where username= ‘” &mkuser &”’”
rs.open sqlStr,Conn
rs.delete
5.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection
sqlStr=”delete * from Accounts where username= ‘” &mkuser &”’”
Conn.execute sqlStr
5.7 Sö dông ®èi t−îng Command
5.7.1 T¹o ®èi t−îng Command:
set cmdUpdate=Server.CreateObject(“ADODB.Command”)
5.7.2 Sö dông ®èi t−îng Command:
sqlUpdate=“update accounts set password = ‘abc’ where
username=”‘” & username & “’”
http://www.ebook.edu.vn 116

cmdUpdate.ActiveConnection=strConn
cmdUpdate.CommandText=strUpdate
cmdUpdate.CommandType=adcmdText
cmdUpdate.Execute
§èi t−îng Command còng ®−îc dïng ®Ó nhËn kÕt qu¶ tr¶ vÒ tõ c©u lÖnh
Select hoÆc tõ mét tªn b¶ng d÷ liÖu, vÝ dô ®Ó lÊy toµn bé néi dung b¶ng d÷ liÖu
Accounts, ta chØ cÇn chØ ra tªn b¶ng vµ më RecordSet dùa vµo ®èi t−îng Command:
cmdTable.ActiveConnection=strConn
cmdTable.CommandText=”Accounts”
cmdTable.CommandType=adCmdTable
rs.open cmdTable
5.8 Bµi tËp ch−¬ng 5
Bµi 1: Chän chñ ®Ò ®Ó thiÕt kÕ website
1. Website vÒ dÞch vô viÖc lµm.
2. Website vÒ dÞch vô nhµ ®Êt (http://www.nhadat.com).
3. Website b¸o ®iÖn tö (http://vnexpress.net )
4. Website tr−êng häc.
5. Website dÞch vô gi¶i trÝ nh− ECards, §iÖn hoa, ...
Bµi 2: X©y dùng m« h×nh øng dông b¸n hµng qua m¹ng, dùa trªn c¬ së d÷
liÖu, qua ®ã vËn dông c¸c ®èi t−îng cña ADODB ®Ó cã thÓ kÕt nèi víi c¬ së dù liÖu
sao cho cã thÓ thÓ hiÖn vµ cung cÊp ®−îc th«ng tin cho kh¸ch hµng. Chñ yÕu giíi
thiÖu c¸ch thøc thiÕt kÕ mét øng dông Web cã c¸c chøc n¨ng sau:
• Xem th«ng tin chi tiÕt cña mét mÆt hµng.
• Lùa chän hµng, thªm vµo, bít ra khái giá hµng.
• TÝnh tiÒn.
Bµi 3: Bµi tËp tæng hîp, thiÕt kÕ mét sè Web site theo mÉu:
1. ThiÕt kÕ website theo mÉu sau (http://www.flowers.com)
http://www.ebook.edu.vn 117

2. ThiÕt kÕ website theo mÉu sau (http://shopping.yahoo.com)

3. ThiÕt kÕ website theo mÉu sau (http://www.is-edu.hcmuns.edu.vn)


http://www.ebook.edu.vn 118

4. ThiÕt kÕ website theo mÉu sau (http://vnexpress.net)

5. ThiÕt kÕ website theo mÉu sau (http://www.codeproject.com)


http://www.ebook.edu.vn 119

Tμi liÖu tham kh¶o


1. §ç mai h−¬ng: X©y dùng Web ®éng dùa trªn c«ng nghÖ ASP
Häc viÖn kü thuËt qu©n sù - 2000.
2. nguyÔn ph−¬ng lan: ASP 3.0/ASP.NET
Nhµ xuÊt b¶n Lao ®éng x· héi - 2003.
3. ph¹m phó tµi: Javascript
Mediaspace Club Ên hµnh néi bé - 2003.
4. nguyÔn thÞ thanh tróc: Gi¸o tr×nh thiÕt kÕ vµ lËp tr×nh Web víi
ASP
§¹i häc quèc gia Tp HCM - 2003.
5. nguyÔn h÷u tuÊn: Gi¸o tr×nh thiÕt kÕ Web
§¹i häc quèc gia Hµ Néi - 2001.
6. Gi¸o tr×nh x©y dùng vµ qu¶n trÞ Website
Trung t©m ®iÖn to¸n vµ truyÒn sè liÖu Khu vùc I - 2003.
7. Nhãm t¸c gi¶ ELICOM: X©y dùng Web ®éng víi ASP
Nhµ xuÊt b¶n Thèng kª - 2000.
8. MICHAEL CORNING: Working with Active Server Page
Que Corporation - 1997.
9. Learning VBScript
XtraNet Communications INC, - 2000
http://www.ebook.edu.vn 120

Môc lôc
Lêi nãi ®Çu ..........................................................................................................................1
Ch−¬ng 1 Giíi thiÖu chung.....................................................................................2
1.1 M¹ng m¸y tÝnh .............................................................................................................2
1.1.1 §Þnh nghÜa..................................................................................................................2
1.1.2 Ph©n lo¹i ....................................................................................................................2
1.2 Internet..........................................................................................................................3
1.3 C¸c giao thøc Internet .................................................................................................4
1.3.1 Giao thøc ®iÒu khiÓn phiªn truyÒn............................................................................4
1.3.2 Giao thøc Internet......................................................................................................4
1.3.3 Giao thøc gam d÷ liÖu ng−êi dïng............................................................................5
1.3.4 Giao thøc ph©n gi¶i ®Þa chØ .......................................................................................5
1.3.5 Giao thøc hÖ thèng tªn miÒn .....................................................................................5
1.3.6 Giao thøc chuyÓn th− ®¬n gi¶n .................................................................................6
1.3.7 Giao thøc truyÒn tËp tin.............................................................................................6
1.3.8 HTTP - HyperText Transfer Protocol.......................................................................6
1.4 §Þa chØ IP ......................................................................................................................6
1.5 C¸c kh¸i niÖm kh¸c......................................................................................................7
1.5.1 URL.............................................................................................................................7
1.5.2 Hyperlink (siªu liªn kÕt) ............................................................................................7
1.5.3 Web Browser (tr×nh duyÖt web) .................................................................................8
1.5.4 Web Server (m¸y chñ Web) .......................................................................................8
1.5.5 Web Site ......................................................................................................................9
1.5.6 World Wide Web.........................................................................................................9
1.5.7 Ph©n biÖt Inetrnet vµ WWW......................................................................................9
1.5.8 Web page ....................................................................................................................9
1.6 C¸ch thøc tæ chøc vµ x©y dùng mét Web Site...........................................................9
1.7 Ph©n lo¹i Web ............................................................................................................10
1.7.1 Static pages (Web tÜnh ):..........................................................................................10
1.7.2 Form pages (MÉu biÓu):..........................................................................................10
1.7.3 Dynamic Web (Web ®éng) ......................................................................................10
1.8 C©u hái vµ bµi tËp ch−¬ng 1......................................................................................10
Ch−¬ng 2 LËp tr×nh Web víi ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n......11
2.1 Kh¸i niÖm ng«n ng÷ HTML .....................................................................................11
2.2 LËp tr×nh web víi ng«n ng÷ HTML.........................................................................11
2.2.1 C¸c thÎ ®Þnh d¹ng cÊu tróc cña HTML..................................................................11
2.2.2 C¸c thÎ ®Þnh d¹ng khèi............................................................................................13
2.2.3 C¸c thÎ ®Þnh d¹ng danh s¸ch ..................................................................................14
2.2.4 C¸c thÎ ®Þnh d¹ng ký tù ...........................................................................................15
2.2.5 C¸c thÎ chÌn ©m thanh, h×nh ¶nh...........................................................................21
2.2.6 ChÌn b¶ng ................................................................................................................25
2.2.7 Sö dông Khung – Frame .........................................................................................26
2.2.8 FORMS.....................................................................................................................30
2.3 DHTML (Dynamic HTML) ......................................................................................33
2.3.1 §Þnh nghÜa: ..............................................................................................................33
2.3.2 §Æc ®iÓm...................................................................................................................33
http://www.ebook.edu.vn 121

2.3.3 Mét sè hiÖu øng DHTML ........................................................................................34


2.4 C©u hái vµ bµi tËp ch−¬ng 2......................................................................................35
Ch−¬ng 3 Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web..............................37
3.1 JavaScript ...................................................................................................................37
3.1.1 Tæng quan ................................................................................................................37
3.1.2 Sö dông JavaScript ..................................................................................................39
3.1.3 C¸c kiÓu d÷ liÖu trong JavaScript:..........................................................................43
3.1.4 T¹o biÕn trong JavaScript: ......................................................................................43
3.1.5 Lµm viÖc víi biÕn vµ biÓu thøc:...............................................................................44
3.1.6 CÊu tróc ®iÒu kiÖn if – else ......................................................................................46
3.1.7 Hµm vµ dèi t−îng.....................................................................................................49
3.1.8 T¹o ®èi t−îng trong JavaScript...............................................................................52
3.1.9 Sù kiÖn trong JavaScript .........................................................................................57
3.1.10 Sö dông vßng lÆp trong JavaScript .......................................................................61
3.1.11 Sö dông ®èi t−îng Windows..................................................................................62
3.1.12 Lµm viÖc víi status bar ..........................................................................................64
3.1.13 Më vµ ®ãng c¸c cöa sæ...........................................................................................64
3.1.14 Sö dông ®èi t−îng string .......................................................................................66
3.2 VBScript......................................................................................................................66
3.2.1 VBScript lµ g×? .........................................................................................................66
3.2.2 BiÕn vµ ph¹m vi biÕn................................................................................................66
3.2.3 C¸c kiÓu d÷ liÖu........................................................................................................68
3.3 C©u hái vµ bµi tËp ch−¬ng 3......................................................................................75
3.3.1 C©u hái «n tËp ..........................................................................................................75
3.3.2 Bµi tËp lËp tr×nh víi c¸c ng«n ng÷ kÞch b¶n ..........................................................75
Ch−¬ng 4 LËp tr×nh Web ®éng víi c«ng nghÖ ASP .................................76
4.1 Mét sè kh¸i niÖm c¬ b¶n vÒ ASP ..............................................................................76
4.1.1 Kh¸i niÖm Web ®éng................................................................................................76
4.1.2 ASP lµ g×? .................................................................................................................76
4.1.3 Scripting? .................................................................................................................77
4.1.4 T¹o vµ xem mét file ASP .........................................................................................78
4.1.5 Server-side Includes: ...............................................................................................81
4.2 ¦u ®iÓm cña viÖc sö dông ASP t¹o Web ®éng ........................................................82
4.2.1 §¬n gi¶n, dÔ häc vµ hiÖu qu¶:.................................................................................82
4.2.2 B¶o mËt ®−îc m∙: ....................................................................................................82
4.2.3 B¶o tr× dÔ dµng:........................................................................................................82
4.3 Cµi ®Æt IIS vµ t¹o th− môc ¶o cho øng dông...........................................................83
4.3.1 1. Cµi ®Æt IIS ............................................................................................................83
4.3.2 T¹o th− môc ¶o: .......................................................................................................83
4.4 CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP .............................................................85
4.4.1 C¸c thµnh phÇn ®−îc dïng trong trang ASP .........................................................85
4.4.2 BiÕn trong ASP.........................................................................................................85
4.4.3 C¸c lÖnh c¬ b¶n cña ASP ........................................................................................85
4.4.4 Vßng lÆp For: ...........................................................................................................87
4.4.5 C©u lÖnh lÆp kh«ng x¸c ®Þnh: .................................................................................87
4.5 X©y dùng c¸c hµm vµ thñ tôc trong ASP: ...............................................................87
4.6 Sö dông c¸c ®èi t−îng cña ASP ®Ó trao ®æi th«ng tin gi÷a Client vµ Server.......88
http://www.ebook.edu.vn 122

4.6.1 Giíi thiÖu c¸c ®èi t−îng chÝnh cña ASP: ...............................................................88
4.6.2 §èi t−îng Request....................................................................................................89
4.6.3 §èi t−îng Response .................................................................................................94
4.6.4 §èi t−îng Server ......................................................................................................99
4.6.5 §èi t−îng Application............................................................................................103
4.6.6 §èi t−îng Session ..................................................................................................106
4.7 C©u hái vµ bµi tËp ch−¬ng 4....................................................................................108
4.7.1 C©u hái «n tËp ........................................................................................................108
4.7.2 Bµi tËp vÒ c¸c cÊu tróc ®iÒu khiÓn vµ vßng lÆp. ...................................................108
4.7.3Bµi tËp vÒ c¸c ®èi t−îng..........................................................................................109
Ch−¬ng 5 KÕt nèi cSDL trong lËp tr×nh Web ®éng víi ASP............110
5.1 Kh¸i niÖm vÒ ADO ...................................................................................................110
5.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider) .....................................110
5.3 M« h×nh ®èi t−îng ADO..........................................................................................111
5.3.1 §èi t−îng kÕt nèi (Connection).............................................................................111
5.3.2 §èi t−îng Command: ............................................................................................111
5.3.3 §èi t−îng RecordSet:.............................................................................................111
5.4 KÕt nèi víi nguån d÷ liÖu ........................................................................................111
5.4.1 T¹o mét ODBC DSN..............................................................................................111
5.4.2 C¬ së d÷ liÖu MS Access........................................................................................112
5.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC ..............................112
5.4.4 C¬ së d÷ liÖu MS SQL Server................................................................................112
5.5 Sö dông ®èi t−îng RecordSet .................................................................................112
5.5.1 T¹o RecordSet:.......................................................................................................112
5.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi:..............................112
5.5.3 Läc qua c¸c b¶n ghi trong RecordSet ...................................................................113
5.5.4 Ph©n trang víi ®èi t−îng RecordSet:....................................................................113
5.6 HiÖu chØnh c¸c b¶n ghi ............................................................................................115
5.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet: ........................................................115
5.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection ..............115
5.7 Sö dông ®èi t−îng Command .................................................................................115
5.7.1 T¹o ®èi t−îng Command:......................................................................................115
5.7.2 Sö dông ®èi t−îng Command: ..............................................................................115
5.8 C©u hái vµ bµi tËp ch−¬ng 5....................................................................................116
Tµi liÖu tham kh¶o .........................................................................................................119
Môc lôc............................................................................................................................120

You might also like