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

Thiet ke va lap trinh web

Embed Size (px)

DESCRIPTION

Tai leu hay

Citation preview

Page 1: Thiet ke va lap trinh web

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¶

Page 2: Thiet ke va lap trinh web

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

Ch−¬ng 1

Giíi thiÖu chung

1.1 M¹ng m¸y tÝnh

1.1.1 §Þnh nghÜa Trong qu¸ tr×nh khai th¸c, sö dông m¸y tÝnh c¸ nh©n (Personal Computer-

PC), viÖc trao ®æi, sö dông th«ng tin cña mét x· héi ph¸t triÓn cã nhu cÇu to lín. Khi c¸c m¸y vi tÝnh ch−a cã sù liªn kÕt víi nhau, th× viÖc trao ®æi th«ng tin mÊt rÊt nhiÒu thêi gian ®Ó sao chÐp, g©y nhiÒu phiÒn phøc. §Ó gi¶i quyÕt vÊn ®Ò trªn víi ®µ ph¸t triÓn cña nÒn c«ng nghiÖp m¸y tÝnh, c¸c thiÕt bÞ ®Æc biÖt vµ m¹ng m¸y tÝnh ra ®êi lµ mét tÊt yÕu.

V× vËy, m¹ng (network) lµ mét tËp hîp c¸c hÖ thèng m¸y tÝnh vµ c¸c thiÕt bÞ m¹ng, chia sÎ d÷ liÖu, ch−¬ng tr×nh, tµi nguyªn th«ng qua mét ®−êng truyÒn kÕt nèi truyÒn th«ng dïng chung, trªn c¬ së mét hÖ ®iÒu hµnh m¹ng.

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

§−êng truyÒn lµ mét hÖ thèng c¸c thiÕt bÞ truyÒn dÉn vËt lý ®Ó chuyÓn t¶i c¸c tÝn hiÖu sãng ®iÖn tõ.

§−êng truyÒn vËt lý cã thÓ ph©n lµm 2 lo¹i: - H÷u tuyÕn: c¸p ®ång trôc, c¸p ®«i d©y xo¾n, c¸p quang, c¸p ®iÖn tho¹i,

vµ c«ng nghÖ míi nhÊt hiÖn nay lµ c¸p ®iÖn n¨ng th«ng th−êng. - V« tuyÕn: sãng cùc ng¾n (viba), tia hång ngo¹i...

1.1.2 Ph©n lo¹i HiÖn nay, th«ng th−êng m¹ng m¸y tÝnh ®−îc ph©n lo¹i nh− sau:

a. M¹ng côc bé - LAN (Local Area Network) C¸c m¸y tÝnh c¸ nh©n vµ c¸c m¸y tÝnh kh¸c trong ph¹m vi mét khu vùc h¹n

chÕ ®−îc nèi víi nhau b»ng c¸c d©y c¸p chÊt l−îng tèt, sao cho nh÷ng ng−êi sö

Page 3: Thiet ke va lap trinh web

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

dông cã thÓ trao ®æi th«ng tin, dïng chung c¸c thiÕt bÞ ngo¹i vi, vµ sö dông c¸c ch−¬ng tr×nh còng nh− c¸c d÷ liÖu ®· ®−îc l−u tr÷ trong mét m¸y tÝnh dµnh riªng gäi lµ m¸y dÞch vô tÖp.

b. M¹ng diÖn réng - WAN (Wide Area Network) C¸c m¹ng lín h¬n, gäi lµ m¹ng diÖn réng (Wide Area Network), dïng c¸c

®−êng d©y ®iÖn tho¹i hoÆc c¸c ph−¬ng tiÖn liªn l¹c kh¸c ®Ó liªn kÕt l¹c kh¸c ®Ó liªn kÕt c¸c m¸y tÝnh víi nhau trong ph¹m vi tõ vµi chôc ®Õn vµi ngµn dÆm.

Sù kh¸c nhau gi÷a LAN vµ WAN: kh¸c nhiÒu vÒ quy m« vµ møc ®é phøc t¹p, m¹ng côc bé cã thÓ chØ liªn kÕt vµi ba m¸y tÝnh c¸ nh©n vµ mét thiÕt bÞ ngo¹i vi dïng chung ®¾t tiÒn, nh− m¸y in laser ch¼ng h¹n. C¸c hÖ thèng phøc t¹p h¬n th× cã c¸c m¸y tÝnh trung t©m (m¸y dÞch vô tÖp) vµ cho phÐp nh÷ng ng−êi dïng tiÕn hµnh th«ng tin víi nhau th«ng qua th− ®iÖn tö ®Ó ph©n phèi c¸c ch−¬ng tr×nh nhiÒu ng−êi sö dông, vµ ®Ó th©m nhËp vµo c¸c c¬ së d÷ liÖu dïng chung.

c. M¹ng ®« thÞ - MAN (Metropolitan Area Network) Lµ mét m¹ng tr¶i dµi trªn mét kh«ng gian ®Þa lý lín h¬n LAN nh−ng nhá

h¬n WAN. MAN th−êng ®−îc sö dông nh− mét m¹ng cña mét thµnh phè, mét khu c«ng nghiÖp.

d. M¹ng Intranet Lµ mét m¹ng sö dông néi bé nh− LAN hay WAN thùc hiÖn ®−îc c¸c øng

dông, nãi c¸ch kh¸c lµ c¸c dÞch vô cña INTERNET, chñ yÕu lµ dÞch vô WEB víi giao thøc truyÒn tÖp siªu v¨n b¶n - HTTP.

e. M¹ng Internet Mét hÖ thèng gåm c¸c m¹ng m¸y tÝnh ®−îc liªn kÕt víi nhau trªn ph¹m vi

toµn thÕ giíi, t¹o ®iÒu kiÖn thuËn lîi cho c¸c dÞch vô truyÒn th«ng d÷ liÖu, nh− ®¨ng nhËp tõ xa, truyÒn c¸c tÖp tin, th− tÝn ®iÖn tö, vµ c¸c nhãm th«ng tin. Internet lµ mét ph−¬ng ph¸p ghÐp nèi c¸c m¹ng m¸y tÝnh hiÖn hµnh, ph¸t triÓn mét c¸ch réng r·i tÇm ho¹t ®éng cña tõng hÖ thèng thµnh viªn

1.2 Internet M¹ng Internet ngµy nay lµ mét m¹ng toµn cÇu, bao gåm hµng chôc triÖu

ng−êi sö dông, ®−îc h×nh thµnh tõ cuèi thËp kû 60 tõ mét thÝ nghiÖm cña Bé quèc phßng Mü. T¹i thêi ®iÓm ban ®Çu ®ã lµ m¹ng ARPAnet cña Ban qu¶n lý dù ¸n nghiªn cøu Quèc phßng. ARPAnet lµ mét m¹ng thö nghiÖm phôc vô c¸c nghiªn cøu quèc phßng, mét trong nh÷ng môc ®Ých cña nã lµ x©y dùng mét m¹ng m¸y tÝnh cã kh¶ n¨ng chÞu ®ùng c¸c sù cè (vÝ dô mét sè nót m¹ng bÞ tÊn c«ng vµ ph¸ huû nh-ng m¹ng vÉn tiÕp tôc ho¹t ®éng).

M¹ng cho phÐp mét m¸y tÝnh bÊt kú trªn m¹ng liªn l¹c víi mäi m¸y tÝnh kh¸c. Kh¶ n¨ng kÕt nèi c¸c hÖ thèng m¸y tÝnh kh¸c nhau ®· hÊp dÉn mäi ng−êi, v¶ l¹i ®©y còng lµ ph−¬ng ph¸p thùc tÕ duy nhÊt ®Ó kÕt nèi c¸c m¸y tÝnh cña c¸c h·ng kh¸c nhau.

M¹ng Internet nguyªn thuû ®−îc thiÕt kÕ nh»m môc ®Ých phôc vô viÖc cung cÊp th«ng tin cho giíi khoa häc, nªn c«ng nghÖ cña nã cho phÐp mäi hÖ thèng ®Òu cã thÓ liªn kÕt víi nã th«ng qua mét cæng ®iÖn tö. Theo c¸ch ®ã, cã hµng ngµn hÖ m¸y tÝnh hîp t¸c, còng nh− nhiÒu hÖ thèng dÞch vô th− ®iÖn tö cã thu phÝ, nh− MCI vµ Compuserve ch¼ng h¹n, ®· trë nªn thµnh viªn cña Internet. Víi h¬n hai triÖu

Page 4: Thiet ke va lap trinh web

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).

Page 5: Thiet ke va lap trinh web

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.

Page 6: Thiet ke va lap trinh web

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

1.3.6 Giao thøc chuyÓn th− ®¬n gi¶n Giao thøc chuyÓn th− ®¬n gi¶n (Simple Mail Transfer Protocol-SMTP) vµ

giao thøc th− tÝn phiªn b¶n 3 (Post Office Protocol version 3-POP3) lµ mét giao thøc ®Ó ®Þnh ®−êng th− tÝn th«ng qua c¸c m¹ng. Nã sö dông giao thøc TCP/IP.

SMTP kh«ng cung cÊp mét hÖ giao tiÕp th− cho ng−êi dïng. Quy chuÈn, qu¶n lý vµ trao ®æi c¸c th«ng ®iÖp cho ng−êi dïng cuèi (End user), tÊt c¶ ®Òu ph¶i tiÕn hµnh bëi mét phÇn mÒm trao ®æi th− tÝn ®iÖn tö (nh− Outlook, Eudora,...).

1.3.7 Giao thøc truyÒn tËp tin Giao thøc truyÒn tËp tin (File Transfer Protocol-FTP) lµ mét giao thøc ®Ó

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

1.3.8 HTTP - HyperText Transfer Protocol C¸ch thøc ®Ó tr×nh duyÖt WEB cña ng−êi dïng nãi chuyÖn víi ch−¬ng tr×nh

Web server khi ng−êi dïng sö dung WWW. Hypertext: c¸ch thøc liªn kÕt tham chiÕu ®Õn nh÷ng mÉu th«ng tin kh¸c nhau.

1.4 §Þa chØ IP §Þa chØ IP gióp chóng ta cã thÓ nhËn diÖn ®−îc c¸c m¸y mµ kh«ng cÇn quan

t©m ®Õn c«ng nghÖ m¹ng c¬ së. ¦u ®iÓm cña nã lµ cã thÓ ®¬n gi¶n hãa viÖc ®Þnh ®−êng ®i trªn m¹ng. Ngoµi ra, ®Þa chØ IP cßn mang tÝnh toµn côc, nÕu m¹ng côc bé nµo ®ã ®−îc nèi vµo Internet, th× toµn bé c¸c m¸y trong m¹ng ®ã sÏ ®−îc toµn Internet biÕt ®Õn th«ng qua ®Þa chØ IP.

§Þa chØ IP ®ang ®−îc sö dông hiÖn t¹i (IPv4) cã 32 bit chia thµnh 4 octet (mçi octet cã 8 bit, t−¬ng ®−¬ng 1 byte ), c¸ch ®Õm ®Òu tõ tr¸i qua ph¶i bit 0 cho ®Õn bit 31, c¸c octet t¸ch biÖt nhau bëi dÊu chÊm (.). Mçi octet cã thÓ biÓu diÔn b»ng c¸c sè thËp ph©n, nhÞ ph©n hoÆc thËp lôc ph©n. §ia chØ IP bao gåm cã 3 thµnh phÇn chÝnh :

- Bit nhËn d¹ng líp (Class bit) - §Þnh danh cña m¹ng (Network Identifier – NET ID) - §Þnh danh m¸y chñ (Host Identifier – HOST ID) Do tæ chøc vµ ®é lín cña c¸c m¹ng côc bé trong liªn m¹ng kh¸c nhau, ®Ó

thuËn tiÖn cho viÖc qu¶n lý cÊp ph¸t ®Þa chØ IP ng−êi ta chia ®Þa chØ m¹ng thµnh 5 líp. Ký hiÖu lµ A, B, C, D, E

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

1 0 NET ID (14 bits) HOST ID (16 bits)

1 1 0 NET ID (21 bits) HOST ID(8 bits)

1 1 1 0 Multicast (18 bits)

1 1 1 1 0 Multicast (17 bits)

0 NET ID (7 bits) HOST ID (24 bits)

Page 7: Thiet ke va lap trinh web

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Þ.

Page 8: Thiet ke va lap trinh web

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ñ.

Page 9: Thiet ke va lap trinh web

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

1.5.5 Web Site Web Site lµ mét tËp hîp c¸c trang Web liªn quan ®Õn mét c«ng ty, mét tËp

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

1.5.6 World Wide Web World Wide Web (Web) lµ mét dÞch vô hay cßn gäi lµ mét c«ng cô trªn

Internet ra ®êi gÇn ®©y nhÊt nh−ng ph¸t triÓn nhanh nhÊt hiÖn nay. Nã cung cÊp mét giao diÖn v« cïng th©n thiÖn víi ng−êi dïng, dÔ sö dông, thuËn lîi vµ ®¬n gi¶n ®Ó t×m kiÕm th«ng tin.

Thùc chÊt Web kh«ng ph¶i lµ mét hÖ thèng cô thÓ víi tªn gäi nh− trªn mµ lµ mét tËp hîp c¸c c«ng cô tiÖn Ých vµ siªu giao diÖn (meta-Interface) gióp ng−êi sö dông cã thÓ tù t¹o ra c¸c "siªu v¨n b¶n" vµ cung cÊp cho nh÷ng ng−êi dïng kh¸c trªn Internet.

1.5.7 Ph©n biÖt Inetrnet vµ WWW WWW chØ lµ mét phÇn nhá cña Internet. Internet bao hµm tÊt c¶ phÇn cøng

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

1.5.8 Web page Web page lµ trang Web, lµ mét lo¹i tËp tin ®Æc biÖt ®−îc viÕt b»ng ng«n ng÷

siªu v¨n b¶n HTML. Web page cã thÓ hiÓn c¸c th«ng tin v¨n b¶n, ©m thanh, h×nh ¶nh, video, … Trang Web nµy ®−îc ®Æt trªn mét m¸y chñ Web sao cho c¸c m¸y kh¸ch cã thÓ truy cËp ®−îc nã, tËp hîp nhiÒu trang Web cã liªn quan, rµng buéc ®Õn nhau cho chóng ta mét Web Site.

1.6 C¸ch thøc tæ chøc vµ x©y dùng mét Web Site ViÖc x©y dùng mét trang Web ®Ó ®−îc nhiÒu ng−êi quan t©m lµ mét c«ng

viÖc kh«ng ®¬n gi¶n. ViÖc thiÕt kÕ kh«ng chØ l−u ý ®Õn vÊn ®Ò lµ mäi ng−êi cã truy cËp vµo trang Web cña m×nh h¬n mét lÇn hay kh«ng mµ th«ng tin trªn ®ã ph¶i phô thuéc hoµn toµn vµo môc ®Ých cña viÖc t¹o chóng.

§Ó t¹o ®−îc mét site h÷u hiÖu, ta ph¶i chó ý ®Õn nh÷ng vÊn ®Ò sau: - Cã mét môc ®Ých râ rµng: §©y lµ ®iÓm quan träng trong viÖc b¾t ®Çu thiÕt

kÕ Web. - Lu«n lu«n nghÜ ®Õn nh÷ng client-ng−êi sÏ truy cËp vµo site: Chóng ta

ph¶i xÐt ®Õn mét sè ®Æc ®iÓm cña ng−êi truy cËp nh− lµ: løa tuæi, nghÒ nghiÖp, së thÝch, thêi gian r¶nh rçi ...

- Sö dông nh÷ng môc cã kh¶ n¨ng dowload vÒ thËt nhanh. Mét trong nh÷ng lý do khiÕn nh÷ng ng−êi truy cËp vµo trang Web cña chóng ta c¶m thÊy ch¸n n¶n lµ ph¶i ®îi l©u cho viÖc lÊy tin vµ ®ã chÝnh lµ lóc ng−êi ta sÏ nhÊn vµo nót Stop.

- Cè g¾ng lµm cho Web Site cña m×nh xuÊt hiÖn mét c¸ch trùc quan: kh«ng nªn cho qu¸ nhiÒu mµu s¾c hoÆc kh«ng cã mµu s¾c trong trang.

- §õng cã cè g¾ng cho mäi thø vµo trong mét trang: Mét trang Web bõa

Page 10: Thiet ke va lap trinh web

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

Page 11: Thiet ke va lap trinh web

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

Ch−¬ng 2

LËp tr×nh Web víi ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n (HTML)

2.1 Kh¸i niÖm ng«n ng÷ HTML HTML viÕt t¾t cña HyperText Mark-up Language (ng«n ng÷ ®¸nh dÊu siªu

v¨n b¶n). Cã thÓ ®Þnh nghÜa HTML: Lµ mét tËp hîp c¸c quy t¾c vµ c¸c thÎ (tag) ®−îc sö dông ®Ó quy ®Þnh c¸c

thøc tr×nh bµy, hiÓn thÞ néi dung cña c¸c trang Web, tËp hîp c¸c quy t¾c vµ thÎ nµy ph¶i tu©n theo mét chuÈn quèc tÕ, ®¶m b¶o cho c¸c tr×nh duyÖt Web kh¸c nhau,trªn c¸c nÒn phÇn cøng vµ hÖ ®iÒu hµnh kh¸c nhau ®Òu hiÓu ®−îc vµ hiÓn thÞ ®óng néi dung cña c¸c trang Web.

HTML kh«ng ph¶i lµ mét ng«n ng÷ lËp tr×nh, nã lµ mét ng«n ng÷ ®¸nh dÊu. HTML dÔ hiÓu h¬n nhiÒu so víi hÇu hÕt c¸c ng«n ng÷ lËp tr×nh. Mét tµi liÖu HTML lµ mét tÖp tin v¨n b¶n trong ®ã cã sö dông c¸c thÎ

HTML ®Ó quy ®Þnh c¸ch thøc hiÓn thÞ v¨n b¶n khi nã ®−îc më bëi mét tr×nh duyÖt Web.

C¬ b¶n c¸c thÎ ®Þnh d¹ng trong HTML th−êng cã tõng cÆp gåm: thÎ më <tag> vµ thÎ ®ãng </tag>.

C¸c v¨n b¶n n»m gi÷a hai thÎ nµy sÏ ®−îc chÞu t¸c ®éng ®Þnh d¹ng bëi thÎ. VÝ dô, thÎ <B> dïng ®Ó ®Þnh d¹ng ch÷ in ®Ëm, khi ®ã v¨n b¶n "<B>Hello</B>" sÏ ®−îc hiÓn thÞ lµ "Hello".

2.2 LËp tr×nh web víi ng«n ng÷ HTML

2.2.1 C¸c thÎ ®Þnh d¹ng cÊu tróc cña HTML C¸c thÎ x¸c ®Þnh cÊu tróc tµi liÖu lµ b¾t buéc ph¶i cã trong mét tµi liÖu

HTML. Sau ®©y chóng ta sÏ lÇn l−ît häc c¸ch sö dông c¸c thÎ ®Þnh d¹ng cÊu tróc cña mét tµi liÖu HTML c¬ b¶n.

a. HTML CÆp thÎ nµy ®−îc sö dông ®Ó x¸c nhËn mét tµi liÖu lµ tµi liÖu HTML, tøc lµ

nã cã sö dông c¸c thÎ HTML ®Ó tr×nh bµy. Toµn bé néi dung cña tµi liÖu ®−îc ®Æt gi÷a cÆp thÎ nµy. TÊt c¶ c¸c tËp tin HTML ®Òu b¾t ®Çu b»ng thÎ <HTML>, thÎ nµy th«ng b¸o cho tr×nh duyÖt Web biÕt r»ng nã ®ang ®äc mét tµi liÖu cã chøa c¸c m· HTML vµ cuèi c¸c tËp tin HTML sÏ lµ thÎ ®ãng t−¬ng øng </HTML> th«ng b¸o kÕt thóc mét tµi liÖu HTML.

Có ph¸p: 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

<HTML> ... Toµn bé néi dung cña tµi liÖu ®−îc ®Æt ë ®©y </HTML>

Page 12: Thiet ke va lap trinh web

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

<HTML> ... PhÇn më ®Çu (header) cña tµi liÖu ®−îc ®Æt ë ®©y </HTML>

<TITLE>Tiªu ®Ò cña tµi liÖu ®−îc ®Æt ë ®©y</TITLE>

<BODY> .... phÇn néi dung cña tµi liÖu ®−îc ®Æt ë ®©y </BODY>

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

®Ò 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:

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:

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:

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:

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.

Page 13: Thiet ke va lap trinh web

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

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

BGCOLOR= §Æt mÇu nÒn cho trang khi hiÓn thÞ. NÕu c¶ hai tham sè BACKGROUND vµ BGCOLOR cïng cã gi¸ trÞ th× tr×nh duyÖt sÏ hiÓn thÞ mÇu nÒn tr−íc, sau ®ã míi t¶i ¶nh lªn phÝa trªn.

TEXT= X¸c ®Þnh mµu ch÷ cña v¨n b¶n, kÓ c¶ c¸c ®Ò môc.

ALINK= VLINK= LINK=

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:

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:

b. C¸c thÎ ®Þnh d¹ng ®Ò môc H1/H2/H3/H4/H5/H6 HTML hç trî 6 møc ®Ò môc. Chó ý r»ng ®Ò môc chØ lµ c¸c chØ dÉn ®Þnh d¹ng

vÒ mÆt logic, tøc lµ mçi tr×nh duyÖt sÏ thÓ hiÖn ®Ò môc d−íi mét khu«n d¹ng thÝch hîp. Cã thÓ ë tr×nh duyÖt nµy lµ font ch÷ 14 point nh−ng sang tr×nh duyÖt kh¸c lµ font ch÷ 20 point. §Ò môc cÊp 1 lµ cao nhÊt vµ gi¶m dÇn ®Õn cÊp 6. Th«ng th−êng v¨n b¶n ë ®Ò môc cÊp 5 hay cÊp 6 th−êng cã kÝch th−íc nhá h¬n v¨n b¶n th«ng th−êng.

D−íi ®©y lµ c¸c thÎ dïng ®Ó ®Þnh d¹ng v¨n b¶n ë d¹ng ®Ò môc:

<H1> ... </H1> §Þnh d¹ng ®Ò môc cÊp 1

<H2> ... </H2> §Þnh d¹ng ®Ò môc cÊp 2

<H3> ... </H3> §Þnh d¹ng ®Ò môc cÊp 3

<H4> ... </H4> §Þnh d¹ng ®Ò môc cÊp 4

<H5> ... </H5> §Þnh d¹ng ®Ò môc cÊp 5

<H6> ... </H6> §Þnh d¹ng ®Ò môc cÊp 6

<P>Néi dung ®o¹n v¨n b¶n</P>

Page 14: Thiet ke va lap trinh web

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

<PRE>V¨n b¶n ®· ®−îc ®Þnh d¹ng</PRE>

<UL> <LI> Môc thø nhÊt <LI> Môc thø hai </UL>

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:

2.2.3 C¸c thÎ ®Þnh d¹ng danh s¸ch Có ph¸p: 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:

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).

<OL TYPE=1/a/A/i/I> <LI>Muc thu nhat <LI>Muc thu hai <LI>Muc thu ba </OL>

Page 15: Thiet ke va lap trinh web

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

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

a. C¸c thÎ ®Þnh d¹ng in ký tù Sau ®©y lµ c¸c thÎ ®−îc sö dông ®Ó quy ®Þnh c¸c thuéc tÝnh nh− in nghiªng,

in ®Ëm, g¹ch ch©n... cho c¸c ký tù, v¨n b¶n khi ®−îc thÓ hiÖn trªn tr×nh duyÖt. ThÎ Thuéc tÝnh

<B> ... </B> <STRONG> ... </STRONG>

In ch÷ ®Ëm

<I> ... </I> <EM> ... </EM>

In ch÷ nghiªng

<U> ... </U> In ch÷ g¹ch ch©n

<DFN> §¸nh dÊu ®o¹n v¨n b¶n gi÷a hai thÎ nµy lµ ®Þnh nghÜa cña mét tõ. Chóng th−êng ®−îc in nghiªng hoÆc thÓ hiÖn qua mét kiÓu ®Æc biÖt nµo ®ã.

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

In ch÷ bÞ g¹ch ngang.

<BIG> ... </BIG> In ch÷ lín h¬n b×nh th−êng b»ng c¸ch t¨ng kÝch th−íc font hiÖn thêi lªn mét. ViÖc sö dông c¸c thÎ <BIG> lång nhau t¹o ra hiÖu øng ch÷ t¨ng dÇn. Tuy nhiªn ®èi víi mçi tr×nh duyÖt cã giíi h¹n vÒ kÝch th−íc ®èi víi mçi font ch÷, v−ît qu¸ giíi h¹n nµy, c¸c thÎ <BIG> sÏ kh«ng cã ý nghÜa.

<SMALL> ... </SMALL> In ch÷ nhá h¬n b×nh th−êng b»ng c¸ch gi¶m kÝch th−íc font hiÖn thêi ®i mét. ViÖc sö dông c¸c thÎ <SMALL>lång nhau t¹o ra hiÖu øng ch÷ gi¶m dÇn. Tuy nhiªn ®èi víi mçi tr×nh duyÖt cã giíi h¹n vÒ kÝch th−íc ®èi víi mçi font ch÷, v−ît qu¸ giíi h¹n nµy, c¸c thÎ <SMALL> sÏ kh«ng cã ý nghÜa.

<SUP> ... </SUP> §Þnh d¹ng chØ sè trªn (SuperScript)

<SUB> ... </SUB> §Þnh d¹ng chØ sè d−íi (SubScript)

<BASEFONT> §Þnh nghÜa kÝch th−íc font ch÷ ®−îc sö dông cho ®Õn hÕt v¨n b¶n. ThÎ nµy chØ cã mét tham sè size= x¸c ®Þnh cì ch÷. ThÎ <BASEFONT> kh«ng cã thÎ kÕt thóc.

<FONT> ... </FONT> Chän kiÓu ch÷ hiÓn thÞ. Trong thÎ nµy cã thÓ ®Æt hai tham sè size= hoÆc color= x¸c ®Þnh cì ch÷ vµ mµu s¾c ®o¹n v¨n b¶n n»m gi÷a hai thÎ. KÝch th−íc cã thÓ lµ tuyÖt ®èi (nhËn gi¸ trÞ tõ 1 ®Õn 7) hoÆc t−¬ng ®èi (+2,-4...) so víi font ch÷ hiÖn t¹i.

Page 16: Thiet ke va lap trinh web

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

<CENTER>V¨n b¶n sÏ ®−îc c¨n gi÷a trang</CENTER>

b. C¨n lÒ v¨n b¶n trong trang Web Trong tr×nh bµy trang Web cña m×nh chóng ta lu«n ph¶i chó ý ®Õn viÖc c¨n

lÒ c¸c v¨n b¶n ®Ó trang Web cã ®−îc mét bè côc ®Ñp. Mét sè c¸c thÎ ®Þnh d¹ng nh− <P>, <Hn>, <IMG>... ®Òu cã tham sè ALIGN cho phÐp c¨n lÒ c¸c v¨n b¶n n»m trong ph¹m vi giíi h¹n bëi cña c¸c thÎ ®ã.

C¸c gi¸ trÞ cho tham sè ALIGN: LEFT C¨n lÒ tr¸i

CENTER C¨n gi÷a trang

RIGHT C¨n lÒ ph¶i

Ngoµi ra, chóng ta cã thÓ sö dông thÎ CENTER ®Ó c¨n gi÷a trang mét khèi v¨n b¶n.

Có ph¸p:

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

§á §á sÉm Xanh l¸ c©y Xanh nh¹t Xanh n−íc biÓn Vµng Vµng nh¹t Tr¾ng

#FF0000 #8B0000 #00FF00 #90EE90 #0000FF #FFFF00 #FFFFE0 #FFFFFF

RED DARKRED GREEN LIGHTGREEN BLUE YELLOW LIGHTYELLOW WHITE

Page 17: Thiet ke va lap trinh web

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

§en X¸m N©u TÝm TÝm nh¹t Hång Da cam Mµu ®ång phôc h¶i qu©n

#000000 #808080 #A52A2A #FF00FF #EE82EE #FFC0CB #FFA500 #000080 #4169E1 #7FFFD4

BLACK GRAY BROWN MAGENTA VIOLET PINK ORANGE NAVY ROYALBLUE AQUAMARINE

Có ph¸p:

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

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

C¸c tham sè ý nghÜa

LINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt

ALINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®ang ®ang chän

VLINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®· tõng më

BACKGROUND ChØ ®Þnh ®Þa chØ cña ¶nh dïng lµm nÒn

BGCOLOR ChØ ®Þnh mµu nÒn

TEXT ChØ ®Þnh mµu cña v¨n b¶n trong tµi liÖu

SCROLL YES/NO - X¸c ®Þnh cã hay kh«ng thanh cuén

TOPMARGIN LÒ trªn

RIGHTMARGIN LÒ ph¶i

LEFTMARGIN LÒ tr¸i

Page 18: Thiet ke va lap trinh web

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).

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.tsqtt.edu.vn:8080/~dir1/dir2/dir3/index.html#chapter001

DÞch vô

Tªn hÖ thèng

Cæng

§−êng dÉn

Tªn file

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

Page 19: Thiet ke va lap trinh web

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

index.html, index.htm, default.html hay default.htm (víi c¸c Web site ®éng th× file mÆc ®Þnh cã thÓ cã phÇn më réng lµ asp, aspx, jsp hay php…). NÕu còng kh«ng cã c¸c file nµy th× th−êng kÕt qu¶ tr¶ vÒ lµ danh s¸ch liÖt kª c¸c file hay th− môc con trong th− môc ®−îc yªu cÇu

• C¸c tham sè: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. NÕu URL lµ yªu cÇu t×m kiÕm trªn mét c¬ së d÷ liÖu th× truy vÊn sÏ g¾n vµo URL, ®ã chÝnh lµ ®o¹n m· ®»ng sau dÊu chÊm hái (?).URL còng cã thÓ tr¶ l¹i th«ng tin ®−îc thu thËp tõ form. Trong tr−êng hîp dÊu th¨ng (#) xuÊt hiÖn ®o¹n m· ®¨ng sau lµ tªn cña mét vÞ trÝ (location) trong file ®−îc chØ ra.

§Ó t¹o ra mét siªu v¨n b¶n chóng ta sö dông thÎ <A>. Có ph¸p:

<A HREF = url NAME = name TABINDEX = n TITLE = title TARGET = _blank / _self > ... siªu v¨n b¶n </A>

ý nghÜa c¸c tham sè: C¸c tham sè ý nghÜa

HREF §Þa chØ cña trang Web ®−îc liªn kÕt, lµ mét URL nµo ®ã.

NAME §Æt tªn cho vÞ trÝ ®Æt thÎ.

TABLEINDEX Thø tù di chuyÓn khi Ên phÝm Tab

TITLE V¨n b¶n hiÓn thÞ khi di chuét trªn siªu liªn kÕt.

TARGET Më trang Web ®−îc liªn trong mét cöa sæ míi (_blank) hoÆc trong cöa sæ hiÖn t¹i (_self), trong mét frame (tªn frame).

g. §Þa chØ t−¬ng ®èi URL ®−îc tr×nh bµy ë trªn lµ URL tuyÖt ®èi. Ngoµi ra cßn cã URL t−¬ng ®èi

hay cßn gäi lµ URL kh«ng ®Çy ®ñ. §Þa chØ t−¬ng ®èi sö dông sù kh¸c biÖt t−¬ng ®èi gi÷a v¨n b¶n hiÖn thêi vµ v¨n b¶n cÇn tham chiÕu tíi. C¸c thµnh phÇn trong URL ®−îc ng¨n c¸ch b»ng ký tù ng¨n c¸ch (ký tù g¹ch chÐo /). §Ó t¹o ra URL t−¬ng ®èi, ®Çu tiªn ph¶i sö dông ký tù ng¨n c¸ch. URL ®Çy ®ñ hiÖn t¹i sÏ ®−îc sö dông ®Ó t¹o nªn URL ®Çy ®ñ míi. Nguyªn t¾c lµ c¸c thµnh phÇn bªn tr¸i dÊu ng¨n c¸ch cña URL hiÖn t¹i ®−îc gi÷ nguyªn, c¸c thµnh phÇn bªn ph¶i ®−îc thay thÕ b»ng thµnh phÇn URL t−¬ng ®èi. Chó ý r»ng tr×nh duyÖt kh«ng göi URL t−¬ng ®èi, nã bæ sung vµo URL c¬ së ®· x¸c ®Þnh tr−íc thµnh phÇn URL t−¬ng ®èi x¸c ®Þnh sau thuéc tÝnh href=. Ký tù ®Çu tiªn sau dÊu b»ng sÏ x¸c ®Þnh c¸c thµnh phÇn nµo cña URL hiÖn t¹i sÏ tham gia ®Ó t¹o nªn URL míi.

VÝ dô, víi ®Þa chØ URL: http://dit.tsqtt.edu.vn/HTML/ th×:

Page 20: Thiet ke va lap trinh web

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:[email protected]” >WEBMASTER <\A> b¶o tr× <\ADDRESS>

i. VÏ mét ®−êng th¼ng n»m ngang Có ph¸p:

<HR ALIGN = LEFT / CENTER / RIGHT COLOR = color NOSHADE SIZE = n WIDTH = width >

ý nghÜa c¸c tham sè: C¸c tham sè ý nghÜa ALIGN C¨n lÒ (c¨n tr¸i, c¨n ph¶i, c¨n gi÷a)

COLOR §Æt mµu cho ®−êng th¼ng

NOSHADE Kh«ng cã bãng

SIZE §é dµy cña ®−êng th¼ng

WIDTH ChiÒu dµi (tÝnh theo pixel hoÆc % cña bÒ réng cöa sæ tr×nh duyÖt).

ThÎ nµy gièng nh− thÎ <BR>, nã còng kh«ng cã thÎ kÕt thóc t−¬ng øng.

Page 21: Thiet ke va lap trinh web

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

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

a. Giíi thiÖu Liªn kÕt víi file ®a ph−¬ng tiÖn còng t−¬ng tù nh− liªn kÕt b×nh th−êng. Tuy

vËy ph¶i ®Æt tªn ®óng cho file ®a ph−¬ng tiÖn. PhÇn më réng cña file ph¶i cho biÕt kiÓu cña file

KiÓu Më réng M« t¶ Image/GIF .gif ViÕt t¾t cña Graphics Interchange Format. Khu«n

d¹ng nµy xuÊt hiÖn khi mäi ng−êi cã nhu cÇu trao ®æi ¶nh trªn nhiÒu hÖ thèng kh¸c nhau. Nã ®−îc sö dông trªn tÊt c¶ c¸c hÖ thèng hç trî giao diÖn ®å ho¹. §Þnh d¹ng GIF lµ ®Þnh d¹ng chuÈn cho mäi tr×nh duyÖt WEB. Nh−îc ®iÓm cña nã lµ chØ thÓ hiÖn ®−îc 256 mµu.

Image/JPEG .jpeg ViÕt t¾t cña Joint Photographic Expert Group. Lµ khu«n d¹ng ¶nh kh¸c nh−ng cã thªm kh¶ n¨ng nÐn.¦u ®iÓm næi bËt cña khu«n d¹ng nµy lµ l−u tr÷ ®−îc hµng triÖu mµu vµ ®é nÐn cao nªn kÝch th−íc file ¶nh nhá h¬n vµ thêi gian download nhanh h¬n. Nã lµ c¬ së cho khu«n d¹ng MPEG. TÊt c¶ c¸c tr×nh duyÖt ®Òu cã kh¶ n¨ng xem ¶nh JPEG.

Image/TIFF .tiff ViÕt t¾t cña Tagged Image File Format. §−îc Microsoft thiÕt kÕ ®Ó quÐt ¶nh tõ m¸y quÐt còng nh− t¹o c¸c Ên phÈm.

Text/HTML .html, .htm

PostScript .eps, .ps §−îc t¹o ra ®Ó hiÓn thÞ vµ in c¸c v¨n b¶n cã chÊt l−îng cao.

Adobe Acrobat

.pdf 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.

Video/MPEG .mpeg ViÕt t¾t cña Motion Picture Expert Group, lµ ®Þnh d¹ng dµnh cho c¸c lo¹i phim (video). §©y lµ khu«n d¹ng th«ng dông nhÊt dµnh cho phim trªn WEB.

Video/AVI .avi Lµ khu«n dn¹g phim do Microsoft ®−a ra.

Video/QuickTime

.mov 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

Page 22: Thiet ke va lap trinh web

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

Sound/MIDI .mid Lµ khu«n d¹ng dµnh cho ©m nh¹c ®iÖn tö hÕt søc th«ng dông ®−îc nhiÒu tr×nh duyÖt trªn c¸c hÖ thèng kh¸c nhau hç trî. File Midi ®−îc tæng hîp sè ho¸ trùc tiÕp tõ m¸y tÝnh.

Sound/RealAudio

.ram §Þ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.

VRML .vrml ViÕt t¾t cña Virtual Reality Modeling Language. C¸c file theo ®Þnh d¹ng nµy còng gièng nh− HTML. Tuy nhiªn do tr×nh duyÖt cã thÓ hiÓn thÞ ®−îc cöa sæ 3 chiÒu nªn ng−êi xem cã thÓ c¶m nhËn ®−îc c¶m gi¸c ba chiÒu.

b. §−a ©m thanh vµo mét tµi liÖu HTML Có ph¸p:

<BGSOUND SRC = url LOOP = n >

ThÎ nµy kh«ng cã thÎ kÕt thóc t−¬ng øng (</BGSOUND>). §Ó ch¬i lÆp l¹i v« h¹n cÇn chØ ®Þnh LOOP = -1 hoÆc LOOP = INFINITE. ThÎ <BGSOUND> ph¶i ®−îc ®Æt trong phÇn më ®Çu (tøc lµ n»m trong cÆp thÎ <HEAD>).

c. ChÌn mét h×nh ¶nh, mét ®o¹n video vµo tµi liÖu HTML §Ó chÌn mét file ¶nh (.jpg, .gif, .bmp) hoÆc video (.mpg, .avi) vµo tµi liÖu

HTML, ta cã thÓ sö dông thÎ IMG. Có ph¸p:

<IMG ALIGN = TOP/MIDDLE/BOTTOM ALT = text BORDER = n SRC = url WIDTH = width HEIGHT = height HSPACE = vspace VSPACE = hspace TITLE = title

Page 23: Thiet ke va lap trinh web

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

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

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

ALIGN = TOP/ MIDDLE/ BOTTOM/ LEFT/ RIGHT

C¨n hµng v¨n b¶n bao quanh ¶nh

ALT = text ChØ ®Þnh v¨n b¶n sÏ ®−îc hiÓn thÞ nÕu chøc n¨ng show picture cña browser bÞ t¾t ®i hay hiÓn thÞ thay thÕ cho ¶nh trªn nh÷ng tr×nh duyÖt kh«ng cã kh¶ n¨ng hiÓn thÞ ®å ho¹. V¨n b¶n nµy cßn ®−îc gäi lµ nh·n cña ¶nh. §èi víi tr×nh duyÖt cã kh¶ n¨ng hç trî ®å ho¹, dßng v¨n b¶n nµy sÏ hiÖn lªn khi di chuét qua ¶nh hay ®−îc hiÓn thÞ trong vïng cña ¶nh nÕu ¶nh ch−a ®−îc t¶i vÒ hÕt. Chó ý ph¶i ®Æt v¨n b¶n trong hai dÊu nh¸y kÐp nÕu triong v¨n b¶n chøa dÊu c¸ch hay c¸c ký tù ®Æc biÖt - trong tr−êng hîp ng−îc l¹i cã thÓ bá dÊu nh¸y kÐp.

BORDER = n §Æt kÝch th−íc ®−êng viÒn ®−îc vÏ quanh ¶nh (tÝnh theo pixel).

SRC = url §Þa chØ cña file ¶nh cÇn chÌn vµo tµi liÖu.

WIDTH/HEIGHT ChØ ®Þnh kÝch th−íc cña ¶nh ®−îc hiÓn thÞ.

HSPACE/VSPACE ChØ ®Þnh kho¶ng trèng xung quanh h×nh ¶nh (tÝnh theo pixel) theo bèn phÝa trªn, d−íi, tr¸i, ph¶i.

TITLE = title V¨n b¶n sÏ hiÓn thÞ khi con chuét trá trªn ¶nh

DYNSRC = url §Þa chØ cña file video.

START = FILEOPEN/MOUSEOVER

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.

LOOP = n/INFINITE ChØ ®Þnh sè lÇn ch¬i. NÕu LOOP = INFINITE th× file video sÏ ®−îc ch¬i v« h¹n lÇn.

d. Image map Image map cho phÐp click chuét lªn mét vïng nµo ®ã trªn mét h×nh ¶nh ®Ó

më mét trang Web kh¸c. Sö dông thÎ MAP vµ AREA ®Ó thiÕt lËp c¸c th«ng tin cho mét image map.

Có ph¸p: <MAP NAME="map-name"> <AREA SHAPE = RECT/CIRC/POLY

Page 24: Thiet ke va lap trinh web

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

Page 25: Thiet ke va lap trinh web

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

2.2.6 ChÌn b¶ng Sau ®©y lµ c¸c thÎ chÝnh sö dông ®Ó chÌn b¶ng vµo tµi liÖu HTML:

ThÎ Thuéc tÝnh <TABLE> ... </TABLE> §Þnh nghÜa mét b¶ng

<TR> ... </TR> §Þnh nghÜa mét hµng trong b¶ng

<TD> ... </TD> §Þnh nghÜa mét « trong hµng

<TH> ... </TH> §Þnh nghÜa « chøa tiªu ®Ò cña cét

<CAPTION> ... </CAPTION> Tiªu ®Ò cña b¶ng Có ph¸p:

<TABLE ALIGN = LEFT / CENTER / RIGHT BORDER = n BORDERCOLOR = color BORDERCOLORDARK = color BORDERCOLORLIGHT = color BACKGROUND = url BGCOLOR = color CELLSPACING = spacing CELLPADDING = pading> <CAPTION>Tiªu ®Ò cña b¶ng biÓu</CAPTION> ... §Þnh nghÜa c¸c dßng <TR ALIGN = LEFT/CENTER/RIGHT VALIGN = TOP/MIDDLE/BOTTOM> ... §Þnh nghÜa c¸c « trong dßng <TD ALIGN = LEFT / CENTER / RIGHT VALIGN = TOP / MIDDLE / BOTTOM BORDERCOLOR = color BORDERCOLORDARK = color BORDERCOLORLIGHT = color BACKBROUND = url BGCOLOR = color COLSPAN = n ROWSPAN = n> ... Néi dung cña « </TD> </TR> </TABLE>

Page 26: Thiet ke va lap trinh web

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

ý nghÜa c¸c tham sè: C¸c tham sè ý nghÜa

ALIGN / VALIGN C¨n lÒ cho b¶ng vµ néi dung trong mçi «.

BORDER KÝch th−íc ®−êng kÎ chia « trong b¶ng, ®−îc ®o theo pixel. Gi¸ trÞ 0 cã nghÜa lµ kh«ng x¸c ®Þnh lÒ, gi÷a c¸c « trong b¶ng chØ cã mét kho¶ng tr¾ng nhá ®Ó ph©n biÖt. NÕu chØ ®Ó border th× ngÇm ®Þnh border=1. Víi nh÷ng b¶ng cã cÊu tróc phøc t¹p, nªn ®Æt lÒ ®Ó ng−êi xem cã thÓ ph©n biÖt râ c¸c dßng vµ cét.

BORDERCOLOR Mµu ®−êng kÎ

BORDERCOLORDARK BORDERCOLORLIGHT

Mµu phÝa tèi vµ phÝa s¸ng cho ®−êng kÎ næi.

BACKGROUND §Þa chØ tíi tÖp ¶nh dïng lµm nÒn cho b¶ng

BGCOLOR Mµu nÒn

CELLSPACING Kho¶ng c¸ch gi÷a c¸c « trong b¶ng

CELLPADDING Kho¶ng c¸ch gi÷a néi dung vµ ®−êng kÎ trong mçi « cña b¶ng.

COLSPAN ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu cét

ROWSPAN ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu hµng

2.2.7 Sö dông Khung – Frame C¸c frame cho phÐp b¹n tæ chøc cÊu tróc néi dung c¸c trang Web cña m×nh

b»ng c¸ch phøc hîp nhiÒu tµi liÖu HTML ®Ó cã thÓ xem chóng trong cïng mét cöa sæ chÝnh cña tr×nh duyÖt Web. §Ó t¹o mét trang Web phøc hîp b¹n sö dông c¸c thÎ FRAMESET vµ FRAME ®Ó chia cöa sæ chÝnh thµnh c¸c khung ch÷ nhËt (frame). Sau ®ã trong mçi khung h×nh ch÷ nhËt ®ã b¹n chØ ®Þnh mét tµi liÖu sÏ ®−îc hiÓn thÞ trong khung ®ã. Chó ý thÎ FRAMESET sÏ thay thÕ cho thÎ BODY trong mét tµi liÖu HTML, ®iÒu ®ã cã nghÜa lµ trong mét tµi liÖu sö dông thÎ FRAMESET sÏ kh«ng cã thÎ BODY mµ thay vµo ®ã phÇn néi dung chÝnh cña tµi liÖu sÏ ®−îc ®Þnh nghÜa bëi thÎ FRAMESET.

a. ThÎ FRAMESET Có ph¸p:

<FRAMESET COLS = col-widths ROWS = row-heights BORDER = pixels BORDERCOLOR = color FRAMEBORDER = 1/0 > ... <FRAME ... >

Page 27: Thiet ke va lap trinh web

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

<FRAME ... > ... </FRAMESET>

Trong ®ã:

C¸c tham sè ý nghÜa COLS Chia däc cöa sæ thµnh c¸c phÇn víi kÝch th−íc chØ ®Þnh (theo

pixel, % hoÆc *).

ROWS Chia ngang cöa sæ thµnh c¸c phÇn víi kÝch th−íc chØ ®Þnh (theo pixel, % hoÆc *).

BORDER KÝch th−íc cña ®−êng kÎ viÒn khung

BORDERCOLOR ChØ ®Þnh mµu cho ®−êng viÒn khung

FRAMEBORDER ChØ ®Þnh cã/kh«ng (1/0) hiÓn thÞ khung cña c¸c frame.

b. ThÎ FRAME Có ph¸p:

<FRAME BORDERCOLOR = color FRAMEBORDER = 0/1 MARGINHEIGHT = height MARGINWIDTH = width NAME = name NORESIZE SCROLLING = YES/NO SRC = address Target = Window_Name>

Trong ®ã:

C¸c tham sè ý nghÜa BORDERCOLOR Mµu ®−êng viÒn khung.

FRAMEBORDER = 0 / 1 ChØ ®Þnh cã/kh«ng viÒn khung.

MARGINHEIGHT Kho¶ng c¸ch gi÷a néi dung trong khung vµ ®−êng viÒn ngang.

MARGINWIDTH Kho¶ng c¸ch gi÷a néi dung trong khung vµ ®−êng viÒn däc.

NAME §Æt tªn cho khung.

NORESIZE ChØ ®Þnh kh«ng ®−îc thay ®æi kÝch th−íc cña khung.

SCROLLING = YES / NO ChØ ®Þnh cã hay kh«ng cã thanh cuén cho khung.

SRC §Þa chØ cña tµi liÖu sÏ ®−îc hiÓn thÞ trong khung.

Target ChØ ra cöa sæ n¬i mµ tµi liÖu ®−îc hiÓn thÞ

Page 28: Thiet ke va lap trinh web

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>

Page 29: Thiet ke va lap trinh web

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

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

ALIGN C¨n lÒ cho khung

BORDER KÝch th−íc ®−êng viÒn cña khung

BORDERCOLOR Mµu ®−êng viÒn cña khung

FRAMEBORDER = 0 / 1 Khung cã ®−êng viÒn hay kh«ng

NORESIZE Kh«ng ®−îc phÐp thay ®æi kÝch th−íc cña khung.

SCROLLING = YES / NO ChØ ®Þnh khung cã thanh cuén hay kh«ng

NAME §Æt tªn cho khung

SRC §Þa chØ tµi liÖu ®−îc hiÓn thÞ trong khung

MARGINWIDTH Kho¶ng c¸ch gi÷a v¨n b¶n néi dung cña khung vµ c¸c ®−êng viÒn däc.

MARGINHEIGHT Kho¶ng c¸ch gi÷a v¨n b¶n néi dung cña khung vµ c¸c ®−êng viÒn ngang.

WIDTH §Æt chiÒu réng cña khung

HEIGHT §Æt chiÒu cao cña khung VÝ dô minh häa:

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

H×nh 2.3 VÝ dô vÒ IFRAME

Page 30: Thiet ke va lap trinh web

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

2.2.8 FORMS Form lµ thµnh phÇn giao tiÕp c¬ b¶n gi÷a ng−êi duyÖt Web víi ng−êi t¹o

Web. D÷ liÖu ®−îc nhËp vµo Form th«ng qua c¸c hép ®iÒu khiÓn (control).

a. HTML Forms Ng−êi biªn so¹n HTML cã thÓ t¹o ra c¸c HTML Form ®Ó t−¬ng t¸c víi

nh÷ng ng−êi ®äc tµi liÖu cña hä ch¼ng h¹n nh− cho phÐp ng−êi ®äc nhËp vµo d÷ liÖu ®Ó ch¹y mét ch−¬ng tr×nh CGI, ghi vµo c¸c nhËn xÐt vÒ trang Web ®ã. C¸c HTML Form cã thÓ chøa c¸c hép v¨n b¶n (textbox), hép danh s¸ch lùa chän (checkbox), nót bÊm (push button), nót chän (radio button)...

b. T¹o Form §Ó t¹o ra mét form trong tµi liÖu HTML, chóng ta sö dông thÎ FORM víi có

ph¸p nh− sau: Có ph¸p:

<FORM ACTION = ulr METHOD = GET | POST NAME = name TARGET = frame_name | _blank | _self > <!-- C¸c phÇn tö ®iÒu khiÓn cña form --> <INPUT ...> <INPUT ...> </FORM>

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

ACTION §Þa chØ sÏ göi d÷ liÖu tíi khi form ®−îc submit (cã thÓ lµ ®Þa chØ tíi mét ch−¬ng tr×nh CGI, mét trang ASP...).

METHOD Ph−¬ng thøc göi d÷ liÖu.

NAME Tªn cña form.

TARGET ChØ ®Þnh cöa sæ sÏ hiÓn thÞ kÕt qu¶ sau khi göi d÷ liÖu tõ form ®Õn server.

§Æt c¸c ®èi t−îng ®iÓu khiÓn (nh− hép v¨n b¶n, « kiÓm tra, nót bÊm...) vµo trang Web

c. ThÎ INPUT Có ph¸p thÎ INPUT:

<INPUT ALIGN = LEFT | CENTER | RIGHT TYPE = BUTTON | CHECKBOX | FILE | IMAGE | PASSWORD | RADIO | RESET | SUBMIT | TEXT VALUE = value >

Page 31: Thiet ke va lap trinh web

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>

Page 32: Thiet ke va lap trinh web

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>

Page 33: Thiet ke va lap trinh web

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

Page 34: Thiet ke va lap trinh web

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

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

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

a. T¹o chuçi ký tù chuyÓn ®éng Có ph¸p:

<MARQUEE BEHAVIOR =type DIRECTION =LEFT | RIGHT LOOP =n VSCROLLAMOUNT=n SCOLLDELAY =n > Chuçi ký tù muèn chuyÓn ®éng</MARQUEE>

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

BEHAVIOR X¸c ®Þnh c¸ch thøc chuyÓn ®éng, víi type=scroll th× chuçi ký tù b¾t ®Çu xuÊt hiÖn t¹i 1 c¹nh cña cöa sæ mµn h×nh vµ biÕn mÊt ë c¹nh bªn kia, víi type=slide th× chuçi b¾t ®Çu chuyÓn ®éng tõ 1 c¹nh vµ dõng l¹i ë c¹nh bªn kia khi chuçi ch¹m vµo c¹nh kia, víi type=alternate th× chuçi xuÊt hiÖn tõ bªn nµy sang bªn kia vµ chuyÓn ®éng ng−îc l¹i.

DIRECTION §Þnh h−íng chuyÓn ®éng cho chuçi ký tù.

LOOP X¸c ®Þnh sè lÇn chuyÓn ®éng cña chuçi. NÕu loop=infinite th× chuçi sÏ xuÊt hiÖn liªn tôc.

VSCROLLAMOUNT X¸c ®Þnh tèc ®é chuyÓn ®éng cña chuçi, tÝnh b»ng sè pixel/gi©y.

SCOLLDELAY Thêi gian ngõng sau 1 lÇn chuyÓn ®éng. NÕu kh«ng cã c¸c thuéc tÝnh trªn th× chuyÓn ®éng lÆp ®i lÆp l¹i tõ ph¶i sang

tr¸i víi tèc ®é 6 pixel/1 gi©y vµ thêi gian ngõng gi÷a c¸c lÇn ch¹y lµ 90 gi©y. VÝ dô minh häa:

<HTML> <HEAD> <TITLE>Chuçi ký tù chuyÓn ®éng</TITLE> </HEAD> <BODY> <P><font color=“red” face=“tahoma” size=“4”></font></P> <MARQUEE BEHAVIOR=scroll DIRECTION=LEFT

Page 35: Thiet ke va lap trinh web

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

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

b. Thay ®æi h×nh d¹ng chuét khi qua mét vÞ trÝ Có ph¸p:

<TD STYLE= “cursor:thuéc tÝnh cña cursor> C¸c thuéc tÝnh vµ h×nh d¹ng t−¬ng øng:

Auto Hand Move Text Wait Help Default Crosshair

VÝ dô minh häa:

<HTML> <HEAD> <TITLE>VÝ dô vÒ Cursor</TITLE> </HEAD> <BODY> <TABLE BORDER=“1”> <TR> <TD STYLE=“cursor:auto”>auto</TD> <TD STYLE=“cursor:hand”>hand</TD> <TD STYLE=“cursor:move”>move</TD> <TD STYLE=“cursor:text”>text</TD> <TD STYLE=“cursor:wait”>wait</TD> <TD STYLE=“cursor:help”>help</TD> <TD STYLE=“cursor:default”>default</TD> <TD STYLE=“cursor:crosshair”>crosshair</TD> </TR> </TABLE> </BODY> </HTML>

2.4 C©u hái vµ bµi tËp ch−¬ng 2 C©u 1: Kh¸i niÖm ng«n ng÷ HTML? C©u 2: Nªu c¸c thÎ x¸c ®Þnh cÊu tróc tµi liÖu HTML vµ ý nghÜa cña chóng. C©u 3: Ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n ®éng (DHTML): kh¸i niÖm, ®Æc

®iÓm. Bµi 1: ThiÕt kÕ website ch−¬ng tr×nh ®µo t¹o cö nh©n CNTT hÖ cao ®¼ng

tr−êng SÜ quan CH-KT Th«ng tin, trang gåm 3 frame nh− h×nh sau, toµn bé website sö dông font Time New Roman, yªu cÇu:

• Top frame gåm cã logo bªn tr¸i, chÝnh gi÷a lµ banner cña site, dßng slogan ch¹y bªn d−íi.

Page 36: Thiet ke va lap trinh web

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

Contents

Footer Bµi 2: ThiÕt kÕ website qu¶n lý sinh viªn cña HÖ D©n sù d−íi d¹ng b¶ng

(table), nh− sau: Logo Banner

Date-Time Slogan chuyÓn ®éng Tin tøc-Sù kiÖn Th«ng b¸o-H−íng dÉn TuyÓn sinh-§µo t¹o

Qu¶ng c¸o

KÕt qu¶-Häc bæng DiÔn ®µn sinh viªn Tµi liÖu häc tËp Liªn kÕt website

Contents Qu¶ng c¸o

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.

Page 37: Thiet ke va lap trinh web

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

Ch−¬ng 3

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

3.1 JavaScript

3.1.1 Tæng quan Víi HTML vµ Microsoft FrontPage chóng ta ®· biÕt c¸ch t¹o ra trang Web -

tuy nhiªn chØ míi ë møc biÓu diÔn th«ng tin chø ch−a ph¶i lµ c¸c trang Web ®éng cã kh¶ n¨ng ®¸p øng c¸c sù kiÖn tõ phÝa ng−êi dïng. H·ng Netscape ®· ®−a ra ng«n ng÷ kÞch b¶n cã tªn lµ LiveScript ®Ó thùc hiÖn chøc n¨ng nµy. Sau ®ã ng«n ng÷ nµy ®−îc ®æi tªn thµnh JavaScript ®Ó tËn dông tÝnh ®¹i chóng cña ng«n ng÷ lËp tr×nh Java. MÆc dï cã nh÷ng ®iÓm t−¬ng ®ång gi÷a Java vµ JavaScript, nh−ng chóng vÉn lµ hai ng«n ng÷ riªng biÖt.

JavaScript lµ ng«n ng÷ d−íi d¹ng script cã thÓ g¾n víi c¸c file HTML. Nã kh«ng ®−îc biªn dÞch mµ ®−îc tr×nh duyÖt diÔn dÞch. Kh«ng gièng Java ph¶i chuyÓn thµnh c¸c m· dÔ biªn dÞch, tr×nh duyÖt ®äc JavaScript d−íi d¹ng m· nguån. ChÝnh v× vËy chóng ta cã thÓ dÔ dµng häc JavaScript qua vÝ dô bëi v× ta cã thÓ thÊy c¸ch sö dông JavaScript trªn c¸c trang Web.

a. §Æc tÝnh cña ng«n ng÷ JavaScript JavaScript lµ mét ng«n ng÷ th«ng dÞch (interpreter), ch−¬ng tr×nh nguån cña

nã ®−îc nhóng (embedded) hoÆc tÝch hîp (integated) vµo tËp tin HTML chuÈn. Khi file ®−îc load trong Browser (cã support cho JavaScript), Browser sÏ th«ng dÞch c¸c Script vµ thùc hiÖn c¸c c«ng viÖc x¸c ®Þnh. Ch−¬ng tr×nh nguån JavaScript ®−îc th«ng dÞch trong trang HTML sau khi toµn bé trang ®−îc load nh−ng tr−íc khi trang ®−îc hiÓn thÞ.

JavaScript lµ mét ng«n ng÷ cã ®Æc tÝnh: • §¬n gi¶n. • §éng (Dynamic). • H−íng ®èi t−îng (Object Oriented).

b. §èi t−îng trong JavaScript Mét trong nh÷ng ®Æc tÝnh quan träng cña ng«n ng÷ JavaScript lµ kh¶ n¨ng

t¹o vµ sö dông c¸c ®èi t−îng (Object). C¸c Object nµy cho phÐp ng−êi lËp tr×nh sö dông ®Ó ph¸t triÓn øng dông.

Trong JavaScript, c¸c Object ®−îc nh×n theo 2 khÝa c¹nh: • C¸c Object ®· tån t¹i. • C¸c Object do ng−êi lËp tr×nh x©y dùng.

Trong c¸c Object ®· tån t¹i ®−îc chia thµnh 2 kiÓu: • C¸c Object cña chÝnh JavaScript (JavaScript Built-in Object):

JavaScript cung cÊp 1 bé c¸c Built-in Object ®Ó cung cÊp c¸c th«ng tin vÒ sù hiÖn hµnh cña c¸c ®èi t−îng ®−îc load trong trang Web vµ néi dung cña nã.C¸c ®èi t−îng nµy bao gåm c¸c ph−¬ng ph¸p (Method) lµm viÖc víi c¸c thuéc tÝnh (Properties) cña nã.

• C¸c ®èi t−îng cã s½n ®−îc cung cÊp bëi m«i tr−êng Netscape: Netscape Navigator cung cÊp c¸c ®èi t−îng cho phÐp JavaScript t−¬ng

Page 38: Thiet ke va lap trinh web

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

Page 39: Thiet ke va lap trinh web

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ô:

Page 40: Thiet ke va lap trinh web

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

document.write(“Test”); document.writeln(“Test”); LÖnh document.writeln(“Test”); cho phÐp xuÊt tõ “Test” ra mµn h×nh vµ sau

®ã ®−a con trá xuèng ®Çu dßng tiÕp theo.

d. XuÊt c¸c thÎ HTML tõ JavaScript VÝ dô 1:

<HTML> <HEAD> <TITLE>Outputting Text</TITLE> </HEAD> <BODY> This is text plain <BR> <B> <SCRIPT LANGUAGE==“Javascript”> <!- - document.write(“This is text bold </B>”); - -> </SCRIPT> </BODY> </HTML>

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

e. Sö dông ph−¬ng ph¸p writeln() víi thÎ PRE: <HTML> <HEAD> <TITLE>Outputting Text</TITLE> </HEAD> <BODY>

Page 41: Thiet ke va lap trinh web

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>

Page 42: Thiet ke va lap trinh web

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

<HEAD> <TITLE>Listing</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!- - document.write("Your favorite color is:"); document.writeln(prompt("enter your favorite color:","Blue")); - -> </SCRIPT> </BODY> </HTML>

VÝ dô 2: <HTML> <HEAD> <TITLE>Listing</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!- - document.write('<IMG SRC="welcome.gif">'); document.write("<H1>Greeting ,"); document.writeln(prompt("enter your name:","name")); document.write("Welcome to netscape navigator 2.01 </H1>"); - -> </SCRIPT> </BODY> </HTML>

Sö dông to¸n tö + ®Ó céng 2 chuçi ®¬n l¹i: VÝ dô 3:

<HTML> <HEAD> <TITLE>Listing</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!- - document.write('<IMG SRC="welcome.gif">');

Page 43: Thiet ke va lap trinh web

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

document.write("<H1>Greeting ," + prompt("enter your name:","name") + "Welcome to Web Design </H1>"); - -> </SCRIPT> </BODY> </HTML>

3.1.3 C¸c kiÓu d÷ liÖu trong JavaScript:

a. D÷ liÖu kiÓu sè: • Sè nguyªn: vÝ dô: 720 • Sè Octal: vÝ dô: 056 • Sè Hexa: vÝ dô: 0x5F • Sè thËp ph©n: vÝ dô: 7.24, -34.2, 2E3

b. D÷ liÖu kiÓu chuæi: VÝ dô: “Hello” ‘245’ “”

c. D÷ liÖu kiÓu Boolean: KÕt qu¶ tr¶ vÒ lµ true hoÆc false.

d. D÷ liÖu kiÓu null: Tr¶ vÒ gi¸ trÞ rçng.

e. D÷ liÖu kiÓu v¨n b¶n (gièng nh− kiÓu chuçi)

3.1.4 T¹o biÕn trong JavaScript: Var example; Var example=”Hello”; Ta cã thÓ dïng document.write(example); ®Ó xuÊt néi dung cña mét biÕn. VÝ dô 1: Dïng tõ khãa var ®Ó khai b¸o biÕn

<HTML> <HEAD> <TITLE>Listing</TITLE> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!- - var name=prompt("enter your name:","name"); - -> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="Javascript"> <!--

Page 44: Thiet ke va lap trinh web

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

Page 45: Thiet ke va lap trinh web

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

Page 46: Thiet ke va lap trinh web

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 }

Page 47: Thiet ke va lap trinh web

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"); }

Page 48: Thiet ke va lap trinh web

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>

Page 49: Thiet ke va lap trinh web

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

</BODY> </HTML>

3.1.7 Hµm vµ dèi t−îng Trong kü thuËt lËp tr×nh c¸c lËp tr×nh viªn th−êng sö dông hµm ®Ó thùc hiÖn

mét ®o¹n ch−¬ng tr×nh thÓ hiÖn cho mét module nµo ®ã ®Ó thùc hiÖn mét c«ng viÖc nµo ®ã.

Trong Javascript cã c¸c hµm ®−îc x©y dùng s½n ®Ó gióp chóng ta thùc hiÖn mét chøc n¨ng nµo ®ã vÝ dô nh− hµm alert(), document.write(), parseInt() vµ ta còng cã thÓ ®Þnh nghÜa ra c¸c hµm kh¸c cña m×nh ®Ó thùc hiÖn mét c«ng viÖc nµo ®ã cña m×nh, ®Ó ®Þnh nghÜa hµm chóng ta theo có ph¸p sau:

function function_name(parameters, arguments) { command block; }

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

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

var user = “John”; printName(user);

Khi ®ã name lµ “John”. NÕu muèn thay ®æi gi¸ trÞ cña name ta cã thÓ lµm nh− sau : name = “Mr. “ + name;

b. Ph¹m vi cña biÕn: BiÕn toµn côc (Global variable): cã gi¸ trÞ ¶nh h−ëng trong toµn bé ch−¬ng

tr×nh. BiÕn côc bé (Local variable): chØ cã gi¸ trÞ ¶nh h−ëng trong ph¹m vi hµm,

®o¹n m· chøa nã.

c. Tr¶ vÒ c¸c gi¸ trÞ: VÝ dô: Dïng return ®Ó tr¶ vÒ gi¸ trÞ cña biÕn.

function cube(number) { var cube = number * number * number; return cube; }

VÝ dô: <HTML>

Page 50: Thiet ke va lap trinh web

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

Page 51: Thiet ke va lap trinh web

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 {

Page 52: Thiet ke va lap trinh web

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ô:

Page 53: Thiet ke va lap trinh web

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);

Page 54: Thiet ke va lap trinh web

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

Page 55: Thiet ke va lap trinh web

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, ";

Page 56: Thiet ke va lap trinh web

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

Page 57: Thiet ke va lap trinh web

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.

Page 58: Thiet ke va lap trinh 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”>

Page 59: Thiet ke va lap trinh web

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

</BODY> </HTML>

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

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

Page 60: Thiet ke va lap trinh web

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

e. C¸c sù kiÖn vµ Form C¸c sù kiÖn ®−îc sö dông ®Ó truy xuÊt Form nh−: onClick, onSubmit,

onFocus, onBlur, vµ onChange. VÝ dô 1:

<INPUT TYPE=text NAME=”test” VALUE=”test” onBlur=”alert(‘Thank You!’);” onChange=”check(this);”>

Khi gi¸ trÞ thay ®æi function check() sÏ ®−îc gäi. Ta dïng tõ khãa this ®Ó chuyÓn ®èi t−îng cña tr−êng hiÖn hµnh ®Õn hµm check(). Chóng ta còng cã thÓ dùa vµo c¸c ph−¬ng ph¸p vµ c¸c thuéc tÝnh cña ®èi t−îng b»ng ph¸t biÓu sau:

this.methodName() & this.propertyName. VÝ dô 2:

<HTML> <HEAD> <TITLE>Example</TITLE> <SCRIPT LANGUAGE=”JavaScript”> <!-- HIDE FROM OTHER BROWSERS function calculate(form) { form.results.value = eval(form.entry.value); } function getExpression(form) { form.entry.blur(); form.entry.value = prompt(“Please enter a JavaScript mathematical expression”,””); calculate(form); } //STOP HIDING FROM OTHER BROWSERS --> </SCRIPT> </HEAD> <BODY> <FORM METHOD=POST> Enter a JavaScript mathematical expression: <INPUT TYPE=text NAME=”entry” VALUE=”” onFocus=”getExpression(this.form);”> <BR> The result of this expression is: <INPUT TYPE=text NAME=”results” VALUE=”” onFocus=”this.blur();”> </FORM> </BODY> </HTML>

Page 61: Thiet ke va lap trinh web

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>'); }

Page 62: Thiet ke va lap trinh web

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

- -> </SCRIPT> </BODY> </HTML>

b. Vßng lÆp while : Có ph¸p:

While ( ®iÒu kiÖn) { lÖnh JavaScript ; }

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

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

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

Hµm sÏ t¹o mét m¶ng cã gi¸ trÞ index b¾t ®Çu lµ 0 vµ g¸n tÊt c¶ c¸c gi¸ trÞ cña m¶ng vÒ 0 .

§Ó sö dông ®èi t−îng m¶ng ta cã thÓ lµm nh− sau: newArray= new createArray(4); SÏ t¹o ra mét m¶ng gåm 4 thµnh phÇn newArray[0] … newArray[3]

3.1.11 Sö dông ®èi t−îng Windows Window lµ ®èi t−îng cña m«i tr−êng Navigator, ngoµi c¸c thuéc tÝnh

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

Page 63: Thiet ke va lap trinh web

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.

Page 64: Thiet ke va lap trinh web

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,

Page 65: Thiet ke va lap trinh web

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>

Page 66: Thiet ke va lap trinh web

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

3.1.14 Sö dông ®èi t−îng string String lµ mét ®èi t−îng cña JavaScript, khi dïng ®èi t−îng string chóng ta

kh«ng cÇn c¸c ph¸t biÓu ®Ó t¹o mét instance (thÓ hiÖn) cña ®èi t−îng, bÊt kú lóc nµo ta ®Æt text gi÷a hai dÊu ngoÆc kÐp vµ g¸n nã ®Õn mét biÕn hoÆc mét thuéc tÝnh th× ta ®· t¹o mét ®èi t−îng string.

a. C¸c thuéc tÝnh cña ®èi t−îng string Thuéc tÝnh length tr¶ vÒ sè ký tù (chiÒu dµi) cña string.

b. C¸c ph−¬ng thøc (Methods) cña ®èi t−îng string • anchor (nameAttribute) • big() • blink() • bold() • charAt(index) • fixed() • fontcolor(color) • fontsize(size) • indexOf(character,[fromIndex]) • italics() • lastIndexOf(character,[fromIndex]) • link(URL) • small() • strike() • sub() • substring(startIndex,endIndex) • sup() • toLowerCase() • toUpperCase()

3.2 VBScript VBScript lµ mét c«ng nghÖ cña Microsoft yªu cÇu ph¶i cã Microsoft Internet

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

3.2.1 VBScript lµ g×? VBScript lµ mét ng«n ng÷ kÞch b¶n. Mét ng«n ng÷ script lµ mét ng«n ng÷

lËp tr×nh nhÑ. VBScript lµ phiªn b¶n nhÑ cña ng«n ng÷ lËp tr×nh Vusual Basic. Khi VBScript ®−îc chÌn vµo trong v¨n b¶n HTML, tr×nh duyÖt Internet sÏ

®äc v¨n b¶n HTML ®ã vµ dÞch c¸c ®o¹n m· VBScript. C¸c ®o¹n m· nµy ®−îc thùc hiÖn hoÆc lµ ngay lóc ®ã hoÆc trong c¸c sù kiÖn sau nµy.

3.2.2 BiÕn vµ ph¹m vi biÕn BiÕn lµ mét vïng chøa th«ng tin cÇn l−u tr÷. Gi¸ trÞ cña biÕn cã thÓ ®−îc thay

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

Page 67: Thiet ke va lap trinh web

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”

Page 68: Thiet ke va lap trinh web

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.

Page 69: Thiet ke va lap trinh web

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

Double Chøa sè double-precision, floating-point -1.79769313486232E308 to -4.94065645841247E-324 ®èi víi gi¸ trÞ ©m, tõ 4.94065645841247E-324 tíi 1.79769313486232E308 ®èi víi gi¸ trÞ d−¬ng.

Date (Time) Chøa mét gi¸ trÞ sè ®¹i diÖn cho ngµy tÝnh tõ January 1, 100 tíi December 31, 9999.

String Chøa mét x©u cã ®é dµi bÊt kú dµi nhÊt kho¶ng 2 tû ký tù Object Chøa mét Object Error Chøa m· sè lçi

Chóng ta cã thÓ dïng c¸c hµm chuyÓn ®æi kiÓu d÷ liÖu ®Ó chuyÓn d÷ liÖu gi÷a c¸c kiÓu d÷ liÖu con víi nhau. Thªm vµo ®ã, hµm VarType cho ta biÕt th«ng tin vÒ c¸ch l−u tr÷ d÷ liÖu cña m×nh trong biÕn Variant.

c. C¸c hµm trong VBScript: D−íi ®©y liÖt kª c¸c hµm cã s½n trong VBScript. C¸c hµm nµy ®−îc chia ra

thµnh c¸c lo¹i sau: • C¸c hµm vÒ thêi gian • C¸c hµm chuyÓn ®æi kiÓu d÷ liÖu • C¸c hµm ®Þnh d¹ng d÷ liÖu • C¸c hµm to¸n häc • C¸c hµm vÒ d·y • C¸c hµm vÒ x©u • C¸c hµm kh¸c

C¸c hµm vÒ thêi gian (Date/Time Functions) Tªn hµm M« t¶

Cdate ChuyÓn biÓu thøc cã d¹ng date and time chuÈn sang d¹ng Date

Date Tr¶ vÒ ngµy giê hÖ thèng DateAdd Tr¶ vÒ ngµy ®−îc céng thªm mét kho¶ng thêi gian DateDiff Tr¶ vÒ gi¸ trÞ sè lµ kho¶ng thêi gian gi÷a hai gi¸ trÞ ngµy. DatePart Tr¶ vÒ phÇn x¸c ®Þnh cña ngµy. Day Tr¶ vÒ ngµy hiÖn t¹i. Gi¸ trÞ tõ 1 tíi 31. FormatDateTime Tr¶ vÒ biÓu thøc ®· ®−îc ®Þnh d¹ng theo kiÓu date or time Hour Tr¶ vÒ gi¸ trÞ lµ mét sè chØ giê hiÖn hµnh trong ngµy, cã

gi¸ trÞ tõ 0 tíi 23. IsDate Tr¶ vÒ gi¸ trÞ Boolean cho biÕt biÓu thøc cã thÓ chuyÓn

sang d¹ng ngµy th¸ng hay kh«ng. Minute Tr¶ vÒ gi¸ trÞ sè lµ phót cña giê (cã gi¸ trÞ tõ 0 tíi 59) Month Cho biÕt th¸ng hiÖn hµnh (Cã gi¸ trÞ tõ 1 tíi 12) MonthName Tr¶ vÒ tªn th¸ng Now Cho biÕt ngµy giê hiÖn hµnh cña hÖ thèng Second Tr¶ vÒ sè ®¹i diÖn cho gi©y (Cã gi¸ trÞ tõ 0 tíi 59) Time Tr¶ vÒ giê hÖ thèng Timer Tr¶ vÒ gi¸ trÞ sè gi©y tÝnh tõ 12:00 AM Weekday Tr¶ vÒ sè ®¹i diÖn cho ngµy trong tuÇn (Cã gi¸ trÞ tõ 1tíi 7)

Page 70: Thiet ke va lap trinh web

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 0Sgn 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

Page 71: Thiet ke va lap trinh web

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

Page 72: Thiet ke va lap trinh web

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

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

d. C¸c to¸n tö vµ biÓu thøc VBScript cã mét tËp hîp lín c¸c lo¹i to¸n tö, chia ra thµnh ba lo¹i lµ c¸c to¸n

tö sè häc, c¸c to¸n tö so s¸nh vµ ghÐp nèi (concatenation), vµ c¸c to¸n tö logic. Thø tù −u tiªn cña c¸c to¸n tö Khi cã nhiÒu to¸n tö cïng xuÊt hiÖn trong mét biÓu thøc, tõng phÇn cña biÓu

thøc ®−îc ®¸nh gi¸ vµ xö lý theo mét tr×nh tù gäi lµ thø tù −u tiªn. Ta cã thÓ dïng dÊu ngoÆc ®¬n ®Ó thay ®æi thø tù −u tiªn vµ b¾t mét phÇn nµo ®ã cña biÓu thøc ph¶i ®−îc thùc hiÖn tr−íc c¸c phÇn kh¸c. C¸c biÓu thøc bªn trong dÊu ngoÆc ®¬n lu«n ®−îc xö lý tr−íc nh÷ng biÓu thøc bªn ngoµi. TÊt nhiªn, nÕu biÓu thøc trong ngoÆc chøa nhiÒu to¸n tö th× chóng còng ph¶i tu©n theo thø tù −u tiªn chuÈn.

Khi c¸c biÓu thøc chøa nhiÒu lo¹i to¸n tö kh¸c nhau, c¸c to¸n tö sè häc ®−îc xö lý tr−íc, sau ®ã ®Õn c¸c to¸n tö so s¸nh råi cuèi cïng lµ c¸c to¸n tö logic. C¸c to¸n tö so s¸nh tÊt c¶ cã cïng thø tù −u tiªn, tøc lµ chóng sÏ ®−îc xña lý tõ tr¸i qua ph¶i theo thø tù xuÊt hiÖn. C¸c to¸n tö sè häc vµ logic ®−îc xö lý theo thø tù sau:

Sè häc So s¸nh Logic M« t¶ Ký hiÖu M« t¶ Ký hiÖu M« t¶ Ký hiÖu

Mò ho¸ ^ So s¸nh b»ng = Phñ nhËn logic Not PhÐp nh©n * So s¸nh kh¸c

nhau <> Vµ And

PhÐp chia / Nhá h¬n < HoÆc Or Chia lÊy phÇn nguyªn

\ Lín h¬n > Lo¹i trõ Xor

Chia lÊy sè d− Mod Nhá h¬n hoÆc b»ng

<= So s¸nh b»ng Eqv

PhÐp céng + Lín h¬n hoÆc b»ng

>=

PhÐp trõ - So s¸nh Object t−¬ng ®−¬ng

Is

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Ó:

Page 73: Thiet ke va lap trinh web

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

Page 74: Thiet ke va lap trinh web

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ö

Page 75: Thiet ke va lap trinh web

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.

Page 76: Thiet ke va lap trinh web

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

Ch−¬ng 4

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

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

4.1.1 Kh¸i niÖm Web ®éng Nh− ®· biÕt ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n HTML lµ c«ng cô m« t¶ trang

Web trªn Internet. Khi tr×nh duyÖt yªu cÇu mét trang HTML, Web Server nhËn yªu cÇu vµ göi tr¶ l¹i file HTML ®−îc yªu cÇu. Tr×nh duyÖt sÏ tr×nh diÔn trang HTML nhËn ®−îc.

Nãi chung c¸c trang HTML lµ tÜnh vÒ mÆt néi dung. MÆc dï tr×nh duyÖt cã thÓ xö lý c¸c ng«n ng÷ kÞch b¶n nh− VBScript hay Jscript nÕu nh− ng−êi ta cµi ®Æt c¸c m¸y ¶o t¹i client ®Ó t¹o ra mét hiÖu qu¶ ®éng nµo ®ã víi c¸c t−¬ng t¸c hai chiÒu. Tuy nhiªn t−¬ng t¸c nµy rÊt h¹n chÕ nÕu nh− d÷ liÖu cÇn sö dông ®Æt t¹i server chø kh«ng ph¶i t¹i client.

Trªn thùc tÕ cã nhu cÇu tra cøu th«ng tin theo yªu cÇu. VÝ dô mét siªu thÞ ®iÖn tö, giíi thiÖu c¸c mÆt hµng trªn trang Web, vµ th«ng tin vÒ c¸c mÆt hµng ®Òu ®−îc ®−a lªn ®Çy ®ñ. NÕu trang Web nµy lµ tÜnh ®−îc chuÈn bÞ tr−íc th× ta kh«ng thÓ läc ra nh÷ng th«ng tin mµ m×nh cÇn ®−îc mµ ph¶i duyÖt cho tíi khi gÆp ®−îc mÆt hµng mµ m×nh quan t©m, nghÜa lµ ph¶i ®îi ®Ó th«ng tin ®−îc chuyÓn vÒ ®Çy ®ñ. VËy nhu cÇu vÒ mét trang Web cã th«ng tin ®−îc chän läc theo yªu cÇu tõ Browse ra ®êi. C¸c trang Web nµy ®−îc gäi lµ trang Web ®éng. Nãi mét c¸ch ®¬n gi¶n lµ c¸c trang Web ®éng lµ c¸c trang Web kh«ng tån t¹i s½n mµ chØ ®−îc t¹o ra theo yªu cÇu cña ng−êi tra cøu. Trong tr−êng hîp nµy CSDL Web kh«ng ph¶i lµ tÊt c¶ mµ cßn c¸c CSDL kiÓu kh¸c gióp t¹o nªn c¸c trang Web. ChÝnh v× thÕ cÇn ®−a vµo c¸c trang HTML kh¶ n¨ng t¹o Web ®éng d−íi d¹ng c¸c dßng lÖnh.

Microsoft qu¶n lý c¸c trang Web bëi IIS (Internet Information Server) trªn WebServer. Nh−ng IIS kh«ng tù tÝnh to¸n ®−îc c¸c dßng lÖnh ë phÝa Server ®Ó t¹o c¸c trang Web ®éng nªn cÇn cã thªm c¸c thµnh phÇn kh¸c.

HiÖn nay cã mét sè m«i tr−êng ®Ó t¹o c¸c trang Web ®éng, cã thÓ kÓ ®Õn nh−: lËp tr×nh trªn CGI, ASP, PHP, Java, JSP….

4.1.2 ASP lµ g×? ASP (Active Server Page) lµ mét thµnh phÇn më réng cña IIS. Khi cµi ®Æt,

ASP sinh ra c¸c bé xö lý ¶o ®èi víi ng«n ng÷ kÞch b¶n (script engine) t¹i server ®Ó IIS cã thÓ xö lý c¸c m· script mµ c¸c m· nµy cã thÓ viÕt ®an xen trong c¸c trang HTML. Khi Client gäi ®Õn mét file .asp trªn Web Server, Web Server lËp tøc gäi ®Õn Script engine ®Ó xö lý. Script engine sÏ thùc hiÖn c¸c lÖnh script ®Ó biÕn trang ASP thµnh trang HTML råi göi l¹i Client. Chó ý r»ng qu¸ tr×nh nµy thùc hiÖn t¹i server chø kh«ng ph¶i t¹i Client. V× vËy chóng ta kh«ng ph¶i quan t©m tíi viÖc browser xö lý c¸c trang Web nh− thÕ nµo. Nh− vËy thùc sù qu¸ tr×nh nµy ®−îc thùc hiÖn theo m« h×nh Client-Server.

ASP lµ c«ng nghÖ Web Server míi cña Microsoft, nã ®−îc thiÕt kÕ ®Ó gióp ng−êi ph¸t triÓn øng dông trªn Web x©y dùng c¸c trang Web øng dông nhanh chãng vµ dÔ dµng. ASP lµ mét phÇn tÝch hîp cña c«ng nghÖ c¬ së Active (Active Platform), lµ h¹t nh©n trong chiÕn l−îc internet cña Microsoft. Active Platform lµ mét tËp hîp c¸c ng«n ng÷, c¸c chuÈn vµ c¸c dÞch vô cã thÓ ®−îc sö dông ®Ó ph¸t

Page 77: Thiet ke va lap trinh web

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>

Page 78: Thiet ke va lap trinh web

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

Page 79: Thiet ke va lap trinh web

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.

Page 80: Thiet ke va lap trinh web

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>

Page 81: Thiet ke va lap trinh web

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

Page 82: Thiet ke va lap trinh web

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.

Page 83: Thiet ke va lap trinh web

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:

Page 84: Thiet ke va lap trinh web

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).

Page 85: Thiet ke va lap trinh web

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Þ]%>

Page 86: Thiet ke va lap trinh web

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"

Page 87: Thiet ke va lap trinh web

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

end select %>

=> KÕt qu¶: Chon 3

4.4.4 Vßng lÆp For: Có ph¸p:

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

VÝ dô: <%for i=5 to 7 %> <font size =<%=i%>>Chµo b¹n!<br></font> <% Next %>

4.4.5 C©u lÖnh lÆp kh«ng x¸c ®Þnh: Có ph¸p:

while <®iÒu kiÖn> <thùc hiÖn c«ng viÖc> Wend

Do while <®iÒu kiÖn> Loop

Do <c«ng viÖc> Loop While <®iÒu kiÖn>

VÝ dô: <% i=1 do i=i+1 Response.Write i loop while i<=10 %>

4.5 X©y dùng c¸c hµm vµ thñ tôc trong ASP: Ta cã thÓ sö dông c¸c ng«n ng÷ Script ®Ó x©y dùng c¸c hµm vµ thñ tôc trong

file ASP. Tr−íc khi viÕt mét hµm vµ thñ tôc b»ng ng«n ng÷ g× ta ph¶i th«ng b¸o cho ASP biÕt b»ng thÎ Script nh− ®· biÕt.

CÊu tróc mét hµm trong ASP cã d¹ng sau: <SCRIPT RUNAT =SERVER LANGUAGE=”LANGUAGENAME”> ‘Hµm: Function <FunctionName> (BiÕn)

Page 88: Thiet ke va lap trinh web

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

C¸c dßng lÖnh Script End Function ‘Thñ tôc: Sub <SubName> (BiÕn) C¸c dßng lÖnh Script End Sub </SCRIPT> §èi víi hµm th× trong th©n cña hµm cÇn cã mét lÖnh g¸n gi¸ trÞ tÝnh ®−îc cho

mét biÕn cã thªn trïng víi tªn hµm. C¸ch gäi hµm hoµn toµn t−¬ng tù nh− c¸ch lÊy gi¸ trÞ tõ mét biÕn. C¸ch gäi thñ tôc: Call SubName hoÆc SubName VÝ dô ta cã hµm sau:

<%Function Calculate(A, B, Op) Select Case Op Case “+” Calculate = A+B Case “-” Calculate = A-B Case “*” Calculate = A*B Case “/” Calculate = A/B End Select End Function Response.write Calculate(2, 3, “+”) Response.write Calculate(2, 3, “-) %>

Chó ý: Cã thÓ sö dông <!--#include file|virtual=”file_name”--> ®Ó sö dông l¹i c¸c hµm vµ thñ tôc ®· ®−îc x©y dùng trong mét file nµo ®ã.

4.6 Sö dông c¸c ®èi t−îng cña ASP ®Ó trao ®æi th«ng tin gi÷a Client vµ Server.

4.6.1 Giíi thiÖu c¸c ®èi t−îng chÝnh cña ASP:

a. C¸c ®èi t−îng chÝnh: T−¬ng tù nh− trong c¸c ng«n ng÷ lËp tr×nh h−íng ®èi t−îng, ASP cho phÐp

ng−êi lËp tr×nh t¹o ra c¸c ®èi t−îng, c¸c líp theo môc ®Ých sö dông riªng. ASP còng cung cÊp s½n cã mét sè ®èi t−îng hay ®−îc sö dông. §ã lµ 5 ®èi t−îng sau:

C¸c ®èi t−îng ý nghÜa

Application Chia sÎ th«ng tin gi÷a c¸c ng−êi dïng trong mét øng dông

Session L−u gi÷ c¸c th«ng tin duy nhÊt vÒ phiªn lµm viÖc hiÖn thêi cña mét ng−êi sö dông cô thÓ

Server Cho phÐp truy cËp tíi m¸y chñ

Page 89: Thiet ke va lap trinh web

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

Page 90: Thiet ke va lap trinh web

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

kh¸c ®i kÌm ®−îc göi tíi Server. C¸c th«ng tin nµy cã thÓ lµ c¸c biÕn m«i tr−êng, c¸c th«ng tin do user cung cÊp d−íi d¹ng ®iÒn vµo c¸c b¶ng, Cookies, ... TÊt c¶ c¸c th«ng tin nµy ®−îc m· ho¸ vµ truyÒn ®i cïng víi HTTP headers. ASP cho phÐp lÊy ra c¸c th«ng tin nµy b»ng c¸ch sö dông ®èi t−îng Request.

b. C¸c thµnh phÇn cña Request: TËp hîp Thuéc tÝnh Ph−¬ng thøc

QueryString Form ServerVariables Cookies ClientCertificate

TotalBytes BinaryRead

Có ph¸p: Request.[TËp hîp](BiÕn)|thuéc tÝnh|ph−¬ng thøc

TËp hîp: TËp hîp ý nghÜa

ClientCertificate Bao gåm c¸c th«ng tin vÒ certificate cña Client.

Cookies §äc th«ng tin tõ mét Cookies ®· cã s½n

Form Gi¸ trÞ c¸c thµnh phÇn cña form göi ®Õn tõ Browser (LÊy th«ng tin do user göi ®Õn b»ng ph−¬ng thøc POST)

QueryString LÊy gi¸ trÞ cña c¸c biÕn theo sau mét URL (LÊy th«ng tin do user göi ®Õn b»ng ph−¬ng thøc GET)

ServerVariables Bao gåm c¸c th«ng tin vÒ Client Browser, Server vµ user

c. TËp hîp Form vµ QueryString: Khi chóng ta sö dông thÎ <FORM> trong mét trang, ta cã thÓ ®Æt thuéc tÝnh

METHOD cña <FORM> lµ POST hay GET. NÕu chóng ta sö dông GET (hay bá qua v× GET lµ gi¸ trÞ mÆc ®Þnh cña METHOD), tr×nh duyÖt sÏ lÊy c¸c gi¸ trÞ trong tÊt c¶ c¸c control ®Ó x©y dùng thµnh QueryString vµ g¾n vµo URL cña trnag ®−îc yªu cÇu khi Submit trang hiÖn t¹i. Khi trang nµy ®Õn Server c¸c gi¸ trÞ cña nã n»m ë Collection Request.QueryString.

Ng−îc l¹i, nÕu sö dông ph−¬ng thøc POST, tr×nh duyÖt sÏ ®−a tÊt c¶ c¸c gi¸ trÞ vµo trong HTTP header göi ®Õn Server vµ c¸c gi¸ trÞ nµy cã thÓ truy xuÊt qua Collection Request.Form

Nãi chung, ta nªn sö dông ph−¬ng thøc Post trong tÊt c¶ c¸c form HTML. Thø nhÊt, chiÒu dµi chuçi cña URL bÞ giíi h¹n nªn nÕu dïng QueryString sÏ cã nguy c¬ bÞ trµn vµ bÞ c¾t bít. Thø hai, query string ®−a c¸c gi¸ trÞ t−êng minh vµo URL, vµ sÏ ®−îc ghi l¹i trong file log khi ®i qua c¸c Server, kh«ng b¶o mËt th«ng tin.

Sù kh¸c nhau gi÷a hai ph−¬ng thøc göi d÷ liÖu tõ Client ®Õn Server ®−îc chØ ra trong s¬ ®å sau:

Page 91: Thiet ke va lap trinh web

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

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>

Server (ASP Application)

Client (Browser)

Form

METHOD=GET (Gi¸ trÞ Default)

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

Sö dông QueryString Collection ®äc DL

Sö dông Form Collection ®äc DL

D÷ liÖu göi trong HTTP header

METHOD=POST

Page 92: Thiet ke va lap trinh web

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.

Page 93: Thiet ke va lap trinh web

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>

Page 94: Thiet ke va lap trinh web

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

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

-------------------File2.asp------------------

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

KÕt qu¶: Tïy thuéc vµo d÷ kiÖn ®−îc nhËp t¹i form, vÝ dô nÕu Name=Bill, Age=56,

and Sex=male. Th× ta sÏ cã kÕt qu¶ lµ: ByteCount = 39 bytes

4.6.3 §èi t−îng Response §−îc sö dông ®Ó truy xuÊt c¸c ®¸p øng mµ server t¹o ra ®Ó göi vÒ cho user

TËp hîp Thuéc tÝnh Ph−¬ng thøc

Cookies Buffer Charset ContentType Expires ExpiresAbsolute Status

AddHeader AppendToLog BinaryWrite Clear End Flush Redirect Write

Có ph¸p: Response. tËp hîp|thuéc tÝnh|ph−¬ng thøc

a. TËp hîp: Cookies: X¸c ®Þnh gi¸ trÞ cña cookie göi cho browser . C¸c thµnh phÇn cña

tËp hîp nµy ®Òu lµ gi¸ trÞ chØ ghi. Request object cho phÐp chóng ta ®äc th«ng tin cña cookies khi cã 1 yªu cÇu

®−îc göi ®Õn. Cßn Response object cung cÊp kh¶ n¨ng ®Æt hoÆc thay ®æi c¸c gi¸ trÞ cña cookies tr−íc khi göi tr¶ l¹i cho client.

Page 95: Thiet ke va lap trinh web

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

VÝ dô: Dßng lÖnh sau ®©y sÏ thªm 1 cookie vµo cookie cña client nÕu nã ch−a ®−îc

®Æt hoÆc thay ®æi gi¸ trÞ cña cookie nµy nÕu nã ®· tån t¹i. <% Response.cookies(“independentcookie”)=”4th of July”%>

Chó ý: ViÖc thay ®æi cookie víi Response object cÇn ®−îc lµm tr−íc khi viÕt m· v¨n b¶n hoÆc HTML ®Ó göi tíi client, nÕu kh«ng sÏ g©y ra lçi.

b. Ph−¬ng thøc : Ph−¬ng thøc ý nghÜa

AddHeader Thªm phÇn ®Çu HTTP víi mét gi¸ trÞ cô thÓ ®Ó göi l¹i cho browser

AppendToLog Thªm mét chuçi v¨n b¶n vµo môc nhËp nhËt ký m¸y chñ cho yªu cÇu tõ m¸y kh¸ch hiÖn thêi

Binarywrite ViÕt th«ng tin trùc tiÕp tíi néi dung tÝn hiÖu ®¸p mµ kh«ng chuyÓn ®æi ký tù nµo

Clear Xo¸ bé ®Öm

End Dõng viÖc xö lý 1 trang vµ tr¶ l¹i kÕt qu¶ hiÖn t¹i

Flush Göi nh÷ng d÷ liÖu cã trong bé ®Öm tíi browser ngay lËp tøc

Redirect ChØ cho browser kÕt nèi ®Õn mét URL kh¸c

Write Göi text trùc tiÕp tíi tr×nh duyÖt phÝa user AddHeader: Response.AddHeader Name, Value §Æt tªn header HTML: Ph¶i ®−îc gäi tr−íc khi output ®−îc göi cho client trõ

khi response.buffer ®−îc ®Æt lµ true. VÝ dô:

<% Response.AddHeader "MyHeader", "ERROR" %>

AppendToLog : Response.AppendToLog(String)

Thªm x©u vµo cuèi môc log Web server cho yªu cÇu nµy. String lín nhÊt lµ 80 ký tù

VÝ dô: <% Response.AppendToLog("Error in Processing") %>

§Çu ra ®−îc chÌn vµo cuèi file IIS log: 10.78.176.37, - , 03/20/97, 7:55:20, W3SVC, SALES1, 10.78.176.37, Error

in Processing Clear: Response.Clear

Xãa toµn bé output HTML ®ang ë trong buffer, kh«ng xãa header, chØ xãa phÇn th©n (body). NÕu buffer kh«ng ®−îc thiÕt ®Æt sÏ g©y ra lçi. Ph¶i ®Æt Response.Buffer=True (mÆc ®Þnh trong phiªn b¶n 3.0)

Page 96: Thiet ke va lap trinh web

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>"%>

Page 97: Thiet ke va lap trinh web

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

KÕt qu¶: Hello World

c. Thuéc tÝnh: Thuéc tÝnh ý nghÜa

Buffer X¸c ®Þnh xem mét trang cã sö dông bé ®Öm ®Ó chøa c¸c kÕt qu¶ ®−îc t¹o bëi Script hay ®−îc göi ngay tíi browser khi tõng dßng ®−îc t¹o ra vµ nhËp vµo d¶i HTML. Gi¸ trÞ ngÇm ®Þnh lµ False

ContentType X¸c ®Þnh kiÓu néi dung HTTP ®−îc tr¶ vÒ. KiÓu ngÇm ®Þnh lµ Text/HTML

Expires Kho¶ng thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser

ExpiresAbsolute Ngµy vµ thêi gian 1 trang Web ®−îc l−u gi÷ trªn browser

Status Gi¸ trÞ cña dßng tr¹ng th¸i HTTP tr¶ l¹i bëi server

Charset §Æt d¹ng ng«n ng÷ sö dông cho client browser vµo phÇn cuèi cña ®o¹n ®Çu ContentType

Buffer

• Buffer: n¬i l−u gi÷ t¹m thêi tr−íc khi chuyÓn cho tr×nh duyÖt • ChØ ra output cña trang cã ®−îc l−u trong buffer hay kh«ng • SÏ kh«ng cã sù göi l¹i cho tr×nh duyÖt cho ®Õn khi tÊt c¶ c¸c script

®−îc xö lý xong, hoÆc cã lêi gäi ph−¬ng thøc Flush hay End. Thuéc tÝnh nµy kh«ng thÓ thay ®æi khi server ®· göi th«ng tin cho tr×nh duyÖt

vµ ph¶i ®−îc ®Æt ë dßng ®Çu tiªn trong file .asp VÝ dô: <% Response.Buffer = TRUE x=0 Do x = x+1 Response.Write x & "<BR>" Loop %>

Response.CacheControl

Cã cho phÐp m¸y chñ proxy ®−îc cache output cña trang .asp hay kh«ng. M¸y chñ proxy dïng ®Ó ®Èy nhanh tèc ®é truy nhËp tíi trang Web nµo ®ã

b»ng c¸ch l−u l¹i mét b¶n cña trang Web trong cache. • NÕu CacheControl ®−îc ®Æt lµ “Public”, th× cho phÐp cache. • NÕu CacheControl ®Æt lµ “Private”, th× kh«ng cho phÐp cache.

VÝ dô: <% Response.CacheControl = "Public" %> <% Response.CacheControl = "Private" %>

Page 98: Thiet ke va lap trinh web

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 %>

Page 99: Thiet ke va lap trinh web

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

ScripTimeOut

CreateObject 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 %>

Page 100: Thiet ke va lap trinh web

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" %>

Page 101: Thiet ke va lap trinh web

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

KÕt qu¶: How now pink cow?

Server.GetLastError

Tr¶ l¹i ®èi t−îng ASPError, ®èi t−îng này cã 9 thuéc tÝnh chØ ®äc cung cÊp th«ng tin chi tiÕt vÒ lçi.

VÝ dô: <% Dim objErrorInfo Set objErrorInfo = Server.GetLastError Response.Write("ASPCode = " & objErrorInfo.ASPCode) Response.Write("ASPDescription = " & objErrorInfo.ASPDescription)Response.Write("Category = " & objErrorInfo.Category) Response.Write("Column = " & objErrorInfo.Column) Response.Write("Description = " & objErrorInfo.Description) Response.Write("File = " & objErrorInfo.File) Response.Write("Line = " & objErrorInfo.Line) Response.Write("Number = " & objErrorInfo.Number) Response.Write("Source = " & objErrorInfo.Source) %>

Server.HTMLEncode (String)

Ph−¬ng thøc nµy cho phÐp m· ho¸ chuçi thµnh m· HTML ®èi víi x©u ASCII bÊt kỳ. VÝ dô, ®iÒu nµy cho phÐp hiÓn thÞ thÎ HTML mµ kh«ng xö lý nã nh− nh÷ng thÎ HTML thùc sù.

VÝ dô: <% Response.Write Server.HTMLEncode("The tag for a table is: <Table>") %>

KÕt qu¶: The tag for a table is: &lt;Table&gt; KÕt qu¶ ë Browser: The tag for a table is: <Table>

Server.MapPath (Path)

¸nh x¹ ®−êng dÉn ¶o, hay t−¬ng ®èi tíi ®−êng dÉn vËt lý. Ph−¬ng thøc nµy kh«ng kiÓm tra sù tån t¹i thùc sù cña ®−êng dÉn. NÕu b¾t ®Çu b»ng dÊu / hoÆc \ -> ®−êng dÉn ¶o. Cßn kh«ng b¾t ®Çu b»ng ký tù ®ã -> ®−êng dÉn t−¬ng ®èi.

VÝ dô: <HTML> <BODY> The path of this file is <% Response.Write Server.MapPath("test.asp")%> The path of the file1 is <% Response.Write Server.MapPath("\test.asp")%> The path of the file2 is <% Response.Write Server.MapPath("test\test.asp") %>

Page 102: Thiet ke va lap trinh web

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.

Page 103: Thiet ke va lap trinh web

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ô:

Page 104: Thiet ke va lap trinh web

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 %>

Page 105: Thiet ke va lap trinh web

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."

Page 106: Thiet ke va lap trinh web

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

Page 107: Thiet ke va lap trinh web

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>

Page 108: Thiet ke va lap trinh web

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

c. Thuéc tÝnh: Thuéc tÝnh ý nghÜa

SessionID Tr¶ vÒ gi¸ trÞ nhËn biÕt duy nhÊt tõng phiªn lµm viÖc cña mét ng−êi sö dông

Timeout Kho¶ng thêi gian ngÇm ®Þnh lµ 20’ cho sù tån t¹i cña mét phiªn lµm viÖc trong mét øng dông. M¸y chñ Web sÏ duy tr× th«ng tin phiªn lµm viÖc cña ng−êi sö dông mµ kh«ng ®−a ra yªu cÇu hay lµm míi l¹i mét trang.

d. Ph−¬ng thøc: Abandon: Huû bá mét ®èi t−îng Session vµ gi¶i phãng c¸c biÕn trong

®èi t−îng Session.

Session.Contents.Remove (Name|Integer)

Dïng ®Ó xãa tÊt c¶ c¸c môc trong collection Session.Contents Cã 2 lùa chän tham sè Name hoÆc Integer

• Name chØ tªn cña môc cÇn xãa • Integer lµ sè chØ vÞ trÝ (b¾t ®Çu tõ 0) cña môc cÇn xãa.

Session.Contents.RemoveAll

Xãa tÊt c¶ c¸c môc trong session.contents VÝ dô: <%Session.Contents.RemoveAll( )%> Chó ý: Cã thÓ l−u tr÷ c¸c gi¸ trÞ trong ®èi t−îng Session. Th«ng tin l−u tr÷

trong ®èi t−îng Session cã ph¹m vi phiªn lµm viÖc vµ cã thÓ sö dông ®−îc trong suèt mét phiªn lµm viÖc.

4.7 C©u hái vµ bµi tËp ch−¬ng 4

4.7.1 C©u hái «n tËp 1. ASP lµ viÕt t¾t cña côm tõ nµo? a. All Standard Pages b. Active Server Pages c. Active Standard Pages d. A Server Page 2. Néi dung cña ®o¹n script ASP ®−îc ®Þnh nghÜa bëi cÆp thÎ nµo d−íi ®©y? a. <&>...</&> b. <%>...</%> c. <script>...</script> d. <%...%> 3. IIS lµ g×? Nã ho¹t ®éng nh− thÕ nµo? 4. C¸c b−íc thiÕt lËp th− môc ¶o trong IIS. 5. C¸c lÖnh c¬ b¶n cña ASP.

4.7.2 Bµi tËp vÒ c¸c cÊu tróc ®iÒu khiÓn vµ vßng lÆp. 1. ViÕt ®o¹n m· ch−¬ng tr×nh ASP dïng cÊu tróc Select...Case ®Ó hiÓn thÞ ra

mµn h×nh ngµy hiÖn hµnh trong tuÇn b»ng tiÕng ViÖt.

Page 109: Thiet ke va lap trinh web

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ñ.

Page 110: Thiet ke va lap trinh web

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

Ch−¬ng 5

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

5.1 Kh¸i niÖm vÒ ADO ActiveX Data Object lµ líp ®èi t−îng COM (Compenent Object Model) tËp

trung vµo xö lý d÷ liÖu th«ng qua OLEDB cña Windows. ADO thiÕt kÕ cho môc ®Ých truy xuÊt d÷ liÖu tæng qu¸t kh«ng chØ dïng ®Ó truy xuÊt d÷ liÖu thuÇn tuý mµ cßn xö lý ®−îc c¶ d÷ liÖu file hay bÊt kú lo¹i d÷ liÖu nµo cã hç trî c¬ chÕ cho phÐp giao tiÕp th«ng qua OLEDB.

M« h×nh kiÕn tróc cña ADO t−¬ng t¸c gi÷a øng dông vµ nguån d÷ liÖu:

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

VC++ VB Script Java

OLEDB

Data Store

E-mail CSDL File

ADO

Application

Page 111: Thiet ke va lap trinh web

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

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

5.3.1 §èi t−îng kÕt nèi (Connection) Cho phÐp thùc hiÖn viÖc më kÕt nèi ®Õn nguån d÷ liÖu cÇn truy xuÊt. Th«ng

qua Connection chØ cÇn chØ ®Þnh tr×nh cung cÊp OLEDB Provider sÏ dïng ®Ó tiÕp cËn d÷ liÖu. C¸c th«ng tin kÕt nèi bæ sung kh¸c nh− username, password, server name,.. th−êng ®−îc l−u vµo mét chuçi gäi lµ chuçi kÕt nèi (Connection String).

Chó ý: Cã thÓ kÕt nèi vµ truy xuÊt vµo nguån d÷ liÖu mµ kh«ng b¾t buéc ph¶i dïng ®èi t−îng Connection. C¸ ®èi t−îng kh¸c nh− Command, RecordSet, Record,... còng cho phÐp më trùc tiÕp kÕt nèi. Tuy nhiªn sö dông ®èi t−îng Connection sÏ cho phÐp b¹n t¸ch biÖt thao t¸c kÕt nèi vµ thao t¸c truy cËp c¬ së d÷ liÖu. H¬n n÷a ®èi t−îng Connection cßn cung cÊp thªm mét sè chøc n¨ng chuyªn dông kh¸c nh− cho phÐp thùc thi c©u lÖnh SQL t¸c ®éng vµo d÷ liÖu nh− Insert, Update, Delete, gäi thñ tôc Procedure Store,... hoÆc kiÓm so¸t giao t¸c transaction nh− Rollback, commit.

5.3.2 §èi t−îng Command: §èi t−îng nµy dïng cho môc ®Ých thùc thi c©u lÖnh tèt h¬n Connection. Cho

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

5.3.3 §èi t−îng RecordSet: Lµ ®èi t−îng sö dông th−êng xuyªn trong ADO. Cung cÊp kÕt qu¶ tr¶ vÒ tõ

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

5.4 KÕt nèi víi nguån d÷ liÖu Chuçi kÕt nèi ®−îc dïng ®Ó cung cÊp th«ng tin cho ®èi t−îng Connection

biÕt ®Æc ®iÓm cña c¬ së hay nguån d÷ liÖu mµ ADO cÇn truy xuÊt.

5.4.1 T¹o mét ODBC DSN Tr−íc khi t¹o c¸c Script truy xuÊt c¬ së d÷ liÖu (CSDL), ta cÇn chØ dÉn cho

ADO x¸c ®Þnh nguån d÷ liÖu cÇn truy xuÊt vµ c¸ch thøc liªn kÕt CSDL. Phæ biÕn vµ ®¬n gi¶n nhÊt ®ã lµ sö dông tªn nguån d÷ liÖu (Data Source

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

• Vµo trong Start\Control Panel, click chuét vµo biÓu t−îng ODBC, chän

Page 112: Thiet ke va lap trinh web

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

Page 113: Thiet ke va lap trinh web

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

Page 114: Thiet ke va lap trinh web

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

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

Page 115: Thiet ke va lap trinh web

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

viewFrm.page.value= page; viewFrm.submit(); } </script>

5.6 HiÖu chØnh c¸c b¶n ghi

5.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet: Thªm míi b¶n ghi: §Ó thªm míi vµo b¶ng d÷ liÖu qu¶n lý bëi ph−¬ng thøc

RecordSet sö dông ph−¬ng thøc AddNew sqlStr=”Select * From Accounts” rs.open sqlStr,Conn ‘ Thªm tμi kho¶n míi vμo b¶ng Accounts rs.Addnew ‘g¸n gi¸ trÞ cho b¶n ghi with rs .fields(“username”)= ‘New User’ .fields(“password”)=’***’ end with ‘l−u l¹i rs.update ‘ChØnh söa néi dung trong b¶n ghi hiÖn hμnh: sqlStr=”Select * From Accounts” rs.open sqlStr,Conn with rs .fields(“password”)=’newpassword’ end with ‘l−u l¹i rs.update ‘Xo¸ b¶n ghi hiÖn hμnh: sqlStr=”Select * From Accounts where username= ‘” &mkuser &”’” rs.open sqlStr,Conn rs.delete

5.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection sqlStr=”delete * from Accounts where username= ‘” &mkuser &”’” Conn.execute sqlStr

5.7 Sö dông ®èi t−îng Command

5.7.1 T¹o ®èi t−îng Command: set cmdUpdate=Server.CreateObject(“ADODB.Command”)

5.7.2 Sö dông ®èi t−îng Command: sqlUpdate=“update accounts set password = ‘abc’ where username=”‘” & username & “’”

Page 116: Thiet ke va lap trinh web

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)

Page 117: Thiet ke va lap trinh web

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)

Page 118: Thiet ke va lap trinh web

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)

Page 119: Thiet ke va lap trinh web

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

Page 120: Thiet ke va lap trinh web

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

Page 121: Thiet ke va lap trinh web

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

Page 122: Thiet ke va lap trinh web

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