Professional Documents
Culture Documents
vn 1
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.
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
- 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
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:
http://www.tsqtt.edu.vn:8080/~dir1/dir2/dir3/index.html#chapter001
• 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
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>
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>
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>
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>
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>
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>
(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
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
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('<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
VÝ dô:
If (day==“Saturday”) {
document.writeln(“It‘s the weekend”);
}
If (day!=“Saturday”) {
document.writeln(“It‘s not Saturday”);
}
</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
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
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
</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
- ->
</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
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
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
• 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
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 :
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>
</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.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.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
end select
%>
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
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
METHOD=GET METHOD=POST
(Gi¸ trÞ Default)
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>
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>
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: <Table>
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
----------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
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
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
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