P. 1
Http://Www.ebook.edu.Vn

Http://Www.ebook.edu.Vn

|Views: 177|Likes:
Được xuất bản bởibangdt3b
BIGNAB 21/8/09
BIGNAB 21/8/09

More info:

Published by: bangdt3b on Mar 04, 2010
Bản quyền:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/26/2010

pdf

text

original

http://www.ebook.edu.

vn

1
Lêi nãi ®Çu

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

http://www.ebook.edu.vn Ch−¬ng 1

2

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

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

§−êng truyÒn lµ mét hÖ thèng c¸c thiÕt bÞ truyÒn dÉn vËt lý ®Ó chuyÓn t¶i c¸c tÝn hiÖu sãng ®iÖn tõ. §−êng truyÒn vËt lý cã thÓ ph©n lµm 2 lo¹i: - H÷u tuyÕn: c¸p ®ång trôc, c¸p ®«i d©y xo¾n, c¸p quang, c¸p ®iÖn tho¹i, vµ c«ng nghÖ míi nhÊt hiÖn nay lµ c¸p ®iÖn n¨ng th«ng th−êng. - V« tuyÕn: sãng cùc ng¾n (viba), tia hång ngo¹i...
1.1.2 Ph©n lo¹i

HiÖn nay, th«ng th−êng m¹ng m¸y tÝnh ®−îc ph©n lo¹i nh− sau: a. M¹ng côc bé - LAN (Local Area Network) C¸c m¸y tÝnh c¸ nh©n vµ c¸c m¸y tÝnh kh¸c trong ph¹m vi mét khu vùc h¹n chÕ ®−îc nèi víi nhau b»ng c¸c d©y c¸p chÊt l−îng tèt, sao cho nh÷ng ng−êi sö

http://www.ebook.edu.vn

3

dông cã thÓ trao ®æi th«ng tin, dïng chung c¸c thiÕt bÞ ngo¹i vi, vµ sö dông c¸c ch−¬ng tr×nh còng nh− c¸c d÷ liÖu ®· ®−îc l−u tr÷ trong mét m¸y tÝnh dµnh riªng gäi lµ m¸y dÞch vô tÖp. b. M¹ng diÖn réng - WAN (Wide Area Network) C¸c m¹ng lín h¬n, gäi lµ m¹ng diÖn réng (Wide Area Network), dïng c¸c ®−êng d©y ®iÖn tho¹i hoÆc c¸c ph−¬ng tiÖn liªn l¹c kh¸c ®Ó liªn kÕt l¹c kh¸c ®Ó liªn kÕt c¸c m¸y tÝnh víi nhau trong ph¹m vi tõ vµi chôc ®Õn vµi ngµn dÆm. Sù kh¸c nhau gi÷a LAN vµ WAN: kh¸c nhiÒu vÒ quy m« vµ møc ®é phøc t¹p, m¹ng côc bé cã thÓ chØ liªn kÕt vµi ba m¸y tÝnh c¸ nh©n vµ mét thiÕt bÞ ngo¹i vi dïng chung ®¾t tiÒn, nh− m¸y in laser ch¼ng h¹n. C¸c hÖ thèng phøc t¹p h¬n th× cã c¸c m¸y tÝnh trung t©m (m¸y dÞch vô tÖp) vµ cho phÐp nh÷ng ng−êi dïng tiÕn hµnh th«ng tin víi nhau th«ng qua th− ®iÖn tö ®Ó ph©n phèi c¸c ch−¬ng tr×nh nhiÒu ng−êi sö dông, vµ ®Ó th©m nhËp vµo c¸c c¬ së d÷ liÖu dïng chung. c. M¹ng ®« thÞ - MAN (Metropolitan Area Network) Lµ mét m¹ng tr¶i dµi trªn mét kh«ng gian ®Þa lý lín h¬n LAN nh−ng nhá h¬n WAN. MAN th−êng ®−îc sö dông nh− mét m¹ng cña mét thµnh phè, mét khu c«ng nghiÖp. d. M¹ng Intranet Lµ mét m¹ng sö dông néi bé nh− LAN hay WAN thùc hiÖn ®−îc c¸c øng dông, nãi c¸ch kh¸c lµ c¸c dÞch vô cña INTERNET, chñ yÕu lµ dÞch vô WEB víi giao thøc truyÒn tÖp siªu v¨n b¶n - HTTP. e. M¹ng Internet Mét hÖ thèng gåm c¸c m¹ng m¸y tÝnh ®−îc liªn kÕt víi nhau trªn ph¹m vi toµn thÕ giíi, t¹o ®iÒu kiÖn thuËn lîi cho c¸c dÞch vô truyÒn th«ng d÷ liÖu, nh− ®¨ng nhËp tõ xa, truyÒn c¸c tÖp tin, th− tÝn ®iÖn tö, vµ c¸c nhãm th«ng tin. Internet lµ mét ph−¬ng ph¸p ghÐp nèi c¸c m¹ng m¸y tÝnh hiÖn hµnh, ph¸t triÓn mét c¸ch réng r·i tÇm ho¹t ®éng cña tõng hÖ thèng thµnh viªn
1.2 Internet

M¹ng Internet ngµy nay lµ mét m¹ng toµn cÇu, bao gåm hµng chôc triÖu ng−êi sö dông, ®−îc h×nh thµnh tõ cuèi thËp kû 60 tõ mét thÝ nghiÖm cña Bé quèc phßng Mü. T¹i thêi ®iÓm ban ®Çu ®ã lµ m¹ng ARPAnet cña Ban qu¶n lý dù ¸n nghiªn cøu Quèc phßng. ARPAnet lµ mét m¹ng thö nghiÖm phôc vô c¸c nghiªn cøu quèc phßng, mét trong nh÷ng môc ®Ých cña nã lµ x©y dùng mét m¹ng m¸y tÝnh cã kh¶ n¨ng chÞu ®ùng c¸c sù cè (vÝ dô mét sè nót m¹ng bÞ tÊn c«ng vµ ph¸ huû nhng 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 1.3.6 Giao thøc chuyÓn th− ®¬n gi¶n

6

Giao thøc chuyÓn th− ®¬n gi¶n (Simple Mail Transfer Protocol-SMTP) vµ giao thøc th− tÝn phiªn b¶n 3 (Post Office Protocol version 3-POP3) lµ mét giao thøc ®Ó ®Þnh ®−êng th− tÝn th«ng qua c¸c m¹ng. Nã sö dông giao thøc TCP/IP. SMTP kh«ng cung cÊp mét hÖ giao tiÕp th− cho ng−êi dïng. Quy chuÈn, qu¶n lý vµ trao ®æi c¸c th«ng ®iÖp cho ng−êi dïng cuèi (End user), tÊt c¶ ®Òu ph¶i tiÕn hµnh bëi mét phÇn mÒm trao ®æi th− tÝn ®iÖn tö (nh− Outlook, Eudora,...).
1.3.7 Giao thøc truyÒn tËp tin

Giao thøc truyÒn tËp tin (File Transfer Protocol-FTP) lµ mét giao thøc ®Ó dïng chung c¸c tËp tin gi÷a c¸c m¸y chñ nèi m¹ng. FTP cho phÐp ng−êi dïng ®¨ng nhËp c¸c m¸y chñ ë xa. Nh÷ng ng−êi dïng ®· ®¨ng nhËp cã thÓ xem xÐt c¸c th− môc, thao t¸c víi c¸c tËp tin, thùc thi c¸c lÖnh vµ ch¹y c¸c ch−¬ng tr×nh trªn m¸y chñ. FTP còng cã kh¶ n¨ng trao ®æi c¸c tËp tin gi÷a c¸c m¸y chñ kh«ng ®ång bé b»ng c¸ch hç trî mét cÊu tróc yªu cÇu tËp tin ®éc lËp víi c¸c hÖ ®iÒu hµnh cô thÓ.
1.3.8 HTTP - HyperText Transfer Protocol

C¸ch thøc ®Ó tr×nh duyÖt WEB cña ng−êi dïng nãi chuyÖn víi ch−¬ng tr×nh Web server khi ng−êi dïng sö dung WWW. Hypertext: c¸ch thøc liªn kÕt tham chiÕu ®Õn nh÷ng mÉu th«ng tin kh¸c nhau.
1.4 §Þa chØ IP

§Þa chØ IP gióp chóng ta cã thÓ nhËn diÖn ®−îc c¸c m¸y mµ kh«ng cÇn quan t©m ®Õn c«ng nghÖ m¹ng c¬ së. ¦u ®iÓm cña nã lµ cã thÓ ®¬n gi¶n hãa viÖc ®Þnh ®−êng ®i trªn m¹ng. Ngoµi ra, ®Þa chØ IP cßn mang tÝnh toµn côc, nÕu m¹ng côc bé nµo ®ã ®−îc nèi vµo Internet, th× toµn bé c¸c m¸y trong m¹ng ®ã sÏ ®−îc toµn Internet biÕt ®Õn th«ng qua ®Þa chØ IP. §Þa chØ IP ®ang ®−îc sö dông hiÖn t¹i (IPv4) cã 32 bit chia thµnh 4 octet (mçi octet cã 8 bit, t−¬ng ®−¬ng 1 byte ), c¸ch ®Õm ®Òu tõ tr¸i qua ph¶i bit 0 cho ®Õn bit 31, c¸c octet t¸ch biÖt nhau bëi dÊu chÊm (.). Mçi octet cã thÓ biÓu diÔn b»ng c¸c sè thËp ph©n, nhÞ ph©n hoÆc thËp lôc ph©n. §ia chØ IP bao gåm cã 3 thµnh phÇn chÝnh : - Bit nhËn d¹ng líp (Class bit) - §Þnh danh cña m¹ng (Network Identifier – NET ID) - §Þnh danh m¸y chñ (Host Identifier – HOST ID) Do tæ chøc vµ ®é lín cña c¸c m¹ng côc bé trong liªn m¹ng kh¸c nhau, ®Ó thuËn tiÖn cho viÖc qu¶n lý cÊp ph¸t ®Þa chØ IP ng−êi ta chia ®Þa chØ m¹ng thµnh 5 líp. Ký hiÖu lµ A, B, C, D, E 0 NET ID (7 bits) 10 110 1110 11110
NET ID (14 bits) NET ID (21 bits) Multicast (18 bits) Multicast (17 bits) H×nh 1.2. CÊu tróc c¸c líp ®Þa chØ líp IP HOST ID (24 bits) HOST ID (16 bits) HOST ID(8 bits)

http://www.ebook.edu.vn

7

- Líp A: Sö dông 7 bit ®Þnh danh m¹ng vµ 24 bit ®Ó ®Þnh danh c¸c tr¹m. Líp A cho phÐp sö dông 27-2 m¹ng vµ 224 -2 tr¹m trong mçi m¹ng. Líp nµy thÝch hîp cho c¸c m¹ng cã sè tr¹m cùc lín. Tæng sè kho¶ng h¬n 2 tØ ®Þa chØ. Vïng ®Þa chØ líp A cã thÓ sö dông gåm tõ 1.0.0.1 ®Õn 126.255.255.254. - Líp B: Sö dông 14 bit ®Þnh danh m¹ng vµ 16 bit ®Ó ®Þnh danh c¸c tr¹m. Líp B cho phÐp sö dông 214-2 m¹ng vµ 216 -2 tr¹m trong mçi m¹ng. Tæng sè kho¶ng h¬n 1 tØ ®Þa chØ. Vïng ®Þa chØ líp B cã thÓ sö dông tõ 128.0.0.1 ®Õn 191.254.255.254. - Líp C: Sö dông 21 bit ®Þnh danh m¹ng vµ 8 bit ®Ó ®Þnh danh c¸c tr¹m. Líp C cho phÐp sö dông 221-2 m¹ng vµ 28 -2 tr¹m trong mçi m¹ng. Líp nµy thÝch hîp cho c¸c m¹ng nhá, cã sè tr¹m trong mçi m¹ng kh«ng qu¸ 254. Tæng sè kho¶ng h¬n nöa tØ ®Þa chØ. Vïng ®Þa chØ líp B cã thÓ sö dông tõ 192.0.0.1 ®Õn 223.255.254.254. - Líp D: ®Þa chØ líp nµy ®−îc sö dông cho viÖc qu¶ng b¸ (dïng ®Ó göi IP datagram tíi mét nhãm trªn m¹ng sö dông cïng kiÓu ®Þa chØ). - Líp E: ®Þa chØ dù phßng trong t−¬ng lai.
1.5 C¸c kh¸i niÖm kh¸c 1.5.1 URL

URL (Uniform Resource Locator) lµ c¸ch gäi kh¸c cña ®Þa chØ web. URL bao gåm tªn cña giao thøc (th−êng lµ HTTP hoÆc FTP), tiÕp ®Õn lµ dÊu hai chÊm (:), hai dÊu g¹ch chÐo (//), sau ®ã lµ tªn miÒn muèn kÕt nèi ®Õn. VÝ dô vÒ mét URL lµ “http://www.vnn.vn/cntt” sÏ h−íng dÉn tr×nh duyÖt web cña chóng ta sö dông giao thøc giao thøc http ®Ó kÕt nèi ®Õn m¸y tÝnh www.vnn.vn, më tÖp web ngÇm ®Þnh cã tªn lµ default.htm (hay index.htm) trong th− môc cntt. Tªn tÖp tin ngÇm ®Þnh kh«ng cÇn gâ vµo URL. Khi gâ URL còng cã thÓ bá qua tªn giao thøc http v× tr×nh duyÖt lÊy giao thøc http lµm giao thøc ngÇm ®Þnh. URL cã mét có ph¸p ®Æc biÖt. TÊt c¶ c¸c URL ph¶i chÝnh x¸c, thËm chÝ cã mét ký tù sai hay thiÕu mét dÊu chÊm còng kh«ng ®−îc Web Server chÊp nhËn, nhËp sai mét ký tù trong ®Þa chØ URL cã thÓ dÉn chóng ta ®Õn mét Web site cã néi dung kh¸c hoÆc nhËn ®−îc th«ng b¸o Web site ®ã kh«ng tån t¹i.
1.5.2 Hyperlink (siªu liªn kÕt)

Hyperlink (siªu liªn kÕt) lµ mét thµnh phÇn c¬ b¶n vµ rÊt cÇn thiÕt ®èi víi mét siªu v¨n b¶n World Wide Web. Siªu liªn kÕt gióp chóng ta dÔ dµng t×m kiÕm c¸c th«ng tin kh¸c nhau vÒ mét chñ ®Ò. Mét siªu liªn kÕt lµ mét phÇn v¨n b¶n (hay h×nh ¶nh) cña trang Web, mµ khi kÝch vµo ®ã sÏ tù ®éng thùc hiÖn mét trong c¸c thao t¸c sau ®©y: - §−a ®Õn phÇn kh¸c cña trang - §−a ®Õn mét trang web kh¸c trong cïng mét Web site - §−a ®Õn mét trang web kh¸c trong Web site kh¸c - Cho phÐp download mét file - Ch¹y mét øng dông, tr×nh diÔn mét ®o¹n video hoÆc ©m thanh H×nh ¶nh minh ho¹ d−íi ®©y lµ mét phÇn cña trang web. Nh÷ng tõ g¹ch d−íi thÓ hiÖn c¸c liªn kÕt, chØ cÇn nhÊn chuét vµo siªu liªn kÕt, néi dung tµi liÖu mµ nã trá tíi sÏ ®−îc hiÓn thÞ.

http://www.ebook.edu.vn

8

H×nh 1.3. Minh häa mét Hyperlink (siªu liªn kÕt) 1.5.3 Web Browser (tr×nh duyÖt web)

Web Browser lµ mét c«ng cô hay ch−¬ng tr×nh cho phÐp truy xuÊt vµ xem th«ng tin trªn Web. Cã nhiÒu Web Browser ®Ó truy xuÊt Web, mçi tr×nh duyÖt cã nh÷ng ®Æc ®iÓm kh¸c nhau vµ chóng hiÓn thÞ nh÷ng trang Web kh«ng hoµn toµn gièng nhau. C¸c tr×nh duyÖt web bao gåm cã Internet Explorer, Netscape Navigator Communicator, Opera, Mozilla Firefox, ... TÊt c¶ c¸c lo¹i tr×nh duyÖt nµy ®Òu cã c¸c phiªn b¶n kh¸c nhau, vµ c¸c phiªn b¶n míi nhÊt sÏ cã nhiÒu tÝnh n¨ng h¬n c¸c phiªn b¶n tr−íc ®ã. Ngoµi viÖc truy xuÊt Web, c¸c tr×nh duyÖt cßn cho phÐp chóng ta thùc hiÖn c¸c c«ng viÖc kh¸c nh−: göi nhËn email, t¶i c¸c tËp tin tõ Web Server vÒ, … th«ng qua c¸c Add-on vµ Plugin cña tr×nh duyÖt.
1.5.4 Web Server (m¸y chñ Web)

Web Server lµ m¸y chñ trong ®ã chøa th«ng tin d−íi d¹ng trang Web (trang HTML cã thÓ chøa ©m thanh, h×nh ¶nh, video, v¨n b¶n, …). C¸c Web Server ®−îc kÕt nèi víi nhau th«ng qua m¹ng Internet, mçi Server cã ®Þa chØ duy nhÊt trªn Internet. Thµnh phÇn chñ chèt cña Web Server lµ phÇn mÒm. Mçi phÇn mÒm Web Server ch¹y trªn mét nÒn t¶ng phÇn cøng vµ mét hÖ ®iÒu hµnh cô thÓ. Mét Web Server ph¶i cã cÊu h×nh ®ñ m¹nh ®Ó cung cÊp c¸c dÞch vô cho c¸c client, ®¸p øng ®ång thêi nhiÒu yªu cÇu tõ client vµ cã kh¶ n¨ng l−u tr÷ lín cho tµi nguyªn Web. Nãi vÒ chøc n¨ng vµ hiÖu n¨ng, c¸c Web Server ph©n thµnh 4 nhãm chÝnh: - C¸c m¸y chñ truyÒn th«ng th«ng th−êng. - M¸y chñ th−¬ng m¹i. - M¸y chñ mhãm lµm viÖc. - M¸y chñ dïng cho môc ®Ých ®Æc biÖt. C¸c tiªu chuÈn ®¸nh gi¸ mét Web Server: - HiÖu n¨ng: nÒn t¶ng hÖ ®iÒu hµnh vµ xö lý ®a luång. - B¶o mËt: Th«ng qua ®Þa chØ IP, tªn m¸y chñ cña m¹ng con, th− môc ... Web Oracle cung cÊp ph−¬ng ¸n b¶o mËt th«ng tin theo tªn ng−êi sö dông vµ kho¸ m· ®−îc m· ho¸ hoµn toµn trong qu¸ tr×nh truyÒn th«ng trªn m¹ng. - Truy nhËp vµ tÝch hîp CSDL: HÇu hÕt c¸c Web Server ®Òu sö dông giao diÖn CGI, mét sè kh¸c th× dïng giao diÖn lËp tr×nh øng dông (API) hoÆc ng«n ng÷ hái ®¸p cã cÊu tróc SQL. - Qu¶n lý vµ qu¶n trÞ Web Server: §Æc tÝnh quan träng cña tiªu chuÈn nµy lµ kh¶ n¨ng qu¶n trÞ tõ xa, giao diÖn ®å häa vµ ®iÒu khiÓn cÊu h×nh cña m¸y chñ.

http://www.ebook.edu.vn 1.5.5 Web Site

9

Web Site lµ mét tËp hîp c¸c trang Web liªn quan ®Õn mét c«ng ty, mét tËp ®oµn, mét tæ chøc, mét c¸ nh©n hay ®¬n gi¶n chØ lµ mét chñ ®Ò mµ nhiÒu ng−êi cïng quan t©m. VÝ dô Web Site cña ChÝnh phñ (www.chinhphu.org.vn), cña mét c¬ quan (Bé GD&§T-www.moet.edu.vn), b¸o chÝ (www.thanhnien.com.vn), cña mét chñ ®Ò (www.thuvientinhoc.vn)...
1.5.6 World Wide Web

World Wide Web (Web) lµ mét dÞch vô hay cßn gäi lµ mét c«ng cô trªn Internet ra ®êi gÇn ®©y nhÊt nh−ng ph¸t triÓn nhanh nhÊt hiÖn nay. Nã cung cÊp mét giao diÖn v« cïng th©n thiÖn víi ng−êi dïng, dÔ sö dông, thuËn lîi vµ ®¬n gi¶n ®Ó t×m kiÕm th«ng tin. Thùc chÊt Web kh«ng ph¶i lµ mét hÖ thèng cô thÓ víi tªn gäi nh− trªn mµ lµ mét tËp hîp c¸c c«ng cô tiÖn Ých vµ siªu giao diÖn (meta-Interface) gióp ng−êi sö dông cã thÓ tù t¹o ra c¸c "siªu v¨n b¶n" vµ cung cÊp cho nh÷ng ng−êi dïng kh¸c trªn Internet.
1.5.7 Ph©n biÖt Inetrnet vµ WWW

WWW chØ lµ mét phÇn nhá cña Internet. Internet bao hµm tÊt c¶ phÇn cøng vµ phÇn mÒm, bao gåm HTTP, FTP (File Transfer Protocol, sÏ ®Ò cËp ®Õn sau), Emails vµ Newgroups. WWW chñ yÕu x©y dùng trªn c¸c ký tù vµ h×nh ¶nh mµ chóng ta cã thÓ xem b»ng c¸c tr×nh duyÖt Web.
1.5.8 Web page

Web page lµ trang Web, lµ mét lo¹i tËp tin ®Æc biÖt ®−îc viÕt b»ng ng«n ng÷ siªu v¨n b¶n HTML. Web page cã thÓ hiÓn c¸c th«ng tin v¨n b¶n, ©m thanh, h×nh ¶nh, video, … Trang Web nµy ®−îc ®Æt trªn mét m¸y chñ Web sao cho c¸c m¸y kh¸ch cã thÓ truy cËp ®−îc nã, tËp hîp nhiÒu trang Web cã liªn quan, rµng buéc ®Õn nhau cho chóng ta mét Web Site.
1.6 C¸ch thøc tæ chøc vµ x©y dùng mét Web Site

ViÖc x©y dùng mét trang Web ®Ó ®−îc nhiÒu ng−êi quan t©m lµ mét c«ng viÖc kh«ng ®¬n gi¶n. ViÖc thiÕt kÕ kh«ng chØ l−u ý ®Õn vÊn ®Ò lµ mäi ng−êi cã truy cËp vµo trang Web cña m×nh h¬n mét lÇn hay kh«ng mµ th«ng tin trªn ®ã ph¶i phô thuéc hoµn toµn vµo môc ®Ých cña viÖc t¹o chóng. §Ó t¹o ®−îc mét site h÷u hiÖu, ta ph¶i chó ý ®Õn nh÷ng vÊn ®Ò sau: - Cã mét môc ®Ých râ rµng: §©y lµ ®iÓm quan träng trong viÖc b¾t ®Çu thiÕt kÕ Web. - Lu«n lu«n nghÜ ®Õn nh÷ng client-ng−êi sÏ truy cËp vµo site: Chóng ta ph¶i xÐt ®Õn mét sè ®Æc ®iÓm cña ng−êi truy cËp nh− lµ: løa tuæi, nghÒ nghiÖp, së thÝch, thêi gian r¶nh rçi ... - Sö dông nh÷ng môc cã kh¶ n¨ng dowload vÒ thËt nhanh. Mét trong nh÷ng lý do khiÕn nh÷ng ng−êi truy cËp vµo trang Web cña chóng ta c¶m thÊy ch¸n n¶n lµ ph¶i ®îi l©u cho viÖc lÊy tin vµ ®ã chÝnh lµ lóc ng−êi ta sÏ nhÊn vµo nót Stop. - Cè g¾ng lµm cho Web Site cña m×nh xuÊt hiÖn mét c¸ch trùc quan: kh«ng nªn cho qu¸ nhiÒu mµu s¾c hoÆc kh«ng cã mµu s¾c trong trang. - §õng cã cè g¾ng cho mäi thø vµo trong mét trang: Mét trang Web bõa

http://www.ebook.edu.vn

10

bén sÏ g©y ra c¶m gi¸c ch¸n n¶n vµ nhøc m¾t. - Tæ chøc néi dung mét c¸ch th«ng minh: Nªn nhí r»ng site cña m×nh t¹o ra kh«ng chØ cã "®é s©u" mét bËc, do vËy chØ cã nh÷ng th«ng tin thËt cÇn thiÕt míi cho vµo trang chñ. VÝ dô: giíi thiÖu tªn c«ng ty, môc ®Ých, mét sè s¶n phÈm ... - KiÓm tra, ch¹y thö site võa thiÕt kÕ mét c¸ch kü tr−íc khi ®−a lªn Web Server: Thö kiÓm tra site bëi c¸c tr×nh duyÖt Web, trªn c¸c hÖ ®iÒu hµnh kh¸c nhau hay lµ c¸c chÕ ®é kÝch th−íc cöa sæ kh¸c nhau ®Ó ®¶m b¶o r»ng site cña chóng ta th«ng suèt.
1.7 Ph©n lo¹i Web

Dùa vµo ®Æc tr−ng, kÕt nèi d÷ liÖu vµ c«ng cô ph¸t triÓn ng−êi ta cã thÓ chia ra lµm 3 lo¹i Web sau ®©y:
1.7.1 Static pages (Web tÜnh ):

TÝnh chÊt cña c¸c trang Web nµy lµ chØ bao gåm c¸c néi dung hiÓn thÞ cho ng−êi dïng xem. VÝ dô: hiÓn thÞ c¸c trang d¹ng text, h×nh ¶nh ®¬n gi¶n ch¼ng h¹n nh− mét cèc cµ phª ®ang bèc khãi ...
1.7.2 Form pages (MÉu biÓu):

Ngoµi néi dung nh− ë trang Web tÜnh, nã cßn chøa c¸c mÉu biÓu (form) cho phÐp nhËp c¸c yªu cÇu tõ phÝa ng−êi sö dông. Khi ng−êi dïng ®iÒn xong c¸c form, Ên nót "Submit" vµ tÊt c¶c c¸c th«ng tin (yªu cÇu) sÏ ®−a ®Õn ®Çu vµo cña mét ch−¬ng tr×nh CGI (Common Gateway Interface) ch¹y trªn Server. (th−êng th× c¸c CGI xö lý vµ cÊt gi÷ th«ng tin vµo c¸c file d÷ liÖu trªn Server råi th«ng b¸o tr¶ l¹i cho kh¸ch hµng). Lo¹i Web nµy th−êng ®−îc dïng ®Ó lµm c¸c phiÕu ®iÒu tra, tr−ng cÇu ý kiÕn, mua hµng ..v..v..
1.7.3 Dynamic Web (Web ®éng)

Néi dung cña trang Web ®éng nh− trong 1 trang Web tÜnh, ngoµi ra cßn cã nhóng c¸c ®o¹n m· lÖnh cho phÐp truy nhËp c¬ së d÷ liÖu trªn m¹ng. Tuú theo nhu cÇu, øng dông cã thÓ cung cÊp kh¶ n¨ng truy cËp d÷ liÖu, t×m kiÕm th«ng tin, …
1.8 C©u hái vµ bµi tËp ch−¬ng 1

C©u 1: Ph©n biÖt m¹ng Intranet vµ m¹ng Internet. C©u 2: M¹ng Internet sö dông nh÷ng giao thøc nµo? Chøc n¨ng cña chóng? C©u 3: CÊu tróc c¸c líp cña ®Þa chØ IP. C©u 4: C¸c kh¸i niÖm URL, hyperlinks, web page, web browser, web server. C©u 5: Ph©n biÖt Internet vµ World Wide Web. C©u 6: C¸ch thøc x©y dùng mét website. C©u 7: Ph©n biÖt c¸c lo¹i web

http://www.ebook.edu.vn Ch−¬ng 2

11

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 BGCOLOR=

13

TEXT= ALINK= VLINK= LINK=

§Æ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. X¸c ®Þnh mµu ch÷ cña v¨n b¶n, kÓ c¶ c¸c ®Ò môc. X¸c ®Þnh mµu s¾c cho c¸c siªu liªn kÕt trong v¨n b¶n. T−¬ng øng, alink (active link) lµ liªn kÕt ®ang ®−îc kÝch ho¹t - tøc lµ khi ®· ®−îc kÝch chuét lªn; vlink (visited link) chØ liªn kÕt ®· tõng ®−îc kÝch ho¹t;

e. Chó thÝch CÆp thÎ nµy cho phÐp ng−êi biªn so¹n tµi liÖu HTML cã thÓ thªm vµo trong c¸c tµi liÖu HTML nh÷ng chó thÝch cÇn thiÕt, hoÆc cã thÓ sö dông cÆp thÎ nµy ®Ó th«ng b¸o cho tr×nh duyÖt bá qua mét ®o¹n m· lÖnh HTML. C¸c v¨n b¶n ®−îc ®Æt gi÷a hai thÎ nµy sÏ kh«ng ®−îc tr×nh duyÖt hiÓn thÞ. Có ph¸p:
<!-- C¸c chó thÝch ®−îc ®Æt ë ®©y --> 2.2.2 C¸c thÎ ®Þnh d¹ng khèi

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

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

§Þnh d¹ng ®Ò môc cÊp 2 §Þnh d¹ng ®Ò môc cÊp 3 §Þnh d¹ng ®Ò môc cÊp 4 §Þnh d¹ng ®Ò môc cÊp 5 §Þnh d¹ng ®Ò môc cÊp 6

http://www.ebook.edu.vn

14

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

Có ph¸p:
<UL> <LI> Môc thø nhÊt <LI> Môc thø hai </UL>

Cã 4 kiÓu danh s¸ch: • Danh s¸ch kh«ng s¾p xÕp ( hay kh«ng ®¸nh sè) <UL> • Danh s¸ch cã s¾p xÕp (hay cã ®¸nh sè) <OL>, mçi môc trong danh s¸ch ®−îc s¾p xÕp thø tù. • Danh s¸ch thùc ®¬n <MENU> • Danh s¸ch ph©n cÊp <DIR> Víi nhiÒu tr×nh duyÖt, danh s¸ch ph©n cÊp vµ danh s¸ch thùc ®¬n gièng danh s¸ch kh«ng ®¸nh sè, cã thÓ dïng lÉn víi nhau. Víi thÎ OL ta cã có ph¸p sau:
<OL TYPE=1/a/A/i/I> <LI>Muc thu nhat <LI>Muc thu hai <LI>Muc thu ba </OL>

Trong ®ã: TYPE =1 C¸c môc ®−îc s¾p xÕp theo thø tù 1, 2, 3... =a C¸c môc ®−îc s¾p xÕp theo thø tù a, b, c... =A C¸c môc ®−îc s¾p xÕp theo thø tù A, B, C... =i C¸c môc ®−îc s¾p xÕp theo thø tù i, ii, iii... =I C¸c môc ®−îc s¾p xÕp theo thø tù I, II, III... Ngoµi ra cßn thuéc tÝnh START= x¸c ®Þnh gi¸ trÞ khëi ®Çu cho danh s¸ch. ThÎ <LI> cã thuéc tÝnh TYPE= x¸c ®Þnh ký hiÖu ®Çu dßng (bullet) ®øng tr−íc mçi môc trong danh s¸ch. Thuéc tÝnh nµy cã thÓ nhËn c¸c gi¸ trÞ : disc (chÊm trßn ®Ëm); circle (vßng trßn); square (h×nh vu«ng).

http://www.ebook.edu.vn 2.2.4 C¸c thÎ ®Þnh d¹ng ký tù

15

a. C¸c thÎ ®Þnh d¹ng in ký tù Sau ®©y lµ c¸c thÎ ®−îc sö dông ®Ó quy ®Þnh c¸c thuéc tÝnh nh− in nghiªng, in ®Ëm, g¹ch ch©n... cho c¸c ký tù, v¨n b¶n khi ®−îc thÓ hiÖn trªn tr×nh duyÖt. ThÎ Thuéc tÝnh In ch÷ ®Ëm <B> ... </B>
<STRONG> ... </STRONG> <I> ... </I> <EM> ... </EM> <U> ... </U> <DFN>

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

<S> ... </S> <STRIKE> ... </STRIKE> <BIG> ... </BIG>

<SMALL> ... </SMALL>

<SUP> ... </SUP> <SUB> ... </SUB> <BASEFONT>

<FONT> ... </FONT>

http://www.ebook.edu.vn

16

b. C¨n lÒ v¨n b¶n trong trang Web Trong tr×nh bµy trang Web cña m×nh chóng ta lu«n ph¶i chó ý ®Õn viÖc c¨n lÒ c¸c v¨n b¶n ®Ó trang Web cã ®−îc mét bè côc ®Ñp. Mét sè c¸c thÎ ®Þnh d¹ng nh− <P>, <Hn>, <IMG>... ®Òu cã tham sè ALIGN cho phÐp c¨n lÒ c¸c v¨n b¶n n»m trong ph¹m vi giíi h¹n bëi cña c¸c thÎ ®ã. C¸c gi¸ trÞ cho tham sè ALIGN: C¨n lÒ tr¸i LEFT C¨n gi÷a trang CENTER C¨n lÒ ph¶i RIGHT Ngoµi ra, chóng ta cã thÓ sö dông thÎ CENTER ®Ó c¨n gi÷a trang mét khèi v¨n b¶n. Có ph¸p:
<CENTER>V¨n b¶n sÏ ®−îc c¨n gi÷a trang</CENTER>

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

http://www.ebook.edu.vn

17

§en #000000 X¸m #808080 N©u #A52A2A TÝm #FF00FF TÝm nh¹t #EE82EE Hång #FFC0CB Da cam #FFA500 Mµu ®ång phôc h¶i #000080 qu©n #4169E1 #7FFFD4 Có ph¸p:

BLACK GRAY BROWN MAGENTA VIOLET PINK ORANGE NAVY ROYALBLUE AQUAMARINE

<BODY LINK = color ALINK = color VLINK = color BACKGROUND= url() BGCOLOR = color TEXT = color TOPMARGIN = pixels RIGHTMARGIN = pixels LEFTMARGIN = pixels > .... phÇn néi dung cña tµi liÖu ®−îc ®Æt ë ®©y </BODY>

Sau ®©y lµ ý nghÜa c¸c tham sè cña thÎ <BODY>: C¸c tham sè
LINK ALINK VLINK BACKGROUND BGCOLOR TEXT SCROLL TOPMARGIN RIGHTMARGIN LEFTMARGIN

ý nghÜa ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®ang ®ang chän ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®· tõng më ChØ ®Þnh ®Þa chØ cña ¶nh dïng lµm nÒn ChØ ®Þnh mµu nÒn ChØ ®Þnh mµu cña v¨n b¶n trong tµi liÖu YES/NO - X¸c ®Þnh cã hay kh«ng thanh cuén LÒ trªn LÒ ph¶i LÒ tr¸i

http://www.ebook.edu.vn

18

e. Chän kiÓu ch÷ cho v¨n b¶n Có ph¸p:
<FONT FACE = font-name COLOR = color SIZE =n> ... néi dung ®o¹n v¨n b¶n </FONT>

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

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

Tªn hÖ thèng

§−êng dÉn

C¸c tham sè, biÕn, truy vÊn

H×nh 2.1 C¸c thµnh phÇn cña URL ®−îc minh ho¹ ë h×nh trªn.

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

http://www.ebook.edu.vn

19

index.html, index.htm, default.html hay default.htm (víi c¸c Web site ®éng th× file mÆc ®Þnh cã thÓ cã phÇn më réng lµ asp, aspx, jsp hay php…). NÕu còng kh«ng cã c¸c file nµy th× th−êng kÕt qu¶ tr¶ vÒ lµ danh s¸ch liÖt kª c¸c file hay th− môc con trong th− môc ®−îc yªu cÇu • C¸c tham sè: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. NÕu URL lµ yªu cÇu t×m kiÕm trªn mét c¬ së d÷ liÖu th× truy vÊn sÏ g¾n vµo URL, ®ã chÝnh lµ ®o¹n m· ®»ng sau dÊu chÊm hái (?).URL còng cã thÓ tr¶ l¹i th«ng tin ®−îc thu thËp tõ form. Trong tr−êng hîp dÊu th¨ng (#) xuÊt hiÖn ®o¹n m· ®¨ng sau lµ tªn cña mét vÞ trÝ (location) trong file ®−îc chØ ra. §Ó t¹o ra mét siªu v¨n b¶n chóng ta sö dông thÎ <A>. Có ph¸p:
<A HREF NAME TABINDEX TITLE TARGET > ... siªu v¨n b¶n </A> = url = name =n = title = _blank / _self

ý nghÜa c¸c tham sè: C¸c tham sè ý nghÜa §Þa chØ cña trang Web ®−îc liªn kÕt, lµ mét URL nµo ®ã. HREF §Æt tªn cho vÞ trÝ ®Æt thÎ. NAME Thø tù di chuyÓn khi Ên phÝm Tab TABLEINDEX V¨n b¶n hiÓn thÞ khi di chuét trªn siªu liªn kÕt. TITLE Më trang Web ®−îc liªn trong mét cöa sæ míi (_blank) hoÆc TARGET trong cöa sæ hiÖn t¹i (_self), trong mét frame (tªn frame). g. §Þa chØ t−¬ng ®èi URL ®−îc tr×nh bµy ë trªn lµ URL tuyÖt ®èi. Ngoµi ra cßn cã URL t−¬ng ®èi hay cßn gäi lµ URL kh«ng ®Çy ®ñ. §Þa chØ t−¬ng ®èi sö dông sù kh¸c biÖt t−¬ng ®èi gi÷a v¨n b¶n hiÖn thêi vµ v¨n b¶n cÇn tham chiÕu tíi. C¸c thµnh phÇn trong URL ®−îc ng¨n c¸ch b»ng ký tù ng¨n c¸ch (ký tù g¹ch chÐo /). §Ó t¹o ra URL t−¬ng ®èi, ®Çu tiªn ph¶i sö dông ký tù ng¨n c¸ch. URL ®Çy ®ñ hiÖn t¹i sÏ ®−îc sö dông ®Ó t¹o nªn URL ®Çy ®ñ míi. Nguyªn t¾c lµ c¸c thµnh phÇn bªn tr¸i dÊu ng¨n c¸ch cña URL hiÖn t¹i ®−îc gi÷ nguyªn, c¸c thµnh phÇn bªn ph¶i ®−îc thay thÕ b»ng thµnh phÇn URL t−¬ng ®èi. Chó ý r»ng tr×nh duyÖt kh«ng göi URL t−¬ng ®èi, nã bæ sung vµo URL c¬ së ®· x¸c ®Þnh tr−íc thµnh phÇn URL t−¬ng ®èi x¸c ®Þnh sau thuéc tÝnh href=. Ký tù ®Çu tiªn sau dÊu b»ng sÏ x¸c ®Þnh c¸c thµnh phÇn nµo cña URL hiÖn t¹i sÏ tham gia ®Ó t¹o nªn URL míi. VÝ dô, víi ®Þa chØ URL: http://dit.tsqtt.edu.vn/HTML/ th×:

http://www.ebook.edu.vn

20

• DÊu hai chÊm (:) chØ dÞch vô gi÷ nguyªn nh−ng thay ®æi phÇn cßn l¹i. • DÊu g¹ch chÐo (/) chØ dÞch vô vµ m¸y phôc vô gi÷ nguyªn nh−ng toµn bé ®−êng dÉn thay ®æi. VÝ dô /JavaScript/index.htm sÏ t¶i file index.htm cña th− môc JavaScript trªn m¸y phôc vô dit.tsqtt.edu.vn. • Kh«ng cã dÊu ph©n c¸ch chØ cã tªn file lµ thay ®æi. VÝ dô index.htm sÏ t¶i file index.htm ë trong th− môc HTML cña m¸y phôc vô dit.tsqtt.edu.vn. • DÊu th¨ng (#): chØ dÞch vô, m¸y phuc vô, ®−êng dÉn vµ c¶ tªn file gi÷ nguyªn, chØ thay ®æi vÞ trÝ trong file. Do ®−êng dÉn ®−îc xem lµ ®¬n vÞ ®éc lËp nªn cã thÓ sö dông ph−¬ng ph¸p ®−êng dÉn t−¬ng ®èi nh− trong UNIX hay MS-DOS (tøc lµ dÊu chÊm (.) chØ th− môc hiÖn t¹i cßn hai dÊu chÊm (..) chØ th− môc cha cña th− môc hiÖn t¹i). URL c¬ së cã thÓ ®−îc x¸c ®Þnh b»ng thÎ <BASE>. h. KÕt nèi mailto NÕu ®Æt thuéc tÝnh href= cña thÎ <A> gi¸ trÞ mailto:address@domain th× khi kÝch ho¹t kÕt nèi sÏ kÝch ho¹t chøc n¨ng th− ®iÖn tö cña tr×nh duyÖt.
<ADDRESS> Trang WEB nµy ®−îc <A href=”mailto:webmaster@vnuh.edu.vn” >WEBMASTER <\A> b¶o tr× <\ADDRESS>

i. VÏ mét ®−êng th¼ng n»m ngang Có ph¸p:
<HR ALIGN COLOR NOSHADE SIZE WIDTH > = LEFT / CENTER / RIGHT = color =n = width

ý nghÜa c¸c tham sè: C¸c tham sè ý nghÜa C¨n lÒ (c¨n tr¸i, c¨n ph¶i, c¨n gi÷a) ALIGN §Æt mµu cho ®−êng th¼ng COLOR NOSHADE Kh«ng cã bãng §é dµy cña ®−êng th¼ng SIZE ChiÒu dµi (tÝnh theo pixel hoÆc % cña bÒ réng cöa sæ tr×nh duyÖt). WIDTH 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 2.2.5 C¸c thÎ chÌn ©m thanh, h×nh ¶nh

21

a. Giíi thiÖu Liªn kÕt víi file ®a ph−¬ng tiÖn còng t−¬ng tù nh− liªn kÕt b×nh th−êng. Tuy vËy ph¶i ®Æt tªn ®óng cho file ®a ph−¬ng tiÖn. PhÇn më réng cña file ph¶i cho biÕt kiÓu cña file KiÓu Më réng M« t¶ ViÕt t¾t cña Graphics Interchange Format. Khu«n Image/GIF .gif d¹ng nµy xuÊt hiÖn khi mäi ng−êi cã nhu cÇu trao ®æi ¶nh trªn nhiÒu hÖ thèng kh¸c nhau. Nã ®−îc sö dông trªn tÊt c¶ c¸c hÖ thèng hç trî giao diÖn ®å ho¹. §Þnh d¹ng GIF lµ ®Þnh d¹ng chuÈn cho mäi tr×nh duyÖt WEB. Nh−îc ®iÓm cña nã lµ chØ thÓ hiÖn ®−îc 256 mµu. ViÕt t¾t cña Joint Photographic Expert Group. Lµ Image/JPEG .jpeg khu«n d¹ng ¶nh kh¸c nh−ng cã thªm kh¶ n¨ng nÐn.¦u ®iÓm næi bËt cña khu«n d¹ng nµy lµ l−u tr÷ ®−îc hµng triÖu mµu vµ ®é nÐn cao nªn kÝch th−íc file ¶nh nhá h¬n vµ thêi gian download nhanh h¬n. Nã lµ c¬ së cho khu«n d¹ng MPEG. TÊt c¶ c¸c tr×nh duyÖt ®Òu cã kh¶ n¨ng xem ¶nh JPEG. ViÕt t¾t cña Tagged Image File Format. §−îc Image/TIFF .tiff Microsoft thiÕt kÕ ®Ó quÐt ¶nh tõ m¸y quÐt còng nh− t¹o c¸c Ên phÈm.
Text/HTML PostScript Adobe Acrobat .html, .htm .eps, .ps §−îc t¹o ra ®Ó hiÓn thÞ vµ in c¸c v¨n b¶n cã chÊt .pdf

Video/MPEG .mpeg

Video/AVI Video/Quick Time

.avi .mov

l−îng cao. ViÕt t¾t cña Portable Document Format. Acrobat còng sö dông c¸c siªu liªn kÕt ngay trong v¨n b¶n còng gièng nh− HTML. Tõ phiªn b¶n 2.0, c¸c s¶n phÈm cña Acrobat cho phÐp liªn kÕt gi÷a nhiÒu v¨n b¶n. ¦u ®iÓm lín nhÊt cña nã lµ kh¶ n¨ng WYSISYG. ViÕt t¾t cña Motion Picture Expert Group, lµ ®Þnh d¹ng dµnh cho c¸c lo¹i phim (video). §©y lµ khu«n d¹ng th«ng dông nhÊt dµnh cho phim trªn WEB. Lµ khu«n dn¹g phim do Microsoft ®−a ra. Do Apple Computer ®−a ra, chuÈn video nµy ®−îc cho lµ cã nhiÒu −u ®iÓm h¬n MPEG vµ AVI. MÆc dï ®· ®−îc tÝch hîp vµo nhiÒu tr×nh duyÖt nh−ng vÉn ch−a phæ biÕn b»ng hai lo¹i ®Þnh d¹ng trªn.

Sound/AU

.au

http://www.ebook.edu.vn Sound/MIDI .mid

22

Sound/Real Audio

.ram

VRML

.vrml

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. §Þnh d¹ng audio theo dßng. Mét bÊt tiÖn khi sö 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. 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 ALT BORDER SRC WIDTH HEIGHT HSPACE VSPACE TITLE = TOP/MIDDLE/BOTTOM = text =n = url = width = height = vspace = hspace = title

http://www.ebook.edu.vn

23

DYNSRC = url START = FILEOPEN/MOUSEOVER LOOP = n>

Trong ®ã: C¸c tham sè
ALIGN = TOP/ MIDDLE/ BOTTOM/ LEFT/ RIGHT ALT = text

ý nghÜa C¨n hµng v¨n b¶n bao quanh ¶nh 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. §Æt kÝch th−íc ®−êng viÒn ®−îc vÏ quanh ¶nh (tÝnh theo pixel). §Þa chØ cña file ¶nh cÇn chÌn vµo tµi liÖu. ChØ ®Þnh kÝch th−íc cña ¶nh ®−îc hiÓn thÞ. 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. V¨n b¶n sÏ hiÓn thÞ khi con chuét trá trªn ¶nh §Þa chØ cña file video. ChØ ®Þnh file video sÏ ®−îc ch¬i khi tµi liÖu ®−îc 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. ChØ ®Þnh sè lÇn ch¬i. NÕu LOOP = INFINITE th× file video sÏ ®−îc ch¬i v« h¹n lÇn.

BORDER = n SRC = url WIDTH/HEIGHT HSPACE/VSPACE TITLE = title DYNSRC = url START = FILEOPEN/MOUSEOVER

LOOP = n/INFINITE

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

http://www.ebook.edu.vn

24

COORDS = coords HREF = url TITLE = text TARGET = _blank / _self > <AREA ... > <AREA ... > ... </MAP>

ChÌn ¶nh:
<IMG SRC="image-name" USEMAP="#map-name">

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

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

http://www.ebook.edu.vn 2.2.6 ChÌn b¶ng

25

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

http://www.ebook.edu.vn

26

ý nghÜa c¸c tham sè:
C¸c tham sè ALIGN / VALIGN BORDER ý nghÜa

BORDERCOLOR BORDERCOLORDARK BORDERCOLORLIGHT BACKGROUND BGCOLOR CELLSPACING CELLPADDING COLSPAN ROWSPAN 2.2.7 Sö dông Khung – Frame

C¨n lÒ cho b¶ng vµ néi dung trong mçi «. KÝch th−íc ®−êng kÎ chia « trong b¶ng, ®−îc ®o theo pixel. Gi¸ trÞ 0 cã nghÜa lµ kh«ng x¸c ®Þnh lÒ, gi÷a c¸c « trong b¶ng chØ cã mét kho¶ng tr¾ng nhá ®Ó ph©n biÖt. NÕu chØ ®Ó border th× ngÇm ®Þnh border=1. Víi nh÷ng b¶ng cã cÊu tróc phøc t¹p, nªn ®Æt lÒ ®Ó ng−êi xem cã thÓ ph©n biÖt râ c¸c dßng vµ cét. Mµu ®−êng kÎ Mµu phÝa tèi vµ phÝa s¸ng cho ®−êng kÎ næi. §Þa chØ tíi tÖp ¶nh dïng lµm nÒn cho b¶ng Mµu nÒn Kho¶ng c¸ch gi÷a c¸c « trong b¶ng Kho¶ng c¸ch gi÷a néi dung vµ ®−êng kÎ trong mçi « cña b¶ng. ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu cét ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu hµng

C¸c frame cho phÐp b¹n tæ chøc cÊu tróc néi dung c¸c trang Web cña m×nh b»ng c¸ch phøc hîp nhiÒu tµi liÖu HTML ®Ó cã thÓ xem chóng trong cïng mét cöa sæ chÝnh cña tr×nh duyÖt Web. §Ó t¹o mét trang Web phøc hîp b¹n sö dông c¸c thÎ FRAMESET vµ FRAME ®Ó chia cöa sæ chÝnh thµnh c¸c khung ch÷ nhËt (frame). Sau ®ã trong mçi khung h×nh ch÷ nhËt ®ã b¹n chØ ®Þnh mét tµi liÖu sÏ ®−îc hiÓn thÞ trong khung ®ã. Chó ý thÎ FRAMESET sÏ thay thÕ cho thÎ BODY trong mét tµi liÖu HTML, ®iÒu ®ã cã nghÜa lµ trong mét tµi liÖu sö dông thÎ FRAMESET sÏ kh«ng cã thÎ BODY mµ thay vµo ®ã phÇn néi dung chÝnh cña tµi liÖu sÏ ®−îc ®Þnh nghÜa bëi thÎ FRAMESET. a. ThÎ FRAMESET Có ph¸p:
<FRAMESET COLS = col-widths ROWS = row-heights BORDER = pixels BORDERCOLOR = color FRAMEBORDER = 1/0 > ... <FRAME ... >

http://www.ebook.edu.vn <FRAME ... > ... </FRAMESET>

27

Trong ®ã:
C¸c tham sè COLS ý nghÜa

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è BORDERCOLOR FRAMEBORDER = 0 / 1 MARGINHEIGHT MARGINWIDTH NAME NORESIZE SCROLLING = YES / NO SRC Target

ý nghÜa

Mµu ®−êng viÒn khung. ChØ ®Þnh cã/kh«ng viÒn khung. Kho¶ng c¸ch gi÷a néi dung trong khung vµ ®−êng viÒn ngang. Kho¶ng c¸ch gi÷a néi dung trong khung vµ ®−êng viÒn däc. §Æt tªn cho khung. ChØ ®Þnh kh«ng ®−îc thay ®æi kÝch th−íc cña khung. ChØ ®Þnh cã hay kh«ng cã thanh cuén cho khung. §Þa chØ cña tµi liÖu sÏ ®−îc hiÓn thÞ trong khung. ChØ ra cöa sæ n¬i mµ tµi liÖu ®−îc hiÓn thÞ

http://www.ebook.edu.vn

28

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

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

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

http://www.ebook.edu.vn Trong ®ã: C¸c tham sè ALIGN BORDER BORDERCOLOR FRAMEBORDER = 0 / 1 NORESIZE SCROLLING = YES / NO NAME SRC MARGINWIDTH MARGINHEIGHT WIDTH HEIGHT

29

ý nghÜa

C¨n lÒ cho khung KÝch th−íc ®−êng viÒn cña khung Mµu ®−êng viÒn cña khung Khung cã ®−êng viÒn hay kh«ng Kh«ng ®−îc phÐp thay ®æi kÝch th−íc cña khung. ChØ ®Þnh khung cã thanh cuén hay kh«ng §Æt tªn cho khung §Þa chØ tµi liÖu ®−îc hiÓn thÞ trong khung Kho¶ng c¸ch gi÷a v¨n b¶n néi dung cña khung vµ c¸c ®−êng viÒn däc. Kho¶ng c¸ch gi÷a v¨n b¶n néi dung cña khung vµ c¸c ®−êng viÒn ngang. §Æt chiÒu réng cña khung §Æt chiÒu cao cña khung

VÝ dô minh häa:
<BODY> §©y lμ khung cöa sæ t¹o bëi thÎ IFRAME: <IFRAME SRC = "vd43.htm" WIDTH = 500> </IFRAME> </BODY>

H×nh 2.3 VÝ dô vÒ IFRAME

http://www.ebook.edu.vn 2.2.8 FORMS

30

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è ACTION ý nghÜa

§Þ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...). Ph−¬ng thøc göi d÷ liÖu. METHOD Tªn cña form. NAME ChØ ®Þnh cöa sæ sÏ hiÓn thÞ kÕt qu¶ sau khi göi d÷ liÖu tõ TARGET form ®Õn server. §Æt c¸c ®èi t−îng ®iÓu khiÓn (nh− hép v¨n b¶n, « kiÓm tra, nót bÊm...) vµo trang Web c. ThÎ INPUT Có ph¸p thÎ INPUT:
<INPUT ALIGN = LEFT | CENTER | RIGHT TYPE = BUTTON | CHECKBOX | FILE | IMAGE | PASSWORD | RADIO | RESET | SUBMIT | TEXT VALUE = value >

http://www.ebook.edu.vn

31

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

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

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

http://www.ebook.edu.vn

32

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

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

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

http://www.ebook.edu.vn

33

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

H×nh 2.6 T¹o hép so¹n th¶o v¨n b¶n 2.3 DHTML (Dynamic HTML) 2.3.1 §Þnh nghÜa:

Ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ®éng (Dynamic Hypertext Markup Language) lµ phiªn b¶n më réng cña HTML vµ JavaScript, ng«n ng÷ nµy ®−îc dïng ®Ó t¹o trang th«ng tin trªn World Wide Web. Dynamic HTML cã vÞ trÝ v¨n b¶n vµ ®å häa rÊt chÝnh x¸c v× nã cho phÐp néi dung cña trang Web thay ®æi mçi khi ng−êi dïng nhÊn, kÐo hay trá vµo nót, h×nh ¶nh hay c¸c thµnh phÇn kh¸c trªn trang nµy.
2.3.2 §Æc ®iÓm

Ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ®éng mang l¹i cho c¸c nhµ ph¸t triÓn kh¶ n¨ng t¹o nh÷ng trang Web cã h×nh thøc vµ tÝnh n¨ng nh− mét øng dông thùc sù. HTML ®éng cho phÐp ng−êi dïng ®Þnh vÞ chÝnh x¸c v¨n b¶n vµ h×nh ¶nh trªn trang Web. C¶ hai tr×nh duyÖt cña Netscape vµ Microsoft vµ míi nhÊt lµ cña Mozilla ®Òu hç trî hÖ CSS ®Ó kiÓm so¸t vÎ ngoµi cña trang Web. VÝ dô, c¸c nhµ ph¸t triÓn cã thÓ thay ®æi kiÓu ch÷ vµ kÝch cì cña tõng dßng tiªu ®Ò trªn Web site mét c¸ch ®¬n gi¶n b»ng c¸ch thay ®æi ®Æc t¶ trong trang ®¬n x¸c ®Þnh h×nh thøc

http://www.ebook.edu.vn

34

(Cascading Style Sheet) t−¬ng øng. HTML ®éng cã c¶ kh¶ n¨ng liªn kÕt c¬ së d÷ liÖu víi trang Web ®Ó söa ®æi néi dung ngay trong khi thùc thi. Tr−íc khi trang HTML ®éng ®−îc duyÖt, tr×nh duyÖt ph¶i bæ sung m· ch−¬ng tr×nh ch¹y ngoµi tr×nh duyÖt nh− Java hay thµnh phÇn ActiveX.
2.3.3 Mét sè hiÖu øng DHTML

a. T¹o chuçi ký tù chuyÓn ®éng Có ph¸p:
<MARQUEE BEHAVIOR =type DIRECTION =LEFT | RIGHT LOOP =n VSCROLLAMOUNT=n SCOLLDELAY =n > Chuçi ký tù muèn chuyÓn ®éng </MARQUEE>

C¸c thuéc tÝnh:
C¸c tham sè BEHAVIOR ý nghÜa

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. §Þnh h−íng chuyÓn ®éng cho chuçi ký tù. DIRECTION X¸c ®Þnh sè lÇn chuyÓn ®éng cña chuçi. NÕu LOOP 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. Thêi gian ngõng sau 1 lÇn chuyÓn ®éng. SCOLLDELAY NÕu kh«ng cã c¸c thuéc tÝnh trªn th× chuyÓn ®éng lÆp ®i lÆp l¹i tõ ph¶i sang tr¸i víi tèc ®é 6 pixel/1 gi©y vµ thêi gian ngõng gi÷a c¸c lÇn ch¹y lµ 90 gi©y. VÝ dô minh häa:
<HTML> <HEAD> <TITLE>Chuçi ký tù chuyÓn ®éng</TITLE> </HEAD> <BODY> <P><font color=“red” face=“tahoma” size=“4”></font></P> <MARQUEE BEHAVIOR=scroll DIRECTION=LEFT

http://www.ebook.edu.vn

35

LOOP=infinite SCROLLAMOUNT=60 SCOLLDELAY=5 >VÝ dô chuçi ký tù chuyÓn ®éng trong DHTML </MARQUEE> </BODY> </HTML>

b. Thay ®æi h×nh d¹ng chuét khi qua mét vÞ trÝ Có ph¸p:
<TD STYLE= “cursor:thuéc tÝnh cña cursor>

C¸c thuéc tÝnh vµ h×nh d¹ng t−¬ng øng: Auto Hand Move Text Wait VÝ dô minh häa:

Help

Default Crosshair

<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 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 Qu¶ng c¸o Tin tøc-Sù kiÖn Th«ng b¸o-H−íng dÉn TuyÓn sinh-§µo t¹o Contents KÕt qu¶-Häc bæng 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. Contents

http://www.ebook.edu.vn Ch−¬ng 3

37

Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web

3.1 JavaScript 3.1.1 Tæng quan

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

http://www.ebook.edu.vn

38

t¸c víi file HTML, c¸c ®èi t−îng nµy cho phÐp chóng ta ®iÒu khiÓn viÖc hiÓn thÞ th«ng tin vµ ®¸p øng c¸c sù kiÖn trong m«i tr−êng Navigator. c. C¸c ®èi t−îng do ng−êi lËp tr×nh x©y dùng • §Þnh nghÜa thuéc tÝnh cña ®èi t−îng: (Object Properties) Có ph¸p
Object-name.Property-name (tªn ®èi t−îng.tªn ®Æc tÝnh)

VÝ dô: Mét ®èi t−îng airplane cã c¸c thuéc tÝnh nh− sau: Airplane.model Airplane.price Airplane.seating Airplane.maxspeed Airplane.fuel • Thªm c¸c ph−¬ng ph¸p cho ®èi t−îng: ( Method to Object) Sau khi ®· cã c¸c th«ng tin vÒ airplane ta tiÕp tôc x©y dùng ph−¬ng ph¸p ®Ó sö dông th«ng tin nµy.VÝ dô muèn in ra m« t¶ cña airplane hoÆc tÝnh to¸n kho¶ng c¸ch tèi ®a cña cuéc hµnh tr×nh víi nhiªn liÖu ®· cã: Airplane.description() Airplane.distance() • T¹o mét instance (thÓ hiÖn) cña ®èi t−îng: Tr−íc khi thao t¸c víi mét ®èi t−îng cña JavaScript ta ph¶i t¹o mét instance cho ®èi t−îng ®ã. d. Nhóng JavaScript vµo trong tËp tin HTML §o¹n m· JavaScript cã thÓ ®−îc nhóng vµo mét file HTML theo mét trong c¸c c¸ch sau ®©y: • Sö dông c¸c c©u lÖnh vµ c¸c hµm trong cÆp thÎ <SCRIPT> • Sö dông c¸c file nguån JavaScript. • Sö dông mét biÓu thøc JavaScript lµm gi¸ trÞ cña mét thuéc tÝnh HTML. • Sö dông thÎ sù kiÖn (event handlers) trong mét thÎ HTML nµo ®ã. Trong ®ã, sö dông cÆp thÎ <SCRIPT>...</SCRIPT> vµ nhóng mét file nguån JavaScript lµ ®−îc sö dông phæ biÕn nhÊt. Sö dông cÆp thÎ <SCRIPT>...</SCRIPT>: Có ph¸p:
<SCRIPT LANGUAGE=”JavaScript”> JavaScript Program </SCRIPT>

Sö dông tËp tin JavaScript bªn ngoµi:
<SCRIPT LANGUAGE=”JavaScript” SRC=”http://www.tsqtt.edu.vn/scroll.js”> <!- - Dßng Èn m· Script ®èi víi c¸c Browser kh«ng hç trî (support) JavaScript Program //Chó thÝch, tÊt c¶ nh÷ng g× thuéc dßng nµy ®Òu bÞ tr×nh

http://www.ebook.edu.vn

39

biªn dÞch bá qua. Chóng ta còng cã thÓ sö dông cÆp dÊu /* */ ®Ó chó thÝch cho mét ®o¹n. Dßng kÕt thóc viÖc Èn m· Script - - > </SCRIPT>

Thuéc tÝnh cña thÎ SCRIPT: • LANGUAGE: ChØ ®Þnh ng«n ng÷ ®−îc sö dông trong Script vµ c¸c phiªn b¶n sö dông (vÝ dô nh−: JavaScript, JavaScript.1.2). • SRC: §Þa chØ URL chØ ®Õn tËp tin ch−¬ng tr×nh JavaScript (*.js) Chó ý: C¸c file JavaScript bªn ngoµi kh«ng ®−îc chøa bÊt kú thÎ HTML nµo. Chóng chØ ®−îc chøa c¸c c©u lÖnh JavaScript vµ ®Þnh nghÜa hµm. Tªn file cña c¸c hµm JavaScript bªn ngoµi cÇn cã ®u«i .js, vµ server sÏ ph¶i ¸nh x¹ ®u«i .js ®ã tíi kiÓu MIME application/x-javascript. Thªm ch−¬ng tr×nh vµo tËp tin HTML:
<HTML> <HEAD> <TITLE>Listing</TITLE> </HEAD> <BODY> Here is result: <SCRIPT LANGUAGE=“Javascript”> <!-document.writeln(“It work<BR>”); --> </SCRIPT> </BODY> </HTML> 3.1.2 Sö dông JavaScript

a. Có ph¸p c¬ b¶n cña lÖnh : JavaScript x©y dùng c¸c hµm,c¸c ph¸t biÓu,c¸c to¸n tö vµ c¸c biÓu thøc trªn cïng mét dßng vµ kÕt thóc b»ng dÊu chÊm phÈy (;). VÝ dô: document.writeln("It work<BR>"); b. C¸c khèi lÖnh: NhiÒu dßng lÖnh cã thÓ ®−îc liªn kÕt víi nhau vµ ®−îc bao bëi cÆp dÊu ngoÆc nhän: {} VÝ dô: { document.writeln("Does It work"); document.writeln("It work!"); } c. XuÊt d÷ liÖu ra cöa sæ tr×nh duyÖt: Dïng 2 ph−¬ng ph¸p document.write() vµ document.writeln() VÝ dô:

http://www.ebook.edu.vn

40

document.write(“Test”); document.writeln(“Test”); LÖnh document.writeln(“Test”); cho phÐp xuÊt tõ “Test” ra mµn h×nh vµ sau ®ã ®−a con trá xuèng ®Çu dßng tiÕp theo. d. XuÊt c¸c thÎ HTML tõ JavaScript VÝ dô 1:
<HTML> <HEAD> <TITLE>Outputting Text</TITLE> </HEAD> <BODY> This is text plain <BR> <B> <SCRIPT LANGUAGE==“Javascript”> <!- document.write(“This is text bold </B>”); - -> </SCRIPT> </BODY> </HTML>

VÝ dô 2:
<HTML> <HEAD> <TITLE>Example</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE=“Javascript”> <!- document.write(“<IMG SRC= ‘welcome.gif’>”); document.write(“<BR><H1>WELCOME TO DESIGN</H1>”); - -> </SCRIPT> </BODY> </HTML>

WEB

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 color:","Blue")); - -> </SCRIPT> </BODY> </HTML>

favorite

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 your

document.write("<H1>Greeting ," + prompt("enter name:","name") + "Welcome to Web Design </H1>"); - -> </SCRIPT> </BODY> </HTML> 3.1.3 C¸c kiÓu d÷ liÖu trong JavaScript:

a. D÷ liÖu kiÓu sè: • Sè nguyªn: vÝ dô: 720 • Sè Octal: vÝ dô: 056 • Sè Hexa: vÝ dô: 0x5F • Sè thËp ph©n: vÝ dô: 7.24, -34.2, 2E3 b. D÷ liÖu kiÓu chuæi: VÝ dô: “Hello” ‘245’ “” c. D÷ liÖu kiÓu Boolean: KÕt qu¶ tr¶ vÒ lµ true hoÆc false. d. D÷ liÖu kiÓu null: Tr¶ vÒ gi¸ trÞ rçng. e. D÷ liÖu kiÓu v¨n b¶n (gièng nh− kiÓu chuçi)
3.1.4 T¹o biÕn trong JavaScript:

Var example; Var example=”Hello”; Ta cã thÓ dïng document.write(example); ®Ó xuÊt néi dung cña mét biÕn. VÝ dô 1: Dïng tõ khãa var ®Ó khai b¸o biÕn
<HTML> <HEAD> <TITLE>Listing</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!- var name=prompt("enter your name:","name"); - -> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!--

http://www.ebook.edu.vn

44

document.write('<IMG SRC="Welcome.gif">'); document.write("<H1>Greeting ," + name + " Welcome to Web Design </H1>"); - -> </SCRIPT> </BODY> </HTML>

VÝ du 2: T¹o l¹i mét gi¸ trÞ míi cho biÕn
<HTML> <HEAD> <TITLE>Example</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> var name=prompt("enter your name:","name"); alert ("greeting " + name + " , "); name=prompt("enter your friend's name:","friend's name"); </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!-document.write('<IMG SRC="Welcome.gif">'); document.write("<H1>Greeting ," + name + " Welcome to Web Design </H1>"); - -> </SCRIPT> </BODY> </HTML> 3.1.5 Lµm viÖc víi biÕn vµ biÓu thøc:

a. ThiÕt lËp biÓu thøc: Có ph¸p: <biÕn> <to¸n tö > <biÓu thøc> To¸n tö: = G¸n gi¸ trÞ bªn ph¶i cho biÕn bªn tr¸i VÝ dô: x=5 += Céng tr¸i vµ ph¶i, sau ®ã g¸n kÕt qu¶ cho biÕn bªn tr¸i phÐp to¸n VÝ dô: cho x=10, y=5 x+=y => x=15 -= Trõ bªn tr¸i cho bªn ph¶i, g¸n kÕt qu¶ l¹i cho biÕn bªn tr¸i x-=y => x=5 *= Nh©n bªn tr¸i cho bªn ph¶i, g¸n kÕt qu¶ cho biÕn bªn tr¸i x*=y => x=50

http://www.ebook.edu.vn

45

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

http://www.ebook.edu.vn

46

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

Có ph¸p:
if ®iÒu kiÖn lÖnh ; hoÆc if ®iÒu kiÖn { M· JavaScript }

http://www.ebook.edu.vn

47

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

Sö dông cÊu tróc else – if cho vÝ dô ë trªn
If (day==“Saturday”) { document.writeln(“It‘s the weekend”); } else { document.writeln(“It‘s not Saturday”); }

CÊu tróc kÕt hîp c¸c lÖnh if lång nhau:
if ®iÒu kiÖn 1 { C¸c lÖnh JavaScript if ®iÒu kiÖn 2 { C¸c lÖnh JavaScript } else { C¸c lÖnh kh¸c } C¸c lÖnh JavaScript } else { C¸c lÖnh kh¸c }

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

http://www.ebook.edu.vn

48

var output = (response ==answer ) ? correct:incorrect ; </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!-document.write(output); --> </SCRIPT> </BODY> </HTML>

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

http://www.ebook.edu.vn </BODY> </HTML> 3.1.7 Hµm vµ dèi t−îng

49

Trong kü thuËt lËp tr×nh c¸c lËp tr×nh viªn th−êng sö dông hµm ®Ó thùc hiÖn mét ®o¹n ch−¬ng tr×nh thÓ hiÖn cho mét module nµo ®ã ®Ó thùc hiÖn mét c«ng viÖc nµo ®ã. Trong Javascript cã c¸c hµm ®−îc x©y dùng s½n ®Ó gióp chóng ta thùc hiÖn mét chøc n¨ng nµo ®ã vÝ dô nh− hµm alert(), document.write(), parseInt() vµ ta còng cã thÓ ®Þnh nghÜa ra c¸c hµm kh¸c cña m×nh ®Ó thùc hiÖn mét c«ng viÖc nµo ®ã cña m×nh, ®Ó ®Þnh nghÜa hµm chóng ta theo có ph¸p sau:
function function_name(parameters, arguments) { command block; }

a. TruyÒn tham sè:
function printName(name) { document.write(“<HR>Your Name is <B><I>”); document.write(name); document.write(“</B></I><HR>”); }

VÝ dô: Gäi hµm printName() víi lÖnh sau printName(“Bob”); Khi hµm printName() ®−îc thi hµnh gi¸ trÞ cña name lµ "Bob", nÕu gäi hµm printName() víi ®èi sè lµ mét biÕn
var user = “John”; printName(user);

Khi ®ã name lµ “John”. NÕu muèn thay ®æi gi¸ trÞ cña name ta cã thÓ lµm nh− sau : name = “Mr. “ + name; b. Ph¹m vi cña biÕn: BiÕn toµn côc (Global variable): cã gi¸ trÞ ¶nh h−ëng trong toµn bé ch−¬ng tr×nh. BiÕn côc bé (Local variable): chØ cã gi¸ trÞ ¶nh h−ëng trong ph¹m vi hµm, ®o¹n m· chøa nã. c. Tr¶ vÒ c¸c gi¸ trÞ: VÝ dô: Dïng return ®Ó tr¶ vÒ gi¸ trÞ cña biÕn.
function cube(number) { var cube = number * number * number; return cube; }

VÝ dô:
<HTML>

http://www.ebook.edu.vn

50

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

Hµm eval dïng chuyÓn ®æi gi¸ trÞ chuçi sè thµnh gi¸ trÞ sè. VÝ dô: eval(“10*10”) tr¶ vÒ gi¸ trÞ lµ 100. d. Hµm ®Ö qui VÝ dô:
<HTML> <HEAD> <TITLE>Example</TITLE> <SCRIPT LANGUAGE= “JavaScript”> <!-- HIDE FROM OTHER BROWSERS //DEFINE FUNCTION testQuestion() function testQuestion(question) { //DEFINE LOCAL VARIABLES FOR THE FUNCTION

http://www.ebook.edu.vn

51

var answer=eval(question); var output= “What is ” + question + “?”; var correct= ‘<IMG SRC=“correct.gif”>’; var incorrect= ‘<IMG SRC=“incorrect.gif”>’; //ASK THE QUESTION var response=prompt(output,”0"); //CHECK THE RESULT return (response == answer) ? correct : testQuestion(question); } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE= “JavaScript”> <!-- HIDE FROM OTHER BROWSERS //ASK QUESTION AND OUTPUT RESULTS var result=testQuestion(“10 + 10”); document.write(result); //STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </BODY> </HTML>

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

http://www.ebook.edu.vn

52

return (response == answer) ? correct : incorrect; } } // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE=“JavaScript”> <!-- HIDE FROM OTHER BROWSERS //ASK QUESTION AND OUTPUT RESULTS var result=testQuestion(“10 + 10”,3); document.write(result); //STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </BODY> </HTML> 3.1.8 T¹o ®èi t−îng trong JavaScript

a. §Þnh nghÜa thuéc tÝnh cña ®èi t−îng:
function student(name,age, grade) { this.name = name; this.age = age; this.grade = grade; }

§Ó t¹o mét Object ta sö dông ph¸t biÓu new. VÝ dô ®Ó t¹o ®èi t−îng student1, ta sö dông khai b¸o: student1 = new student(“Bob”,10,75); Ba thuéc tÝnh cña ®èi t−îng student1 lµ : student1.name, student1.age, student1.grade VÝ dô ®Ó t¹o ®èi t−îng student2: student2 = new student(“Jane”,9,82); §Ó thªm thuéc tÝnh cho student1, ta cã thÓ lµm nh− sau: student1.mother = “Susan”; HoÆc chóng ta cã thÓ ®Þnh nghÜa l¹i hµm student
function student(name,age, grade,mother) { this.name = name; this.age = age; this.grade = grade; this.mother = mother; }

b. §èi t−îng lµ thuéc tÝnh cña ®èi t−îng kh¸c VÝ dô:

http://www.ebook.edu.vn

53

function grade (math, english, science) { this.math = math; this.english = english; this.science = science; } bobGrade = new grade(75,80,77); janeGrade = new grade(82,88,75); student1 = new student(“Bob”,10,bobGrade); student2 = new student(“Jane”,9,janeGrade);

student1.grade.math: dïng ®Ó lÊy ®iÓm To¸n cña student1 student2.grade.science: dïng lÊy ®iÓm m«n Khoa häc cña student2 c. Thªm ph−¬ng thøc cho ®èi t−îng:
function displayProfile() { document.write(“Name: “ + this.name + “<BR>”); document.write(“Age: “ + this.age + “<BR>”); document.write(“Mother’s Name: “ + this.mother + “<BR>”); document.write(“Math Grade: “ + this.grade.math + “<BR>”); document.write(“English Grade: “ + this.grade.english + “<BR>”); document.write(“Science Grade: “ + this.grade.science + “<BR>”); } function student(name,age, mother,grade) { this.name = name; this.age = age; this.grade = grade; this.mother = mother; this.displayProfile = displayProfile; } student1.displayProfile();

VÝ dô:
<HTML> <HEAD> <TITLE>Example</TITLE> <SCRIPT LANGUAGE=”JavaScript”> <!-- HIDE FROM OTHER BROWSERS //DEFINE METHOD function displayInfo() { document.write(“<H1>Employee Profile: ” + this.name + “</H1><HR><PRE>”); document.writeln(“Employee Number: ” + this.number); document.writeln(“Social Security Number: ” + this.socsec);

http://www.ebook.edu.vn

54

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

+

+

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

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

http://www.ebook.edu.vn

55

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

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

http://www.ebook.edu.vn

56

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

http://www.ebook.edu.vn

57

document.write("<b><font color=#0000ff face=”tahoma, helvetica, arial'>" + ampmhour + "" + myminutes + ampm) document.write(" - " + day + " ngµy " + myweekday +" "); document.write( month + " , n¨m " + year + "</font>"); // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </BODY> </HTML>

Sau khi duyÖt sÏ cho kÕt qu¶ nh− sau:

H×nh 3.4 KÕt qu¶ cña ®o¹n script hiÓn thÞ ngµy giê hÖ thèng 3.1.9 Sù kiÖn trong JavaScript

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

http://www.ebook.edu.vn

58

b. Bé qu¶n lý sù kiÖn (Event Handler) §Ó qu¶n lý c¸c sù kiÖn trong javascript ta dïng c¸c bé qu¶n lý sù kiÖn. Có ph¸p cña mét bé qu¶n lý sù kiÖn: <HTML_TAG OTHER_ATTRIBUTES eventHandler=”JavaScript Program”> VÝ dô:
<INPUT TYPE=”text” onChange=”checkField(this)”>

VÝ dô:
<INPUT TYPE=”text” onChange=“if (parseInt(this.value) <= 5) { alert(‘Please enter a number greater than 5.’); } “>

VÝ dô:
<INPUT TYPE=”text” onChange=“ alert(‘Thanks for the entry.’); confirm(‘Do you want to continue?’); “>

Tõ khãa this: quy cho ®èi t−îng hiÖn hµnh, trong Javascript, Form lµ mét ®èi t−îng. C¸c thµnh phÇn cña Form bao gåm text fields, checkboxes, radio buttons, buttons, vµ selection lists. c. C¸c bé qu¶n lý sù kiÖn trong Javascript §èi t−îng Bé qu¶n lý sù kiÖn t−¬ng øng. Selection list onBlur, onChange, onFocus Text element onBlur, onChange, onFocus, onSelect Textarea element onBlur, onChange, onFocus, onSelect Button element onClick Checkbox onClick Radio button onClick Hypertext link onClick, onMouseOver Reset button onClick Submit button onClick Document onLoad, onUnload Window onLoad, onUnload Form onSubmit d. C¸ch dïng bé qu¶n lý sù kiÖn onLoad & onUnload
<HTML> <HEAD> <TITLE>Example 5.1</TITLE> </HEAD> <BODY onLoad=”alert(‘Welcome to my page!’);” onUnload=”alert(‘Goodbye! Sorry to see you go!’);”> <IMG SRC=”title.gif”>

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

59

VÝ dô 1:
<HTML> <HEAD> <TITLE>Example</TITLE> <SCRIPT LANGUAGE=”JavaScript”> <!-- HIDE FROM OTHER BROWSERS var name = “”; // STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY onLoad=” name = prompt(‘Enter Your Name:’,’Name’); alert(‘Greetings ‘ + name + ‘, welcome to my page!’);” onUnload=” alert(Goodbye ‘ + name + ‘, sorry to see you go!’);”> <IMG SRC=”title.gif”> </BODY> </HTML>

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

http://www.ebook.edu.vn

60

e. C¸c sù kiÖn vµ Form C¸c sù kiÖn ®−îc sö dông ®Ó truy xuÊt Form nh−: onClick, onSubmit, onFocus, onBlur, vµ onChange. VÝ dô 1:
<INPUT TYPE=text NAME=”test” VALUE=”test” onBlur=”alert(‘Thank You!’);” onChange=”check(this);”>

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

JavaScript

http://www.ebook.edu.vn

61

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

formObjectName.fieldname: Dïng ®Ó chØ tªn tr−êng cña hiÖn hµnh trong form. formObjectName.fieldname.value: Dïng lÊy gi¸ trÞ cña tr−êng form hiÖn hµnh.
3.1.10 Sö dông vßng lÆp trong JavaScript

a. Vßng lÆp for : Có ph¸p :
for ( init value ; condition ; update expression )

VÝ dô 1:
for (i = 0 ; i < 5 ; i++) { lÖnh ; }

VÝ dô 2:
<HTML> <HEAD> <TITLE> for loop Examle </TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"> <!- var name=prompt("What is your name?" ,"name"); var query= " " ; document.write("<H1>" + name + " 's 10 favorite foods </H1> "); for (var i=1 ;i<=10;i++) { document.write(i + " " + prompt('Enter food number ' + i, 'food' ) + '<BR>'); }

http://www.ebook.edu.vn - -> </SCRIPT> </BODY> </HTML>

62

b. Vßng lÆp while : Có ph¸p:
While ( ®iÒu kiÖn) { lÖnh JavaScript ; }

VÝ dô 1:
var num=1; while(num<=10) { document.writeln(num); num++; }

VÝ dô 2:
var answer=” “ ; var correc=100; var question=” what is 10*10 ?” ; while(answer!=correct) { answer=prompt(question,”0”); }

c. T¹o m¶ng víi vßng lÆp for:
function createArray(num) { this.length=num; for ( var j=0 ; j<num; j++) this[j]=0; }

Hµm sÏ t¹o mét m¶ng cã gi¸ trÞ index b¾t ®Çu lµ 0 vµ g¸n tÊt c¶ c¸c gi¸ trÞ cña m¶ng vÒ 0 . §Ó sö dông ®èi t−îng m¶ng ta cã thÓ lµm nh− sau: newArray= new createArray(4); SÏ t¹o ra mét m¶ng gåm 4 thµnh phÇn newArray[0] … newArray[3]
3.1.11 Sö dông ®èi t−îng Windows

Window lµ ®èi t−îng cña m«i tr−êng Navigator, ngoµi c¸c thuéc tÝnh Window ®èi t−îng window cßn gi÷ c¸c ®èi t−îng kh¸c mµ cã thÓ ®−îc xem nh− lµ c¸c thµnh phÇn (member) cña window, c¸c ®èi t−îng ®ã lµ:

http://www.ebook.edu.vn

63

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

http://www.ebook.edu.vn

64

• close(): §ãng cöa sæ hiÖn hµnh. • open(): Më mét cöa sæ míi víi 1 tµi liÖu ®−îc chØ ra hoÆc më mét tµi liÖu trong mét tªn cöa sæ ®−îc chØ ®Þnh. • prompt(): HiÖn mét hép th«ng b¸o. • setTimeout(): • clearTimeout(): Hµnh vi nµy cung cÊp c¸ch gäi ph¸t biÓu JavaScript sau mét kho¶ng thêi gian tr«i qua. Ngoµi ra ®èi t−îng window cã thÓ thùc hiÖn event handler: onLoad=statement.
3.1.12 Lµm viÖc víi status bar

Khi user di chuyÓn qua mét hyperlink ta cã thÓ hiÖn ra mét th«ng b¸o t¹i thanh status bar cña browser dùa vµo event handler onMouseOver vµ b»ng c¸ch ®Æt self.status lµ mét chuçi (hoÆc window.status). VÝ dô:
<HTML> <HEAD> <TITLE>Status Example</TITLE> <BODY> <A HREF=”plc.htm” onMouseOver=”self.status=’Chuyen de PLC’; return true ; “ > Lop chuyen dÒ PLC </A> <A HREF=”tkweb.htm” onMouseOver=”self.status=’Thiet Ke Trang Web’ ; return true ; “ > Thiet Ke Web</A> </BODY> </HTML> 3.1.13 Më vµ ®ãng c¸c cöa sæ

Sö dông ph−¬ng thøc open() vµ close() ta cã thÓ ®iÒu khiÓn viÖc më vµ ®ãng cöa sæ chøa tµi liÖu: open (“URL” , “WindowName” , “featureList”) ; C¸c ®Æc ®iÓm trong ph−¬ng ph¸p open() gåm cã: • toolbar: t¹o mét toolbar chuÈn • location: t¹o mét vïng location • directories: t¹o c¸c button th− môc chuÈn • status: t¹o thanh tr¹ng th¸i. • menubar: t¹o thanh menu t¹i ®Ønh cña cöa sæ • scrollbars: t¹o thanh scroll bar • resizable: cho phÐp user thay ®æi kÝch th−íc cöa sæ • width: chØ ®Þnh chiÒu réng cöa sæ theo ®¬n vÞ pixel • height: chØ ®Þnh chiÒu cao cöa sæ theo ®¬n vÞ pixel VÝ dô 1:
window.open( “plc.htm”, ”newWindow”, ”toolbar=yes, location=1,

http://www.ebook.edu.vn

65

directories=yes, status=yes, menubar=1, scroolbar=yes, resizable=0, copyhistory=1, width=200, height=200”);

VÝ dô 2:
<HTML> <HEAD> <TITLE>WINDOWS</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-function openWindow(url,name) { popupWin = window.open(url, name, "scrollbars=yes,width=800, heigth=200 "); } --> </SCRIPT> </HEAD> <BODY> <a href="javascript:openWindow('../chuyende/plc.htm','Win')">PLC</a>, <a href="javascript:openWindow('../chuyende/suachuaw.htm','stoogeWin ')">Sua chua</a>, <a href="javascript:openWindow('../chuyende/tkweb.htm','stoogeWin')"> Thiet ke web</a> </BODY> </HTML>

§Ó ®ãng cöa sæ ta cã thÓ dïng ph−¬ng thøc close() VÝ dô:
<HTML> <HEAD> <TITLE>Close Example</TITLE> </HEAD> <BODY > <A HREF="#" ONCLICK="self.close();return false"> <IMG ALIGN="middle" SRC="../demo.gif" WIDTH="16" HEIGHT="16" BORDER="0"></A> <A HREF="#" ONCLICK="self.close();return false">Close This Sample</A> </BODY > </HTML>

http://www.ebook.edu.vn 3.1.14 Sö dông ®èi t−îng string

66

String lµ mét ®èi t−îng cña JavaScript, khi dïng ®èi t−îng string chóng ta kh«ng cÇn c¸c ph¸t biÓu ®Ó t¹o mét instance (thÓ hiÖn) cña ®èi t−îng, bÊt kú lóc nµo ta ®Æt text gi÷a hai dÊu ngoÆc kÐp vµ g¸n nã ®Õn mét biÕn hoÆc mét thuéc tÝnh th× ta ®· t¹o mét ®èi t−îng string. a. C¸c thuéc tÝnh cña ®èi t−îng string Thuéc tÝnh length tr¶ vÒ sè ký tù (chiÒu dµi) cña string. b. C¸c ph−¬ng thøc (Methods) cña ®èi t−îng string • anchor (nameAttribute) • big() • blink() • bold() • charAt(index) • fixed() • fontcolor(color) • fontsize(size) • indexOf(character,[fromIndex]) • italics() • lastIndexOf(character,[fromIndex]) • link(URL) • small() • strike() • sub() • substring(startIndex,endIndex) • sup() • toLowerCase() • toUpperCase()
3.2 VBScript

VBScript lµ mét c«ng nghÖ cña Microsoft yªu cÇu ph¶i cã Microsoft Internet Explorer. Tr−íc khi b¾t ®Çu häc viÕt VBScript, chóng ta cÇn ph¶i biÕt c¸c kh¸i niÖm c¬ b¶n vÒ: WWW, HTML vµ c¸c kiÕn thøc c¨n b¶n ®Ó x©y dùng mét trang web.
3.2.1 VBScript lµ g×?

VBScript lµ mét ng«n ng÷ kÞch b¶n. Mét ng«n ng÷ script lµ mét ng«n ng÷ lËp tr×nh nhÑ. VBScript lµ phiªn b¶n nhÑ cña ng«n ng÷ lËp tr×nh Vusual Basic. Khi VBScript ®−îc chÌn vµo trong v¨n b¶n HTML, tr×nh duyÖt Internet sÏ ®äc v¨n b¶n HTML ®ã vµ dÞch c¸c ®o¹n m· VBScript. C¸c ®o¹n m· nµy ®−îc thùc hiÖn hoÆc lµ ngay lóc ®ã hoÆc trong c¸c sù kiÖn sau nµy.
3.2.2 BiÕn vµ ph¹m vi biÕn

BiÕn lµ mét vïng chøa th«ng tin cÇn l−u tr÷. Gi¸ trÞ cña biÕn cã thÓ ®−îc thay ®æi trong qu¸ tr×nh lËp tr×nh. Ta cã thÓ lµm viÖc víi mét biÕn th«ng qua tªn cña nã, còng nh− cã thÓ thay ®æi gi¸ trÞ cña biÕn ®ã. Trong VBScript, tÊt c¶ c¸c biÕn ®Òu cã kiÓu lµ variant, vµ nã cã thÓ l−u tr÷ bÊt kú d¹ng d÷ liÖu nµo.

http://www.ebook.edu.vn

67

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

http://www.ebook.edu.vn

68

T−¬ng tù nh− vËy chóng ta cã thÓ lÊy gi¸ trÞ cña bÊt kú phÇn tö nµo trong array mµ ta cÇn b»ng c¸ch sö dông chØ sè t−¬ng øng cña phÇn tö: eng = names(0) Chóng ta chØ cã thÓ khai b¸o nhiÒu nhÊt tíi 60 chiÒu cho mét array. C¸c chiÒu ®−îc khai b¸o c¸ch nhau bëi dÊu phÈy. VÝ dô sau khai b¸o mét array bao gåm 5 dßng vµ 7 cét: dim table(4,6)
3.2.3 C¸c kiÓu d÷ liÖu

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

http://www.ebook.edu.vn

69

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

Double

http://www.ebook.edu.vn

70

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

http://www.ebook.edu.vn

71

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

http://www.ebook.edu.vn

72

TypeName VarType

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

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

http://www.ebook.edu.vn

73

• Thùc hiÖn mét tËp hîp lÖnh nµo ®ã nÕu ®iÒu kiªn tho¶ m·n.
if i = 10 then msgbox “Hello”

NÕu muèn thùc hiÖn nhiÒu h¬n mét c©u lÖnh khi ®iÒu kiÖn ®−îc tho¶ m·n, chóng ta cÇn viÕt tõng c©u lÖnh trªn mét dßng lÖnh kh¸c nhau vµ kÕt thóc bëi tõ kho¸ “End If”.
if i = 10 then msgbox “Hello” i=i+1 End if

• Lùa chän mét trong hai tËp hîp lÖnh ®Ó thùc hiÖn: NÕu muèn thùc hiÖn mét tËp hîp lÖnh nµo ®ã khi ®iÒu kiÖn ®−îc tho¶ m·n vµ thùc hiÖn mét tËp hîp lÖnh kh¸c nÕu ®iÒu kiÖn kh«ng tho¶ m·n, ta dïng nh− sau:
if i = 10 then msgbox “Hello” else msgbox “Goodbye” End if

C©u lÖnh if ... then....elseif: Sö dông c©u lÖnh nµy khi muèn lùa chän mét trong nhiÒu tËp hîp lÖnh ®Ó thùc hiÖn.
if payment="Cash" then msgbox "You are going to pay cash!" elseif payment="Visa" then msgbox "You are going to pay with visa." elseif payment="AmEx" then msgbox "You are going to pay with American Express." else msgbox "Unknown method of payment." end If

C©u lÖnh Select case: Sö dông c©u lÖnh nµy khi muèn lùa chän mét trong nhiÒu tËp hîp lÖnh ®Ó thùc hiÖn.
select case payment case "Cash" msgbox "You are going to pay cash" case "Visa" msgbox "You are going to pay with visa" case "AmEx" msgbox "You are going to pay with American Express" case Else msgbox "Unknown method of payment" end select

C©u lÖnh nµy lµm viÖc nh− sau: §Çu tiªn chóng ta cã mét biÓu thøc, th−êng

http://www.ebook.edu.vn

74

lµ mét biÕn, cÇn ®−îc ®¸nh gi¸ gi¸ trÞ. Gi¸ trÞ cña biÓu thøc nµy ®−îc so s¸nh víi tõng gi¸ trÞ trong cÊu tróc Case. NÕu chóng b»ng nhau, tËp hîp c¸c lÖnh t−¬ng øng víi gi¸ trÞ Case ®ã ®−îc thùc hiÖn. f. C¸c cÊu tróc lÆp C©u lÖnh For...Next: LÆp l¹i viÖc thùc hiÖn mét tËp hîp c¸c c©u lÖnh mét sè x¸c ®Þnh lÇn. ta cã thÓ sö dông mét biÕn ®Õm t¨ng dÇn hoÆc gi¶m dÇn sau mçi lÇn thùc hiÖn vßng lÆp. Có ph¸p: For i = 1 to 10 step 2 C¸c lÖnh ë ®©y Next Tõ kho¸ step chØ b−íc nh¶y sau mçi lÇn thùc hiÖn c¸c c©u lÖnh trong vßng lÆp. NÕu dïng vßng lÆp gi¶m dÇn th× gi¸ trÞ cña step cÇn ®Æt lµ sè ©m. Gi¸ trÞ ngÇm ®Þnh lµ 1. Tõ kho¸ Exit For dïng ®Ó nh¶y ra khái vßng lÆp. Vßng lÆp víi For Each... Next: Vßng lÆp nµy thùc hiÖn mét tËp hîp lÖnh ®èi víi mçi phÇn tö trong tËp hîp, hoÆc víi mçi phÇn tö trong mét d·y. C©u lÖnh nµy thùc hiÖn kh«ng kh¸c nguyªn t¾c cña vßng For...Next, chØ kh¸c ë chç ta kh«ng cÇn chØ ra sè l−îng lÇn muèn thùc hiÖn vßng lÆp.
dim names(2) names(0)="Tove" names(1)="Jani" names(2)="Hege" For Each x in names document.write(x & "<br />") Next

CÊu tróc Do ... Loop: • Tõ kho¸ While CÊu tróc nµy dïng ®Ó thùc hiÖn mét tËp hîp lÖnh khi kh«ng biÕt tr−íc sè lÇn cÇn thùc hiÖn. Vßng lÆp sÏ thùc hiÖn khi ®iÒu kiÖn While vÉn cßn ®−îc tho· m·n. Sö dông tõ kho¸ While ®Ó kiÓm tra ®iÒu kiÖn trong cÊu tróc Do...Loop.
Do While i>10 some code Loop

NÕu i = 9 th× c¸c c©u lÖnh trong cÊu tróc nµy kh«ng ®−îc thùc hiÖn lÇn nµo. Nh−ng nÕu thay ®æi ®o¹n m· trªn nh− sau:
Do some code Loop While i>10

Th× c¸c c©u lÖnh trong Do...Loop ®−îc thùc hiÖn Ýt nhÊt mét lÇn ngay c¶ khi gi¸ trÞ cña i nhá h¬n 10. • Tõ kho¸ Until LÆp l¹i viÖc thùc hiÖn c¸c lÖnh cho tíi khi ®iÒu kiÖn tho¶ m·n b»ng viÖc sö

http://www.ebook.edu.vn

75

dông tõ kho¸ Until. Có ph¸p:
Do Until i=10 some code Loop

NÕu i = 10, c¸c c©u lÖnh bªn trong vßng lÆp kh«ng ®−îc thùc hiÖn lÇn nµo.
Do some code Loop Until i=10

C¸c c©u lÖnh bªn trong vßng lÆp ®−îc thùc hiÖn Ýt nhÊt mét lÇn trong tr−êng hîp ta kiÓm tra ®iÒu kiÖn sau. • Tõ kho¸ Exit Do Tho¸t ra khái Do...Loop: Dïng lÖnh Exit Do ®Ó tho¸t ra khái vßng lÆp Do...Loop:
Do Until i=10 i=i-1 If i<10 Then Exit Do Loop

C¸c c©u lÖnh trong vßng lÆp ®−îc thùc hiÖn khi kh¸c 10, vµ khi i lín h¬n 10.
3.3 C©u hái vµ bµi tËp ch−¬ng 3 3.3.1 C©u hái «n tËp

C©u 1: Kh¸i niÖm, ®Æc tÝnh vµ c¸ch thøc nhóng JavaScript vµo HTML. C©u 2: C¸c kiÓu d÷ liÖu trong JavaScript? C©u 3: C¸c sù kiÖn trong JavaScript? C©u 4: Kh¸i niÖm, c¸ch thøc nhóng VBScript vµo tµi liÖu HTML. C©u 5: BiÕn, c¸ch thøc ®Æt tªn biÕn vµ ph¹m vi biÕn trong VBScript? C©u 6: C¸c kiÓu d÷ liÖu vµ c¸c hµm trong VBScript?
3.3.2 Bµi tËp lËp tr×nh víi c¸c ng«n ng÷ kÞch b¶n

Bµi 1: T¹o 2 nót bÊm (OK vµ Cancel), thñ tôc xö lý sù kiÖn khi nhÊn nót OK ®−îc viÕt b»ng VBScript vµ hµm sö lý sù kiÖn khi nhÊn nót Cancel ®−îc viÕt b»ng JavaScript. Bµi 2: Sö dông JavaScript vµ VBScript lÇn l−ît viÕt ch−¬ng tr×nh kiÓm tra tÝnh hîp lÖ cña d÷ liÖu nhËp tõ form. NÕu thiÕu th× th«ng b¸o cho ng−êi dïng biÕt, ng−îc l¹i th× th«ng b¸o “th«ng tin ®ac nhËp ®Çy ®ñ” Bµi 3: ThiÕt kÕ form nhËp liÖu bao gåm c¸c textbox: Hä, tªn, quèc tÞch (listbox), ®iÖn tho¹i, ®Þa chØ, giíi tÝnh (radiobox), ngµy th¸ng n¨m sinh (ngµy, th¸ng lµ listbox), nghÒ nghiÖp (listbox), tªn ®¨ng nhËp, mËt khÈu, nhËp l¹i mËt khÈu. Khi nhÊn nót “ChÊp nhËn” th× kiÓm tra tÝnh ®Çy ®ñ vµ hîp lÖ cña d÷ liÖu, NÕu nhÊn “Tõ chèi” th× reset l¹i tÊt c¶ c¸c hép nhËp d÷ liÖu. Thùc hiÖn b»ng c¶ VBScript vµ JavaScript. Bµi 4: ThiÕt kÕ mét form m« pháng trang web ®¨ng ký mail cña Yahoo, sau khi nhÊn Submit th× kiÓm tra tÝnh hîp lÖ vµ ®Çy ®ñ cña d÷ liÖu. Sö dông c¶ VBScript vµ JavaScript ®Ó kiÓm tra.

http://www.ebook.edu.vn Ch−¬ng 4

76

LËp tr×nh Web ®éng víi c«ng nghÖ ASP

4.1 Mét sè kh¸i niÖm c¬ b¶n vÒ ASP 4.1.1 Kh¸i niÖm Web ®éng

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

ASP (Active Server Page) lµ mét thµnh phÇn më réng cña IIS. Khi cµi ®Æt, ASP sinh ra c¸c bé xö lý ¶o ®èi víi ng«n ng÷ kÞch b¶n (script engine) t¹i server ®Ó IIS cã thÓ xö lý c¸c m· script mµ c¸c m· nµy cã thÓ viÕt ®an xen trong c¸c trang HTML. Khi Client gäi ®Õn mét file .asp trªn Web Server, Web Server lËp tøc gäi ®Õn Script engine ®Ó xö lý. Script engine sÏ thùc hiÖn c¸c lÖnh script ®Ó biÕn trang ASP thµnh trang HTML råi göi l¹i Client. Chó ý r»ng qu¸ tr×nh nµy thùc hiÖn t¹i server chø kh«ng ph¶i t¹i Client. V× vËy chóng ta kh«ng ph¶i quan t©m tíi viÖc browser xö lý c¸c trang Web nh− thÕ nµo. Nh− vËy thùc sù qu¸ tr×nh nµy ®−îc thùc hiÖn theo m« h×nh Client-Server. ASP lµ c«ng nghÖ Web Server míi cña Microsoft, nã ®−îc thiÕt kÕ ®Ó gióp ng−êi ph¸t triÓn øng dông trªn Web x©y dùng c¸c trang Web øng dông nhanh chãng vµ dÔ dµng. ASP lµ mét phÇn tÝch hîp cña c«ng nghÖ c¬ së Active (Active Platform), lµ h¹t nh©n trong chiÕn l−îc internet cña Microsoft. Active Platform lµ mét tËp hîp c¸c ng«n ng÷, c¸c chuÈn vµ c¸c dÞch vô cã thÓ ®−îc sö dông ®Ó ph¸t

http://www.ebook.edu.vn

77

triÓn c¶ øng dông Active Desktop(b¶n Client) vµ Active Server (b¶n Server) trong m« h×nh CSDL tÝnh to¸n Client / Server. M« h×nh Active Platform gióp cho ng−êi ph¸t triÓn øng dông x©y dùng øng dông hiÖu qu¶ vÒ gi¸ thµnh, më réng kh¶ n¨ng c¶u c¸c øng dông ch¹y trªn Server còng nh− ch¹y trªn Client vµ n©ng cao kü n¨ng ph¸t triÓn øng dông cña hä. §ång thêi, nã còng lµm viÖc chuyÓn ®æi tõ øng dông Desktop sang øng dông Client/Server ®Çy ®ñ, dÔ dµng.
4.1.3 Scripting?

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

http://www.ebook.edu.vn

78

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

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

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

Chóng ta sö dông nh÷ng c«ng cô cña Microsoft nh−: Microsoft Frontpage, Microsoft’s Visual InterDev ®Ó t¹o mét file ASP . §Ó xem mét file ASP, chóng ta kh«ng thÓ göi nã ®Õn Browser nh− mét trang

http://www.ebook.edu.vn

79

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

KÕt qu¶ lµ tr×nh duyÖt sÏ hiÓn thÞ 3 dßng Chµo b¹n! víi kÝch th−íc t¨ng dÇn nh− sau Chµo b¹n!

Chµo b¹n!

Chµo b¹n!
Trong vÝ dô nµy chóng ta míi ®Ò cËp ®Õn nguyªn lý lµm viÖc cña ASP mµ ch−a nãi ®Õn c¬ chÕ t¹o Web ®éng tøc lµ c¸ch t¹o c¸c trang Web thay ®æi theo th«ng tin t−¬ng t¸c mµ ng−êi sö dông cung cÊp. Trong vÝ dô ta sÏ lµm viÖc nh− sau: T¹o mét trang Web cã mét form ®Ó ng−êi sö dông nhËp vµo hä, tªn vµ giíi tÝnh qua Textbox vµ option. Ng−êi sö dông còng ®¸nh vµo mét sè tù nhiªn. Khi nhËn ®−îc, ASP sÏ göi l¹i mét trang Web víi mét lêi chµo phï hîp víi giíi tÝnh vµ tªn ng−êi ®· ®−îc cung cÊp ®ång thêi cho ra tÊt c¶ c¸c −íc sè cña sè nµy. Sau ®©y lµ ®o¹n m· cña hai trang ASP thùc hiÖn hiÖu øng nµy. Cã mét sè c©u lÖnh script cã thÓ cßn l¹ nh−ng ý nghÜa hoµn toµn râ rµng.

http://www.ebook.edu.vn

80

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

H×nh 4.2 Form sö dông ASP §©y lµ néi dung tÖp Chao.asp m« t¶ øng xö khi ta bÊm nót Göi ®i t−¬ng øng víi ho¹t ®éng Submit cña Form
<HTML> <HEAD> <TITLE>Example</TITLE>

http://www.ebook.edu.vn

81

</HEAD> <BODY> <% ho=request.Form("hodem") ten=request.Form("ten") so=request.Form("so") gioitinh=request.form("gioitinh") if gioitinh="Nam" then gioitinh="Ong" else gioitinh="Ba" end if response.Write "Xin chao " & gioitinh & " " & ho &" " & ten &" <br>" response.Write "Day la ket qua tinh " & "<br>" for i=1 to so-1 if so mod i =0 then response.Write i & "<br>" end if next %> </BODY> </HTML> 4.1.5 Server-side Includes:

Server-side Includes (SSI) lµ mét thuËt ng÷ ®−îc sö dông ®Ó m« t¶ c¸ch thøc c¸c yÕu tè kh¸c nhau ®−îc chÌn vµo trang Web a. G¾n nh÷ng file text vµo mét trang víi #include: Chóng ta cã thÓ g¾n file text GetLastDay.txt (vèn lµ mét file ASP, ®−îc save víi tªn trªn, cã function cã chøc n¨ng lÊy l¹i ngµy cuèi cïng trong mét th¸ng) vµo mét trang Web b»ng c¸ch thªm c©u lÖnh trªn vµo trang vµ gäi chøc n¨ng:
<!-- #include file=”GetLastDay.txt” --> ... intLastDayAugust = GetLastDay(datAugust) ‘ chøc n¨ng chóng ta g¾n vµo ...

NÕu muèn g¾n Script tõ c¸c file kh¸c, file nµy ph¶i chøa nh÷ng phÇn Script hoµn chØnh . Nãi mét c¸ch kh¸c, nã ph¶i cã ®ñ nh÷ng tag <SCRIPT> ... </SCRIPT> hoÆc <% ... %>. b. §Þa chØ vËt lý, ®Þa chØ ¶o cña file: #include cho phÐp chóng ta chØ ®Õn mét file b»ng ®êng dÉn vËt lý hoÆc ®êng dÉn ¶o.VÝ dô file Mytext.txt n»m trong th môc c:\TextFile vµ còng cã bÝ danh (alias) lµ /Text, ta cã thÓ tham kh¶o tíi nã b»ng nh÷ng c¸ch sau:
<!-- #include file=”C:\TextFile\MyFile.txt” --> ‘ ®−êng dÉn vËt lý <!-- #include file=”/Text/MyFile.txt” --> ‘ ®−êng dÉn ¶o

http://www.ebook.edu.vn

82

4.2 ¦u ®iÓm cña viÖc sö dông ASP t¹o Web ®éng 4.2.1 §¬n gi¶n, dÔ häc vµ hiÖu qu¶:

Häc vµ ph¸t triÓn ASP lµ rÊt dÔ dµng. Ta cã thÓ sö dông ASP ®Ó x©y dùng mét Web site cã kh¶ n¨ng t−¬ng t¸c cao. V× c¸c ng«n ng÷ kÞch b¶n nh− VBScript, Jscript ®−îc tÝch hîp trong ASP nªn rÊt tiÖn cho ng−êi ph¸t triÓn ®· biÕt ng«n ng÷ VB, Java hay C++, cßn ®èi víi ng−êi ch−a biÕt th× viÖc häc nã còng dÔ dµng. C¸c øng dông ASP kh«ng cÇn cã tr×nh biªn dÞch. Trong mét vµi c«ng nghÖ kh¸c nh− CGI, ®Ó ph¸t triÓn c¸c trang Web ®éng cÇn ph¶i cã mét tr×nh biªn dÞch ®Ó dÞch thµnh mét ch−¬ng tr×nh cã thÓ ch¹y ®−îc sö dông c¸c m«i tr−êng ph¸t triÓn øng dông truyÒn thèng nh− Visual C++. Sau khi øng dông ®−îc dÞch, nã sÏ ®−îc copy vµo th− môc CGI cña Web Server. ChØ cÇn cã mét chót söa ®æi ch−¬ng tr×nh th× ta ph¶i dÞch l¹i m· nguån cña ch−¬ng tr×nh vµ sau ®ã l¹i ph¶i copy ®Ì lªn phiªn b¶n tr−íc cña file ch¹y. ASP gi¶i quyÕt vÊn ®Ò nµy b»ng c¸ch cung cÊp c¸c c¸ch t¹o lËp trang Web mét c¸ch trùc tiÕp vµ dÔ dµn h¬n theo kiÓu th«ng dÞch(interpreter). Sau khi x©y dùng xong mét øng dông Web b»ng ASP, ta kh«ng cÇn ph¶i dÞch chïng mµ chØ cÇn l−u gi÷ vµo mét file cã kiÓu lµ .asp vµ c¸c ASP sÏ xö lý khi file nµy ®−îc gäi ®Õn. Ngoµi c¸c thµnh phÇn ASP s½n cã gióp chóng ta x©y dùng rÊt nhiÒu øng dông ®éng kh¸c, ASP còng cho phÐp ta tù t¹o ra c¸c thµnh phÇn ASP cña riªng m×nh.
4.2.2 B¶o mËt ®−îc m·:

Mét ®iÓm bÊt lîi trong viÖc sö dông ng«n ng÷ kÞch b¶n Client lµ ph¬i bµy tÊt c¶ c¸c th«ng tin vµ thuËt gi¶i cña bµi to¸n. NÕu mét bµi to¸n sö dông ng«n ng÷ kÞch b¶n t¹i Client nh− VBSCript th× bÊt kú ai nh×n vµo m· nguån cña trang Web ®Òu cã thÓ thÊy ®−îc thuËt to¸n cña nã. Víi ASP tÊt c¶ c¸c Script ®−îc thùc hiÖn trªn Server vµ chØ cã kÕt qu¶ ra d−íi d¹ng HTML ®−îc göi vÒ Browser nªn nÕu ng−êi dïng muèn xem m· nguån cña trang Web th× hä chØ xem ®−îc m· HTML chø kh«ng xem ®−îc m· Script ®· t¹o nªn trang Web ®ã. Nh− vËy nÕu sö dông ASP th× NSD kh«ng thÓ biÕt ®−îc thuËt to¸n cña nhµ ph¸t triÓn v× c¸c m· ASP ®−îc thùc hiÖn trªn Server. ASP b¶o vÖ sù së h÷u vÒ th«ng tin vµ thuËt to¸n.
4.2.3 B¶o tr× dÔ dµng:

M«i tr−êng ph¸t triÓn ASP gióp n©ng cao hiÖu qu¶ sö dông cña c¸c thiÕt bÞ s½n cã. M«i tr−êng ph¸t triÓn ASP gióp cho ng−êi ph¸t triÓn sö dông mét c¸ch dÔ dµng vµ cã hiÖu qu¶ c¸c kü n¨ng s½n cã. ASP cung cÊp mét c¬ cÊu thiÕt lËp c¸c trang Web phøc t¹p sö dông ng«n ng÷ kÞch b¶n quen thuéc nh− VBScript, Jscript/JavaScript hay Perl. §èi víi nhiÒu phÇn mÒm Client/Server kh¸c, ngoµi phÇn ®−îc viÕt trªn Server, cßn cÇn phÇn viÕt trªn Client. Nh− vËy ®é phøc tËp vµ tèn kÐm vÒ mÆt lËp tr×nh sÏ t¨ng lªn. Khi viÕt b»ng ASP th× chØ cÇn cã tr×nh duyÖt Web t¹i m¸y Client, sau ®ã nèi ®Õn m¸y chñ, nh− thÕ viÖc trªn Client kh«ng cßn g× ph¶ quan t©m. Mçi khi cÇn söa ch÷a hoÆc n©ng cÊp kh«ng cÇn ph¶i lµm g× víi b¶n Client. Th«ng qua c¸c c©u lÖnh Script, ta cã thÓ kÕt nèi ®Õn víi mét CSDL t¹i mét Database Server. §Ó lµm viÖc trªn CSDL nµy, ta cã thÓ nhóng ng«n ng÷ truy vÊn SQL. Th«ng qua ®ã viÖc läc d÷ liÖu ®¬n gi¶n, c«ng viÖc läc d÷ liÖu ®−îc tiÕn hµnh trªn Server nªn tr¸nh ®−îc ¸ch t¾c ®−êng truyÒn.

http://www.ebook.edu.vn

83

4.3 Cµi ®Æt IIS vµ t¹o th− môc ¶o cho øng dông 4.3.1 1. Cµi ®Æt IIS

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

Chóng ta cã thÓ t¹o c¸c th− môc ¶o bªn d−íi øng dông Default Web site. Th«ng th−êng mét øng dông Web ®−îc ®Æt trong mét th− môc ¶o vµ ®−îc tham chiÕu ®Õn th«ng qua ®Þa chØ URL. Chän Internet Information Service:

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

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

http://www.ebook.edu.vn

84

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

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

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

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

http://www.ebook.edu.vn

85

H×nh 4.6 ThiÕt lËp quyÒn truy cËp cho th− môc ¶o. 4.4 CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP 4.4.1 C¸c thµnh phÇn ®−îc dïng trong trang ASP

File ASP lµ mét file d−íi d¹ng Text, ta cã thÓ sö dông bÊt cø tr×nh so¹n th¶o v¨n b¶n d−íi d¹ng text only ®Ó so¹n th¶o ra file ASP. File ASP cã phÇn më réng lµ .asp . Trong file ASP cã thÓ cã: • C¸c m· HTML. • C¸c ký hiÖu phÊn c¸ch Script. • C¸c m· Script. • C¸c thµnhh phÇn ActiveX. • C¸c ®èi t−îng ASP. §iÓm kh¸c biÖt c¬ b¶n gi÷a file ASP víi file HTML lµ sù cã mÆt c¸c dÊu ph©n ch¸ch c¸c m· Script víi c¸c m· HTML. Trong file ASP nÕu ta viÕt h−íng dÉn <%<lÖnh>%> th× ASP hiÓu r»ng lÖnh bªn trong hai dÊu <% vµ %> lµ mét lÖnh Script. Nh− ®· nãi ë trªn, c¸c lÖnh Script cã thÓ lµ VBScript hay Jscript.
4.4.2 BiÕn trong ASP

BiÕn ®−îc cho b»ng mét tªn gäi nµo ®ã (quy c¸ch gièng nh− biÕn dïng trong Visual Basic) – cã thÓ tra cøu c¸c tµi liÖu cña VB ®Ó biÕt thªm nguyªn t¾c ®Æt tªn biÕn. Khi sö dông biÕn trong Script, ta kh«ng cÇn ph¶i khai b¸o tr−íc mµ cã thÓ sö dông trùc tiÕp. C¸c biÕn trong ASP kh«ng cã kiÓu, kiÓu cña nã sÏ ®−îc x¸c ®Þnh mét c¸ch tù ®éng khi cã lÖnh g¸n gi¸ trÞ vµo biÕn. NÕu cã khai b¸o biÕn th× có ph¸p nh− sau: Dim tªn_biÕn
4.4.3 C¸c lÖnh c¬ b¶n cña ASP

a. LÖnh g¸n: Có ph¸p: <%<biÕn>=[gi¸ trÞ]%>

http://www.ebook.edu.vn

86

LÖnh nµy sÏ n¹p gi¸ trÞ vµo biÕn b. LÖnh ®−a ra mµn h×nh gi¸ trÞ cña biÕn: Có ph¸p: <%=<biÕn>%> Khi xö lý lÖnh nµy, ASP chuyÓn ®o¹n m· ng÷ trªn thµnh mét v¨n b¶n víi néi dung chÝnh lµ lÖnh g¸n gi¸ trÞ cña biÕn. Khi tr×nh duyÖt xö lý nã sÏ hiÓn thÞ gi¸ trÞ nµy ra mµn h×nh. c. C¸c cÊu tróc ®iÒu khiÓn: C©u lÖnh If-then-else – end if
<% if <®iÒu kiÖn> then <c¸c c©u lÖnh> [else <c¸c c©u lÖnh kh¸c>]%>

VÝ dô kiÓm tra thêi gian ®Ó hiÓn thÞ c©u “B©y giê lµ buæi s¸ng” hay “B©y giê lµ buæi chiÒu”
<% if time<=#12:00:00 AM# then x=“B©y giê lµ buæi s¸ng” else x=“B©y giê lµ buæi chiÒu” end if %> <%=x%>

CÊu tróc lùa chän Select Case Có ph¸p:
Select case biÕn Case <tËpgi¸trÞ1> <d·y c©u lÖnh 1> Case <tËpgi¸trÞ2> <d·y c©u lÖnh 2> ……. Case <tËpgi¸trÞ n> <d·y c©u lÖnh n> Case else <d·y c©u lÖnh n+1> end select

VÝ dô:
<% bien=5 select case bien case 1,2,3 Response.Write ("chon 1") case 2,3,4 Response.Write "chon 2" case else Response.write "chon 3"

http://www.ebook.edu.vn end select %> => KÕt qu¶: Chon 3 4.4.4 Vßng lÆp For:

87

Có ph¸p:
<%For <biÕn ®Õm>=<gi¸ trÞ ®Çu> to <gi¸ trÞ cuèi>%> [C¸c lÖnh kh¸c] <%Next [biÕn ®Õm]%>

VÝ dô:
<%for i=5 to 7 %> <font size =<%=i%>>Chµo b¹n!<br></font> <% Next %> 4.4.5 C©u lÖnh lÆp kh«ng x¸c ®Þnh:

Có ph¸p:
while <®iÒu kiÖn> <thùc hiÖn c«ng viÖc> Wend Do while <®iÒu kiÖn> Loop Do <c«ng viÖc> Loop While <®iÒu kiÖn>

VÝ dô:
<% i=1 do i=i+1 Response.Write i loop while i<=10 %> 4.5 X©y dùng c¸c hµm vµ thñ tôc trong ASP:

Ta cã thÓ sö dông c¸c ng«n ng÷ Script ®Ó x©y dùng c¸c hµm vµ thñ tôc trong file ASP. Tr−íc khi viÕt mét hµm vµ thñ tôc b»ng ng«n ng÷ g× ta ph¶i th«ng b¸o cho ASP biÕt b»ng thÎ Script nh− ®· biÕt. CÊu tróc mét hµm trong ASP cã d¹ng sau:
<SCRIPT RUNAT =SERVER LANGUAGE=”LANGUAGENAME”> ‘Hµm: Function <FunctionName> (BiÕn)

http://www.ebook.edu.vn C¸c dßng lÖnh Script End Function ‘Thñ tôc: Sub <SubName> (BiÕn) C¸c dßng lÖnh Script End Sub </SCRIPT>

88

§èi víi hµm th× trong th©n cña hµm cÇn cã mét lÖnh g¸n gi¸ trÞ tÝnh ®−îc cho mét biÕn cã thªn trïng víi tªn hµm. C¸ch gäi hµm hoµn toµn t−¬ng tù nh− c¸ch lÊy gi¸ trÞ tõ mét biÕn. C¸ch gäi thñ tôc: Call SubName hoÆc SubName VÝ dô ta cã hµm sau:
<%Function Calculate(A, B, Op) Select Case Op Case “+” Calculate = A+B Case “-” Calculate = A-B Case “*” Calculate = A*B Case “/” Calculate = A/B End Select End Function Response.write Calculate(2, 3, “+”) Response.write Calculate(2, 3, “-) %>

Chó ý: Cã thÓ sö dông <!--#include file|virtual=”file_name”--> ®Ó sö dông l¹i c¸c hµm vµ thñ tôc ®· ®−îc x©y dùng trong mét file nµo ®ã.
4.6 Sö dông c¸c ®èi t−îng cña ASP ®Ó trao ®æi th«ng tin gi÷a Client vµ Server. 4.6.1 Giíi thiÖu c¸c ®èi t−îng chÝnh cña ASP:

a. C¸c ®èi t−îng chÝnh: T−¬ng tù nh− trong c¸c ng«n ng÷ lËp tr×nh h−íng ®èi t−îng, ASP cho phÐp ng−êi lËp tr×nh t¹o ra c¸c ®èi t−îng, c¸c líp theo môc ®Ých sö dông riªng. ASP còng cung cÊp s½n cã mét sè ®èi t−îng hay ®−îc sö dông. §ã lµ 5 ®èi t−îng sau: C¸c ®èi t−îng ý nghÜa Application Chia sÎ th«ng tin gi÷a c¸c ng−êi dïng trong mét øng dông Session L−u gi÷ c¸c th«ng tin duy nhÊt vÒ phiªn lµm viÖc hiÖn thêi cña mét ng−êi sö dông cô thÓ Server Cho phÐp truy cËp tíi m¸y chñ

http://www.ebook.edu.vn

89

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

Ngoµi ra ta cã thÓ viÕt c¸c hµm vµ thñ tôc ®Æt trong file Global.asa ®Ó phôc vô cho c¶ øng dông hay cho tõng phiªn lµm viÖc cô thÓ, c¸c thñ tôc vµ c¸c hµm nµy ph¶i n»m trong c¸c sù kiÖn cña hai ®èi t−îng Application vµ Session.
4.6.2 §èi t−îng Request

a. ý nghÜa: LÊy yªu cÇu tõ m¸y kh¸ch nhê ph−¬ng thøc HTTP . Lµ kiÓu ®èi t−îng quan träng nhÊt trong ASP. Th«ng qua viÖc sö dông ®èi t−îng Request ta cã thÓ lÊy ®−îc c¶ d÷ liÖu vµ tham sè trong mét trang HTML ®−îc göi qua ®−êng ®Þa chØ. Khi mét Browser liªn l¹c víi Server th«ng qua giao thøc HTTP, Browser göi yªu cÇu tíi Server, ngoµi tªn cña trang ®−îc yªu cÇu th× cßn rÊt nhiÒu th«ng tin

http://www.ebook.edu.vn

90

kh¸c ®i kÌm ®−îc göi tíi Server. C¸c th«ng tin nµy cã thÓ lµ c¸c biÕn m«i tr−êng, c¸c th«ng tin do user cung cÊp d−íi d¹ng ®iÒn vµo c¸c b¶ng, Cookies, ... TÊt c¶ c¸c th«ng tin nµy ®−îc m· ho¸ vµ truyÒn ®i cïng víi HTTP headers. ASP cho phÐp lÊy ra c¸c th«ng tin nµy b»ng c¸ch sö dông ®èi t−îng Request. b. C¸c thµnh phÇn cña Request: TËp hîp Thuéc tÝnh TotalBytes QueryString Form ServerVariables Cookies ClientCertificate Có ph¸p:
Request.[TËp hîp](BiÕn)|thuéc tÝnh|ph−¬ng thøc

Ph−¬ng thøc BinaryRead

TËp hîp: TËp hîp ClientCertificate Cookies Form QueryString ServerVariables

ý nghÜa Bao gåm c¸c th«ng tin vÒ certificate cña Client. §äc th«ng tin tõ mét Cookies ®· cã s½n 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) 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) Bao gåm c¸c th«ng tin vÒ Client Browser, Server vµ user

c. TËp hîp Form vµ QueryString: Khi chóng ta sö dông thÎ <FORM> trong mét trang, ta cã thÓ ®Æt thuéc tÝnh METHOD cña <FORM> lµ POST hay GET. NÕu chóng ta sö dông GET (hay bá qua v× GET lµ gi¸ trÞ mÆc ®Þnh cña METHOD), tr×nh duyÖt sÏ lÊy c¸c gi¸ trÞ trong tÊt c¶ c¸c control ®Ó x©y dùng thµnh QueryString vµ g¾n vµo URL cña trnag ®−îc yªu cÇu khi Submit trang hiÖn t¹i. Khi trang nµy ®Õn Server c¸c gi¸ trÞ cña nã n»m ë Collection Request.QueryString. Ng−îc l¹i, nÕu sö dông ph−¬ng thøc POST, tr×nh duyÖt sÏ ®−a tÊt c¶ c¸c gi¸ trÞ vµo trong HTTP header göi ®Õn Server vµ c¸c gi¸ trÞ nµy cã thÓ truy xuÊt qua Collection Request.Form Nãi chung, ta nªn sö dông ph−¬ng thøc Post trong tÊt c¶ c¸c form HTML. Thø nhÊt, chiÒu dµi chuçi cña URL bÞ giíi h¹n nªn nÕu dïng QueryString sÏ cã nguy c¬ bÞ trµn vµ bÞ c¾t bít. Thø hai, query string ®−a c¸c gi¸ trÞ t−êng minh vµo URL, vµ sÏ ®−îc ghi l¹i trong file log khi ®i qua c¸c Server, kh«ng b¶o mËt th«ng tin. Sù kh¸c nhau gi÷a hai ph−¬ng thøc göi d÷ liÖu tõ Client ®Õn Server ®−îc chØ ra trong s¬ ®å sau:

http://www.ebook.edu.vn

91

Server (ASP Application)

Sö dông QueryString Collection ®äc DL D÷ liÖu göi víi URL

Sö dông Form Collection ®äc DL

D÷ liÖu göi HTTP header

trong

METHOD=GET (Gi¸ trÞ Default)

METHOD=POST

Client (Browser)

Form

H×nh 4.7 Sù kh¸c nhau gi÷a hai ph−¬ng thøc GET vµ POST.

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

Néi dung file2.asp
<HTML> <HEAD> </HEAD> <BODY>

http://www.ebook.edu.vn

92

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

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

Néi dung file2.asp:
<% For Each item In Request.QueryString Response.Write item & " = " & Request.QueryString(item) & "<BR>" Next %>

Output: language = ASP type = general HoÆc file2.asp cã thÓ viÕt:
<% Response.Write "language =" & Request.QueryString("language")& "<BR>" Response.Write "type =" & Request.QueryString("type")& "<BR>" %>

Chó ý: Khi lÊy gi¸ trÞ theo 2 tËp hîp lµ Form hoÆc QueryString ta chØ cÇn chØ ra Request(“tªn_biÕn”) Ch¼ng h¹n: Request.Form(“Name”) cã thÓ thay b»ng Request(“Name”) d. Sö dông tËp hîp Cookies: Cookies lµ nhãm v¨n b¶n mµ Website ®Æt vµo mét file trªn ®Üa cøng cña web browser khi web browser truy cËp Website ®ã. Cookie dïng ®Ó nhËn diÖn khi Web browser nµy truy cËp nh÷ng lÇn sau.

http://www.ebook.edu.vn

93

Cookie ®−îc göi ®Õn Server cïng víi mçi yªu cÇu. D÷ liÖu trong Cookie ®−îc ®Æt trong tËp hîp Cookies. Nã ®−îc truy cËp t−¬ng tù QueryString vµ Form. Tuy nhiªn, sö dông ®èi t−îng Request, ta chØ ®äc ®−îc gi¸ trÞ cña Cookie mµ kh«ng thay ®æi ®−îc nã. VÝ dô:
<% Response.Cookies("myProduct")("Main") = "DevSite" Response.Cookies("myProduct")("Prd1") = "ASP" Response.Cookies("myProduct")("Prd2") = "VBScript" Response.Write Request.Cookies("myProduct") %>

KÕt qu¶: PRD2=VBScript&PRD1=ASP&MAIN=DevSite e. Sö dông tËp hîp ServerVariables: Gi¸ trÞ cña c¸c biÕn m«i tr−êng server. §iÒu này sÏ chÐp truy nhËp tíi c¸c header HTTP. VÝ dô:
<%IPAddress = Request.ServerVariables("REMOTE_ADDR") Software = Request.ServerVariables("SERVER_SOFTWARE") Protocol = Request.ServerVariables("SERVER_PROTOCOL") Response.Write "Your IP Address is " & IPAddress & " and your server is running " & Software & " under " & Protocol & "protocol." %>

KÕt qu¶ Your IP Address is 127.0.0.1 and your server is running Microsoft-IIS/4.0 under HTTP/1.1 protocol. HoÆc ta cã thÓ tham chiÕu tíi tÊt c¶ c¸c tham sè cña tËp hîp ServerVariables nh− sau:
<% For each item in request.servervariables Response.write “<br>” & item & “=” & request.servervariables(item)& “<br>” Next %>

f. Thuéc tÝnh: TotalBytes: ChØ ra tæng sè byte m¸y kh¸ch göi tíi m¸y chñ trong phÇn th©n yªu cÇu HTTP. g. Ph−¬ng thøc: BinaryRead: §äc d÷ liÖu tõ th©n HTTP göi ®Õn server . VÝ dô: -------------------File1.html----------------<HTML> <HEAD>

http://www.ebook.edu.vn

94

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

-------------------File2.asp-----------------<% Dim ByteCount,BinRead ByteCount = Request.TotalBytes BinRead=Resquest.BinaryRead(ByteCount) Response.Write("ByteCount = " & ByteCount & " bytes") %>

KÕt qu¶: Tïy thuéc vµo d÷ kiÖn ®−îc nhËp t¹i form, vÝ dô nÕu Name=Bill, Age=56, and Sex=male. Th× ta sÏ cã kÕt qu¶ lµ: ByteCount = 39 bytes
4.6.3 §èi t−îng Response

§−îc sö dông ®Ó truy xuÊt c¸c ®¸p øng mµ server t¹o ra ®Ó göi vÒ cho user TËp hîp Thuéc tÝnh Ph−¬ng thøc AddHeader Cookies Buffer AppendToLog Charset BinaryWrite ContentType Clear Expires End ExpiresAbsolute Flush Status 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 AddHeader AppendToLog Binarywrite Clear ý nghÜa Thªm phÇn ®Çu HTTP víi mét gi¸ trÞ cô thÓ ®Ó göi l¹i cho browser 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 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 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 Buffer ý nghÜa 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 X¸c ®Þnh kiÓu néi dung HTTP ®−îc tr¶ vÒ. KiÓu ngÇm ®Þnh lµ Text/HTML Kho¶ng thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser Ngµy vµ thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser Gi¸ trÞ cña dßng tr¹ng th¸i HTTP tr¶ l¹i bëi server §Æt d¹ng ng«n ng÷ sö dông cho client browser vµo phÇn cuèi cña ®o¹n ®Çu ContentType

ContentType Expires ExpiresAbsolute Status Charset Buffer

• Buffer: n¬i l−u gi÷ t¹m thêi tr−íc khi chuyÓn cho tr×nh duyÖt • ChØ ra output cña trang cã ®−îc l−u trong buffer hay kh«ng • SÏ kh«ng cã sù göi l¹i cho tr×nh duyÖt cho ®Õn khi tÊt c¶ c¸c script ®−îc xö lý xong, hoÆc cã lêi gäi ph−¬ng thøc Flush hay End. Thuéc tÝnh nµy kh«ng thÓ thay ®æi khi server ®· göi th«ng tin cho tr×nh duyÖt vµ ph¶i ®−îc ®Æt ë dßng ®Çu tiªn trong file .asp VÝ dô:
<% Response.Buffer = TRUE x=0 Do x = x+1 Response.Write x & "<BR>" Loop %>

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

http://www.ebook.edu.vn

98

Charset: Response.Charset Thªm tªn cña tËp ký tù vµo trong header content-type MÆc ®Þnh lµ ISO-LATIN-1 VÝ dô: Trong vÝ dô nµy, nÕu header lµ: content-type: text/html Th× header sÏ trë thµnh: content-type: text/html; charset = MS_Kanji
<% Response.Charset("MS_Kanji") %>

ContentType : Response.ContentType ChØ ra kiÓu néi dung HTTP ®Ó tr¶ l¹i. MÆc ®Þnh lµ text/HTML VÝ dô:
<% Response.ContentType = "application/vnd.ms-excel" %>

Expires X¸c ®Þnh kho¶ng thêi gian tr−íc khi mét trang ®−îc cache hÕt h¹n VÝ dô: • Tr−êng hîp 1: bÊt kú khi nµo gäi tíi trang ®ã, nã lu«n lu«n ®−îc refresh. • Tr−êng hîp 2: NÕu trë l¹i trang ®ã tr−íc 15 phót, trang hiÓn thÞ sÏ lµ trang ë trong cache.
<% Response.Expires = 0 %> <% Response.Expires = 15 %>

Response.ExpiresAbsolute X¸c ®Þnh ngµy vµ thêi gian chÝnh x¸c mét trang sÏ hÕt h¹n. VÝ dô:
<% Response.ExpiresAbsolute=#May 15, 1999 18:00:00# %>

Response.IsClientConnected • X¸c ®Þnh xem client ®· ngõng kÕt nèi víi server tõ Response.Write cuèi cïng. • Thuéc tÝnh nµy ®Æc biÖt cã ý nghÜa ®Ó server kh«ng ph¶i tiÕp tôc thùc hiÖn chuyÓn nh÷ng th«ng tin client kh«ng yªu cÇu. VÝ dô:
<% 'Check to see if the client is connected. If Not Response.IsClientConnected Then 'Get the sessionid to send to the shutdown function. Shutdownid = Session.SessionID 'Perform shutdown processing. Shutdown(Shutdownid) End If %>

http://www.ebook.edu.vn

99

Response.Status Dßng tr¹ng th¸i do server tr¶ l¹i VÝ dô:
<% IPAddress = Request.ServerVariables("REMOTE_ADDR") If IPAddress <> "208.5.64.223" Then Response.Status = "403 Access Forbidden" Response.Write Response.Status Response.End End If %> <BODY> You have accessed this page through the IP Address of 208.5.64.223. </BODY>

KÕt qu¶ sau sÏ ®−îc tr¶ vÒ nÕu ®Þa chØ IP trªn m¸y Client lµ 208.5.64.223: You have accessed this page through the IP Address of 208.5.64.223. Ng−îc l¹i nÕu ®Þa chØ IP cña Client kh«ng ph¶i lµ 208.5.64.223 th× kÕt qu¶ sau sÏ tr¶ vÒ: 403 Access Forbidden
4.6.4 §èi t−îng Server

Cho phÐp truy nhËp tíi c¸c ph−¬ng thøc vµ thuéc tÝnh trªn m¸y chñ. TËp hîp Thuéc tÝnh Ph−¬ng thøc CreateObject ScripTimeOut HTMLEncode MapPath URLEncode Có ph¸p:
Server.Thuéc tÝnh|Ph−¬ng thøc

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

Ta cã thÓ lÊy ®−îc gi¸ trÞ cña thuéc tÝnh ScriptTimeout b»ng c¸ch:
<% timeout = Server.ScriptTimeout %>

http://www.ebook.edu.vn

100

b. Ph−¬ng thøc Ph−¬ng thøc

ý nghÜa CreateObject T¹o mét thÓ hiÖn cña ®èi t−îng cô thÓ trªn Server Execute Cho phÐp gọi trang ASP kh¸c trong một trang ASP GetLastError M« t¶ ®èi t−îng lçi ASP, chØ cã ý nghÜa tr−íc khi file asp göi néi dung tíi Client HTMLEncode G¾n mét ®o¹n m· HTML vµo mét x©u ®· ®−îc ®Þnh d¹ng. MapPath X¸c ®Þnh ®−êng dÉn vËt lý trªn m¸y chñ khi xÐt ®Õt ®−êng dÉn ¶o. Transfer Chuyển tíi trang ASP kh¸c tõ mét trang ASP. Th«ng tin tr¹ng th¸i hiÖn t¹i trong trang ®Çu tiªn sÏ ®−îc chuyÓn tíi trang thø hai URLEncode Cho phÐp g¾n mét ®o¹n m· URL Server.CreateObject(ObjectID)

T¹o mét thÓ hiÖn (instance) cña ®èi t−îng server (®èi t−îng activeX bÊt kú trªn server), sau ®ã cã thÓ sö dông c¸c ph−¬ng thøc vµ truy cËp tíi c¸c thuéc tÝnh cña ®èi t−îng ®ã. ObjectID lµ ®èi t−îng cÇn khëi t¹o. §o¹n m· sau dïng ®Ó kÕt nèi víi CSDL:
<% Set myconn = Server.CreateObject("ADODB.Connection") %>

Server.Execute (Path) • Cho phÐp gäi trang ASP kh¸c trong mét trang ASP. Khi trang ®−îc gäi tíi hoµn thµnh c¸c c«ng viÖc cña nã, sÏ trë l¹i tiÕp tôc thùc hiÖn trang ASP gäi tíi nã. HiÖu qu¶ gièng nh− c¸c hµm, thñ tôc (subroutines). Ph−¬ng ph¸p cã hiÖu qu¶ t−¬ng tù include. • Ph−¬ng thøc Transfer chuyÓn tíi trang ASP kh¸c kh«ng quay l¹i trang ®· gäi tíi. • Tham sè Path chØ ®−êng dÉn t−¬ng ®èi hoÆc vËt lý, toµn bé x©u nµy ®−îc ®Æt trong dÊu nh¸y. VÝ dô: ----------CallingAsp.asp---------<HTML> <BODY> How now <%Server.Execute("CalledAsp.asp")%> cow? </BODY> </HTML>

----------CalledAsp.asp---------<% Response.Write "pink" %>

http://www.ebook.edu.vn

101

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

Server.HTMLEncode (String) Ph−¬ng thøc nµy cho phÐp m· ho¸ chuçi thµnh m· HTML ®èi víi x©u ASCII bÊt kỳ. VÝ dô, ®iÒu nµy cho phÐp hiÓn thÞ thÎ HTML mµ kh«ng xö lý nã nh− nh÷ng thÎ HTML thùc sù. VÝ dô:
<% Response.Write Server.HTMLEncode("The tag for a table is: <Table>") %>

KÕt qu¶: The tag for a table is: &lt;Table&gt; KÕt qu¶ ë Browser: The tag for a table is: <Table> Server.MapPath (Path) ¸nh x¹ ®−êng dÉn ¶o, hay t−¬ng ®èi tíi ®−êng dÉn vËt lý. Ph−¬ng thøc nµy kh«ng kiÓm tra sù tån t¹i thùc sù cña ®−êng dÉn. NÕu b¾t ®Çu b»ng dÊu / hoÆc \ -> ®−êng dÉn ¶o. Cßn kh«ng b¾t ®Çu b»ng ký tù ®ã -> ®−êng dÉn t−¬ng ®èi. VÝ dô:
<HTML> <BODY> The path of this file Server.MapPath("test.asp")%> The path of the file1 Server.MapPath("\test.asp")%> The path of the file2 Server.MapPath("test\test.asp")

is is is

<% <% <%

Response.Write Response.Write Response.Write %>

http://www.ebook.edu.vn

102

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

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

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

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

http://www.ebook.edu.vn

103

VÝ dô:
<% Response.Write Server.URLEncode("http://www.issi.net") %>

KÕt qu¶: http%3A%2F%2Fwww%2Eissi%2Fnet
4.6.5 §èi t−îng Application

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

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

http://www.ebook.edu.vn

104

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

KÕt qu¶: author=DevGuru Obj1 is an object. • Application.Contents.RemoveAll Lo¹i bá tÊt c¶ c¸c môc trong collection Application.Contents . Thªm cÆp dÊu ngoÆc ()
<%Application.Contents.RemoveAll( )%>

Application.StaticObjects(Key) Chøa tÊt c¶ c¸c môc ®ã ®−îc t¹o trong øng dông b»ng thÎ <OBJECT. ----------Global.asa------------<OBJECT RUNAT=Server SCOPE=Application ID=MyInfo PROGID="MSWC.MyInfo"> </OBJECT> <OBJECT RUNAT=Server SCOPE=Application ID=MyConnection PROGID="ADODB.Connection"> </OBJECT> <OBJECT RUNAT=Server SCOPE=Application ID=MyADRot PROGID="MSWC.ADRotator"> </OBJECT>

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

http://www.ebook.edu.vn

105

KÕt qu¶: MyInfo MyConnection MyADRot b. Sù kiÖn: øng víi hai ho¹t ®éng b¾t ®Çu vµ kÕt thóc mét ®èi t−îng Application ta cã hai sù kiÖn trong ®èi t−îng Application, ®ã lµ: Application_OnStart (khëi t¹o c¸c th«ng tin phôc vô cho mét øng dông khi øng dông b¾t ®Çu) vµ Application_OnEnd (®−îc kÝch ho¹t khi øng dông kÕt thóc) Có ph¸p cña sù kiÖn Application_OnStart:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart ' N¬i chÌn ®o¹n Script cÇn thiÕt cho viÖc khëi t¹o mét øng dông End Sub Sub Application_OnEnd ' N¬i chÌn ®o¹n Scipt cÇn thiÕt cho viÖc kÕt thóc mét øng dông End Sub </SCRIPT>

Chó ý: Ph¶i khai b¸o ng«n ng÷ script ®−îc sö dông trong c¸c ®o¹n script sù kiÖn trong dßng ®Çu tiªn cña file global.asa - C¸c ®èi t−îng cña ASP trong phÇn nµy chØ cã SERVER vµ APPLICATION -------------------Global.asa-------------------------<script Language="VBScript" RUNAT=Server> Sub Application_OnEnd() End Sub Sub Application_OnStart() Application("NumSession") = 0 Application("NumVisited") = 0 Session.Timeout = 10 End Sub Sub Session_OnEnd() Application("NumSession") = Application("NumSession") – 1 End Sub Sub Session_OnStart() Application("NumSession") = Application("NumSession") + 1 Application("NumVisited") = Application("NumVisited") + 1 End Sub </script>

-------------------File1.asp---------------------------Response.Write "You are " & Application("NumSession") & " of " & Application("NumVisited") & " users."

http://www.ebook.edu.vn

106

KÕt qu¶: You are 1 of 1 users. c. Ph−¬ng thøc: V× ®èi t−îng Application cã thÓ ®−îc chia sÎ th«ng tin gi÷a c¸c ng−êi dïng do ®ã ®Ó ®¶m b¶o nh÷ng ng−êi dïng ®ã kh«ng thÓ cïng mét lóc thay ®æi néi dung cña mét biÕn trong ®èi t−îng Application nã cã hai ph−¬ng thøc lµ Lock vµ Unlock. Ph−¬ng thøc ý nghÜa Lock Ph−¬ng thøc Lock ng¨n c¶n c¸c client kh¸c cïng mét lóc thay ®æi gi¸ trÞ cña mét biÕn do ®èi t−îng Application l−u tr÷ Unlock Ph−¬ng thøc Unlock cho phÐp c¸c client cã thÓ söa ®æi c¸c thuéc tÝnh cña ®èi t−îng Application .
4.6.6 §èi t−îng Session

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

KÕt qu¶: NAME=Application Maker

http://www.ebook.edu.vn

107

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

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

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

http://www.ebook.edu.vn

108

c. Thuéc tÝnh: Thuéc tÝnh SessionID Timeout

ý nghÜa 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 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 Ch−¬ng 5

110

KÕt nèi c¬ së d÷ liÖu trong lËp tr×nh Web ®éng víi ASP

5.1 Kh¸i niÖm vÒ ADO

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

ADO

OLEDB

E-mail

CSDL Data Store

File

H×nh 5.1 M« h×nh kiÕn tróc cña ADO. 5.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider)

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

http://www.ebook.edu.vn 5.3 M« h×nh ®èi t−îng ADO 5.3.1 §èi t−îng kÕt nèi (Connection)

111

Cho phÐp thùc hiÖn viÖc më kÕt nèi ®Õn nguån d÷ liÖu cÇn truy xuÊt. Th«ng qua Connection chØ cÇn chØ ®Þnh tr×nh cung cÊp OLEDB Provider sÏ dïng ®Ó tiÕp cËn d÷ liÖu. C¸c th«ng tin kÕt nèi bæ sung kh¸c nh− username, password, server name,.. th−êng ®−îc l−u vµo mét chuçi gäi lµ chuçi kÕt nèi (Connection String). Chó ý: Cã thÓ kÕt nèi vµ truy xuÊt vµo nguån d÷ liÖu mµ kh«ng b¾t buéc ph¶i dïng ®èi t−îng Connection. C¸ ®èi t−îng kh¸c nh− Command, RecordSet, Record,... còng cho phÐp më trùc tiÕp kÕt nèi. Tuy nhiªn sö dông ®èi t−îng Connection sÏ cho phÐp b¹n t¸ch biÖt thao t¸c kÕt nèi vµ thao t¸c truy cËp c¬ së d÷ liÖu. H¬n n÷a ®èi t−îng Connection cßn cung cÊp thªm mét sè chøc n¨ng chuyªn dông kh¸c nh− cho phÐp thùc thi c©u lÖnh SQL t¸c ®éng vµo d÷ liÖu nh− Insert, Update, Delete, gäi thñ tôc Procedure Store,... hoÆc kiÓm so¸t giao t¸c transaction nh− Rollback, commit.
5.3.2 §èi t−îng Command:

§èi t−îng nµy dïng cho môc ®Ých thùc thi c©u lÖnh tèt h¬n Connection. Cho phÐp b¹n chuyÓn tham sè vµo c¸c lÖnh thùc thi SQL. Tham sè cã thÓ chØ ®Þnh kiÓu hoÆc gi¸ trÞ t−êng minh. C¸c tham sè cã thÓ nhËn trÞ tr¶ vÒ sau khi thùc thi..Command cã thÓ dïng cho c¶ 2 môc ®Ých: thùc thi c©u lÖnh SQL kh«ng cÇn nhËn kÕt qu¶ tr¶ vÒ nh− Insert, Update, Delete, Procedure Store, hoÆc thùc thi c¸c lÖnh tr¶ vÒ tËp RecordSet nh− lÖnh Select.
5.3.3 §èi t−îng RecordSet:

Lµ ®èi t−îng sö dông th−êng xuyªn trong ADO. Cung cÊp kÕt qu¶ tr¶ vÒ tõ c©u lÖnh truy vÊn mét tËp c¸c b¶n ghi. Trang ASP cã thÓ dïng vßng lÆp ®Ó duyÖt qua c¸c b¶n ghi nµy vµ hiÓn thÞ d÷ liÖu kÕt xuÊt ra trang Web phÝa tr×nh duyÖt. Ngoµi ra RecordSet cßn cho phÐp thùc hiÖn läc d÷ liÖu tõ tËp c¸c b¶n ghi, truy xuÊt ®Õn tong tr−êng cô thÓ cña b¶n ghi th«ng qua ®èi t−îng Field hoÆc danh s¸ch c¸c tr−êng trong b¶n ghi th«ng qua ®èi t−îng Fields
5.4 KÕt nèi víi nguån d÷ liÖu

Chuçi kÕt nèi ®−îc dïng ®Ó cung cÊp th«ng tin cho ®èi t−îng Connection biÕt ®Æc ®iÓm cña c¬ së hay nguån d÷ liÖu mµ ADO cÇn truy xuÊt.
5.4.1 T¹o mét ODBC DSN

Tr−íc khi t¹o c¸c Script truy xuÊt c¬ së d÷ liÖu (CSDL), ta cÇn chØ dÉn cho ADO x¸c ®Þnh nguån d÷ liÖu cÇn truy xuÊt vµ c¸ch thøc liªn kÕt CSDL. Phæ biÕn vµ ®¬n gi¶n nhÊt ®ã lµ sö dông tªn nguån d÷ liÖu (Data Source Name-DSN) ®Ó ®Þnh vÞ vµ cÊu h×nh nguån d÷ liÖu t−ong thÝch chuÈn ODBC. Víi ODBC b¹n cã thÓ lùa chän c¸c kiÓu DNS ®Ó t¹o, ®ã lµ: User, System hoÆc File. C¸c DNS User vµ System th−êng tró trong registry cña hÖ ®iÒu hµnh WindowsNT. System DNS cho phÐp tÊt c¶ ng−êi sö dông truy nhËp vµo Server ®ã ®Òu cã thÓ truy xuÊt mét CSDL, trong khi ®ã User DNS h¹n chÕ ®èi víi mçi ng−êi sö dông ®¨ng nhËp vµo Server; File DSN sÏ l−u th«ng tin d−íi d¹ng file cho phÐp nhiÒu ng−êi sö dông truy xuÊt CSDL vµ dÔ dµng chuyÓn tõ Server nµy sang Server kh¸c chØ b»ng viÖc copy c¸c tÖp DSN. Chóng ta cã thÓ t¹o ra DSN b»ng c¸ch: • Vµo trong Start\Control Panel, click chuét vµo biÓu t−îng ODBC, chän

http://www.ebook.edu.vn

112

mét d¹ng DSN. • Click Add, chän mét tr×nh ®iÒu khiÓn d÷ liÖu(.MDB, SQL) • Theo c¸c chØ dÉn trªn mµn h×nh ®Ó cÊu h×nh DSN cho CSDL Sau ®©y lµ mét sè kÕt nèi ®Õn c¸c lo¹i CSDL th«ng dông:
5.4.2 C¬ së d÷ liÖu MS Access connStr=“Provider=Microsoft.JetOLEDB.4.0; Data Source = C:\Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB; Persist Security Info=False” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr 5.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC connStr=“Driver=Microsoft Access Driver (*.mdb); DBQ=C:\ Program Files\Microsoft Visual Studio\VB98\BIBLIO.MDB;” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr 5.4.4 C¬ së d÷ liÖu MS SQL Server connStr=“Provider=SQLOLEDB.1;Persist Security Info=False; User ID=sa;Initial Catalog=AdvWorks;Data Source=localhost” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr

NÕu nguån d÷ liÖu hç trî OLEDB ta cã thÓ sö dông ADO th«ng qua ODBC theo c¸ch tæng qu¸t:
connStr="Provider=MSDASQL.1;Persist Security Info=False; Data Source=Test" set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr

Trong ®ã Test lµ DataSource thiÕt lËp trong System DNS cña ODBC
5.5 Sö dông ®èi t−îng RecordSet 5.5.1 T¹o RecordSet: set rs=Server.CreateObject(“ADODB.RecordSet”)

§Ó trÝch rót d÷ liÖu tõ mét hoÆc nhiÒu b¶ng nµo ®ã trong c¬ së d÷ liÖu, ta th−êng kÕt hîp ®èi t−îng Connection vµo c©u lÖnh SQL Select trong ph−¬ng thøc Open cña RecordSet:
rs.open SQLCommand, Conn 5.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi: Do While not rs.eof Rs.fields](“field_name”) rs.movenext : di chuyÓn con trá cña RecordSet ®Õn b¶n ghi kÕ tiÕp loop rs.close

http://www.ebook.edu.vn

113

C¸c c¸ch truy cËp hîp lÖ vµ t−¬ng ®−¬ng: Rs(“field_name”) Rs.fields(“field_name”) Rs.fields(“field_name”).value Rs(1).value Rs.fields(1).Value NÕu muèn duyÖt qua tÊt c¶ c¸c tr−êng trong b¶n ghi cã thÓ dïng lÖnh: For each Fld in rs.fields Response.write fld.name + “:” + fld.value + “<br>” Next 5.5.3 Läc qua c¸c b¶n ghi trong RecordSet

Cã thÓ sö dông mÖnh ®Ò Where cña c©u lÖnh Select hoÆc cã thÓ sö dông thuéc tÝnh Filter cña RecordSet ®Ó chØ ®Þnh ®iÒu kiÖn läc sau khi ®· trÝch xuÊt d÷ liÖu. VÝ dô:
sqlStr=”Select * from Products” rs.open sqlStr,conn rs.filter= “ productCode=‘” & SpecialCode & “’”

Thuéc tÝnh Filter cho phÐp sö dông mÖnh ®Ò läc gÇn gièng víi mÖnh ®Ò Where
5.5.4 Ph©n trang víi ®èi t−îng RecordSet:

§èi t−îng RecordSet cung cÊp 3 thuéc tÝnh quan träng sau ®Ó sö dông ph©n trang: PageSize: KÝch th−íc b¶n ghi trong mét trang PageCount: Tæng sè trang RecordSet truy vÊn ®−îc AbsolutePage: ChØ ®Þnh trang hiÖn hµnh ®ang cÇn ®−îc ®äc §Ó RecordSet cã kh¶ n¨ng ph©n trang, cÇn thiÕt lËp thªm tham sè cho RecordSet tr−íc khi thùc hiÖn truy vÊn: Rs.CursorLocation=3 ‘ Cã thÓ sö dông h»ng adUseClient Rs.PageSize=15 ‘ 15 b¶n ghi trong mét trang TiÕt theo më ®èi t−îng RecordSet truy vÊn d÷ liÖu víi tuú chän lµ c¸c h»ng adOpenForwardOnly(0), adLockReadOnly (1) truy cho ph−¬ng thøc Open nh− sau: Rs.open sqlStr, Conn, 0,1 C«ng viÖc sau cïng lµ ®Þnh vÞ trang th«ng qua thuéc tÝnh AbsolutePage. Ta l−u l¹i vÞ trÝ hiÖn hµnh cña trang d÷ liÖu th«ng qua gi¸ trÞ chøa trong thÎ <input hidden>. Gi¸ trÞ nµy sÏ ®−îc chuyÓn vÒ tr×nh chñ mçi khi ng−êi dïng kÝch vµo. XÐt vÝ dô sau:
<%sqlStr="SELECT * FROM Products " ' page navigate session here ........... Dim lCurrentPage Dim lPageCount lCurrentPage = CLng(Request("page")) If lCurrentPage < 1 Then

http://www.ebook.edu.vn lCurrentPage = 1

114

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 username=”‘” & username & “’” password = ‘abc’ where

http://www.ebook.edu.vn

116

cmdUpdate.ActiveConnection=strConn cmdUpdate.CommandText=strUpdate cmdUpdate.CommandType=adcmdText cmdUpdate.Execute

§èi t−îng Command còng ®−îc dïng ®Ó nhËn kÕt qu¶ tr¶ vÒ tõ c©u lÖnh Select hoÆc tõ mét tªn b¶ng d÷ liÖu, vÝ dô ®Ó lÊy toµn bé néi dung b¶ng d÷ liÖu Accounts, ta chØ cÇn chØ ra tªn b¶ng vµ më RecordSet dùa vµo ®èi t−îng Command:
cmdTable.ActiveConnection=strConn cmdTable.CommandText=”Accounts” cmdTable.CommandType=adCmdTable rs.open cmdTable 5.8 Bµi tËp ch−¬ng 5

Bµi 1: Chän chñ ®Ò ®Ó thiÕt kÕ website 1. Website vÒ dÞch vô viÖc lµm. 2. Website vÒ dÞch vô nhµ ®Êt (http://www.nhadat.com). 3. Website b¸o ®iÖn tö (http://vnexpress.net ) 4. Website tr−êng häc. 5. Website dÞch vô gi¶i trÝ nh− ECards, §iÖn hoa, ... Bµi 2: X©y dùng m« h×nh øng dông b¸n hµng qua m¹ng, dùa trªn c¬ së d÷ liÖu, qua ®ã vËn dông c¸c ®èi t−îng cña ADODB ®Ó cã thÓ kÕt nèi víi c¬ së dù liÖu sao cho cã thÓ thÓ hiÖn vµ cung cÊp ®−îc th«ng tin cho kh¸ch hµng. Chñ yÕu giíi thiÖu c¸ch thøc thiÕt kÕ mét øng dông Web cã c¸c chøc n¨ng sau: • Xem th«ng tin chi tiÕt cña mét mÆt hµng. • Lùa chän hµng, thªm vµo, bít ra khái giá hµng. • TÝnh tiÒn. Bµi 3: Bµi tËp tæng hîp, thiÕt kÕ mét sè Web site theo mÉu: 1. ThiÕt kÕ website theo mÉu sau (http://www.flowers.com)

http://www.ebook.edu.vn

117

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

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

http://www.ebook.edu.vn

118

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

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

http://www.ebook.edu.vn

119
Tμi liÖu tham kh¶o

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

http://www.ebook.edu.vn

120
Môc lôc

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

http://www.ebook.edu.vn

121

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

http://www.ebook.edu.vn

122

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

You're Reading a Free Preview

Tải về
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->