• Like
2mit.org dctk web
Upcoming SlideShare
Loading in...5
×
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
209
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
6
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 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Õntrª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écsè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 5ch−¬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, giaothø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ôngcó 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¶ntrong 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¸ckh¸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éttrang 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Õtnè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ôngc¸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Ëptr×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 caob»ng c«ng nghÖ HTML vµ ASP. §−îc biªn so¹n víi ph−¬ng ch©m ®¶m b¶o tÝnhlogic, 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ænghî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Ëtng÷ Tin häc kh«ng thÓ thay thÕ b»ng tiÕng ViÖt. §Ó tiÖn cho viÖc tr×nh bµy ý t−ëngxuyª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Ýchb»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áithiÕ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Êtc¶ 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¶
  • 2. http://www.ebook.edu.vn 2Ch−¬ng 1 Giíi thiÖu chung1.1 M¹ng m¸y tÝnh1.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ÊtnhiÒ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èitruyÒ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¸ctÝ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¹nchÕ ®−î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ö
  • 3. http://www.ebook.edu.vn 3dông cã thÓ trao ®æi th«ng tin, dïng chung c¸c thiÕt bÞ ngo¹i vi, vµ sö dông c¸cch−¬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ªnggä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ªnkÕ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øct¹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 vidï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µnhth«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−êisö 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 khuc«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 øngdô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íigiao 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 vitoµ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− ®¨ngnhË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étph−¬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·itÇm ho¹t ®éng cña tõng hÖ thèng thµnh viªn1.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Öung−ê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ècphßng Mü. T¹i thêi ®iÓm ban ®Çu ®ã lµ m¹ng ARPAnet cña Ban qu¶n lý dù ¸nnghiªn cøu Quèc phßng. ARPAnet lµ mét m¹ng thö nghiÖm phôc vô c¸c nghiªncø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Ýnhcã 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Ýnhkh¸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·ngkh¸c nhau. M¹ng Internet nguyªn thuû ®−îc thiÕt kÕ nh»m môc ®Ých phôc vô viÖc cungcÊ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 ®Òucã 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− MCIvµ Compuserve ch¼ng h¹n, ®· trë nªn thµnh viªn cña Internet. Víi h¬n hai triÖu
  • 4. http://www.ebook.edu.vn 4m¸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¹cvµ 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øcTCP/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¸ttriÓn bëi DoD (bé quèc phßng Mü) vµ ®−îc ®−a vµo triÓn khai tõ n¨m 1982 ®Ó cungcÊ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Ýnhkh¸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Õtví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Êtc¶ 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¶. Trongnh÷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¸cgiao 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ÇnphÇ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øcgam d÷ liÖu ng−êi dïng (User Datagram Protocol-UDP) cã thÓ ®−îc thay thÕ choTCP ë cÊp chuyÓn t¶i (gi÷a c¸c m¸y chñ). TCP vµ UDP ho¹t ®éng t¹i cïng méttÇng. TCP t−¬ng øng víi SPX trong m«i tr−êng Netware. TCP duy tr× mét tuyÕn kÕtnè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ªntruyÒ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êicã 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Ýatrª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ÒukhiÓ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èivµ 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ôngb¨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) ®Ó ®Þnhdanh 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Õntr×nh ®Þnh ®Þa chØ vµ chän ®−êng. Mét phÇn ®Çu IP ®−îc nèi vµo c¸c gãi tin, ®−îcc¸c giao thøc cÊp thÊp h¬n truyÒn theo d¹ng c¸c khung (frame).
  • 5. 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¸cb¶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ÕtbÞ m¹ng vËt lý vµ logic, mµ giao thøc ph©n gi¶i ®Þa chØ (Address ResolutionProtocol-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Ýchth−í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. IPcò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étgiao 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¸ctÝ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Ónt¶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Çnlµ ®Þ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«ngquan 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ñam¹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Ýnhn¨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Ø (AddressResolution 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 ®ÞachØ 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¸cgiao 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Ýnhn¨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 ®Ó truycËp c¸c tµi nguyªn trªn m¹ng.
  • 6. http://www.ebook.edu.vn 61.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 giaothø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¶itiÕ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 ®¨ngnhË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¸ychñ. 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×nhWeb server khi ng−êi dïng sö dung WWW. Hypertext: c¸ch thøc liªn kÕt thamchiÕ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 quant©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µnInternet 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Ônb»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µnhphÇ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 5líp. Ký hiÖu lµ A, B, C, D, E 0 NET ID (7 bits) HOST ID (24 bits) 10 NET ID (14 bits) HOST ID (16 bits) 110 NET ID (21 bits) HOST ID(8 bits) 1110 Multicast (18 bits) 11110 Multicast (17 bits) H×nh 1.2. CÊu tróc c¸c líp ®Þa chØ líp IP
  • 7. 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¸c1.5.1 URL URL (Uniform Resource Locator) lµ c¸ch gäi kh¸c cña ®Þa chØ web. URLbao 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 URLlµ “http://www.vnn.vn/cntt” sÏ h−íng dÉn tr×nh duyÖt web cña chóng ta sö dônggiao 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éidung 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íimé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Õmc¸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 (hayh×nh ¶nh) cña trang Web, mµ khi kÝch vµo ®ã sÏ tù ®éng thùc hiÖn mét trong c¸cthao 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−íithÓ 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Þ.
  • 8. 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µ xemth«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µngièng nhau. C¸c tr×nh duyÖt web bao gåm cã Internet Explorer, Netscape NavigatorCommunicator, 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¸cphiª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óngta 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 ServervÒ, … 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 (trangHTML cã thÓ chøa ©m thanh, h×nh ¶nh, video, v¨n b¶n, …). C¸c Web Server ®−îckÕt nèi víi nhau th«ng qua m¹ng Internet, mçi Server cã ®Þa chØ duy nhÊt trªnInternet. Thµnh phÇn chñ chèt cña Web Server lµ phÇn mÒm. Mçi phÇn mÒm WebServer 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 WebServer 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ñ.
  • 9. http://www.ebook.edu.vn 91.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−êicï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étchñ ®Ò (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ªnInternet ra ®êi gÇn ®©y nhÊt nh−ng ph¸t triÓn nhanh nhÊt hiÖn nay. Nã cung cÊpmé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¸ctrª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øngvµ 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¸ykh¸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«ngviÖ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ã truycË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
  • 10. 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Ó chiara 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Þ chong−êi dïng xem. VÝ dô: hiÓn thÞ c¸c trang d¹ng text, h×nh ¶nh ®¬n gi¶n ch¼ng h¹nnh− 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) chophÐ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étch−¬ng tr×nh CGI (Common Gateway Interface) ch¹y trªn Server. (th−êng th× c¸cCGI 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¹icho 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×mkiÕ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
  • 11. http://www.ebook.edu.vn 11Ch−¬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ªuv¨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¸cthø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µyph¶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ªnc¸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éidung 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ÖtWeb. 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÷ HTML2.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ÖuHTML. 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óccñ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 ®Ætgi÷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µyth«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¸okÕt thóc mét tµi liÖu HTML. Có ph¸p: <HTML> ... Toµn bé néi dung cña tµi liÖu ®−îc ®Æt ë ®©y </HTML> Tr×nh duyÖt sÏ xem c¸c tµi liÖu kh«ng sö dông thÎ <HTML> nh− nh÷ng tÖpv¨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ë ®Çunµ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
  • 12. http://www.ebook.edu.vn 12®Ò cña tµi liÖu, c¸c quan hÖ ®−îc thiÕt lËp gi÷a tµi liÖu vµ c¸c th− môc. ThÎ<HEAD> ®−îc dïng ®Ó x¸c ®Þnh phÇn më ®Çu cho tµi liÖu. Có ph¸p: <HTML> ... PhÇn më ®Çu (header) cña tµi liÖu ®−îc ®Æt ë ®©y </HTML>c. TITLE Chóng ta cã thÓ ®Æt tiªu ®Ò cho tµi liÖu HTML cña m×nh. Tiªu ®Ò nµy sÏ ®−îchiÓn thÞ trªn thanh tiªu ®Ò cña tr×nh duyÖt. CÆp thÎ nµy chØ cã thÓ sö dông trongphÇn më ®Çu cña tµi liÖu, tøc lµ nã ph¶i n»m trong thÎ ph¹m vi giíi h¹n bëi cÆp thÎ<HEAD>. Có ph¸p: <TITLE>Tiªu ®Ò cña tµi liÖu ®−îc ®Æt ë ®©y</TITLE>d. BODY ThÎ nµy ®−îc sö dông ®Ó x¸c ®Þnh phÇn néi dung chÝnh cña tµi liÖu. Còng cãthÓ sö dông c¸c tham sè cña thÎ ®Ó ®Æt ¶nh nÒn cho tµi liÖu, mµu nÒn, mµu v¨n b¶nsiªu liªn kÕt, ®Æt lÒ cho trang tµi liÖu… Nh÷ng th«ng tin nµy ®−îc ®Æt ë phÇn thamsè cña thÎ. Có ph¸p: <BODY> .... phÇn néi dung cña tµi liÖu ®−îc ®Æt ë ®©y </BODY> Trªn ®©y lµ có ph¸p c¬ b¶n cña thÎ <BODY>, tuy nhiªn b¾t ®Çu tõ phiªnb¶n HTML 3.2 th× cã nhiÒu thuéc tÝnh ®−îc sö dông trong thÎ <BODY>. Nh− vËy mét tµi liÖu HTML c¬ b¶n cã cÊu tróc nh− sau: <HTML> <HEAD> <TITLE>Tiªu ®Ò cña tµi liÖu</TITLE> </HEAD> <BODY> ... Néi dung cña tµi liÖu </BODY> </HTML> Sau ®©y lµ c¸c thuéc tÝnh chÝnh: BACKGROUND= §Æt mét ¶nh nµo ®ã lµm ¶nh nÒn (background) cho v¨n b¶n. Gi¸ trÞ cña tham sè nµy (phÇn sau dÊu b»ng) lµ URL cña file ¶nh. NÕu kÝch th−íc ¶nh nhá h¬n cöa sæ tr×nh duyÖt th× toµn bé mµn h×nh cöa sæ tr×nh duyÖt sÏ ®−îc l¸t kÝn b»ng nhiÒu ¶nh.
  • 13. http://www.ebook.edu.vn 13 BGCOLOR= §Æt mÇu nÒn cho trang khi hiÓn thÞ. NÕu c¶ hai tham sè BACKGROUND vµ BGCOLOR cïng cã gi¸ trÞ th× tr×nh duyÖt sÏ hiÓn thÞ mÇu nÒn tr−íc, sau ®ã míi t¶i ¶nh lªn phÝa trªn. TEXT= X¸c ®Þnh mµu ch÷ cña v¨n b¶n, kÓ c¶ c¸c ®Ò môc. ALINK= X¸c ®Þnh mµu s¾c cho c¸c siªu liªn kÕt trong v¨n b¶n. VLINK= T−¬ng øng, alink (active link) lµ liªn kÕt ®ang ®−îc kÝch LINK= ho¹t - tøc lµ khi ®· ®−îc kÝch chuét lªn; vlink (visited link) chØ liªn kÕt ®· tõng ®−îc kÝch ho¹t;e. Chó thÝch CÆp thÎ nµy cho phÐp ng−êi biªn so¹n tµi liÖu HTML cã thÓ thªm vµo trongc¸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 ®Ætgi÷a hai thÎ nµy sÏ kh«ng ®−îc tr×nh duyÖt hiÓn thÞ. Có ph¸p: <!-- C¸c chó thÝch ®−îc ®Æt ë ®©y -->2.2.2 C¸c thÎ ®Þnh d¹ng khèia. ThÎ <P> ThÎ <P> ®−îc sö dông ®Ó ®Þnh d¹ng mét ®o¹n v¨n b¶n. Có ph¸p: <P>Néi dung ®o¹n v¨n b¶n</P>b. C¸c thÎ ®Þnh d¹ng ®Ò môc H1/H2/H3/H4/H5/H6 HTML hç trî 6 møc ®Ò môc. Chó ý r»ng ®Ò môc chØ lµ c¸c chØ dÉn ®Þnh d¹ngvÒ 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Ýchhî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−êngv¨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«ngth−ê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
  • 14. http://www.ebook.edu.vn 14c. 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Ónsang dßng míi. L−u ý, néi dung v¨n b¶n trong tµi liÖu HTML sÏ ®−îc tr×nh duyÖtWeb thÓ hiÖn liªn tôc, c¸c kho¶ng tr¾ng liÒn nhau, c¸c ký tù tab, ký tù xuèng dßng®Òu ®−îc coi nh− mét kho¶ng tr¾ng. §Ó xuèng dßng, ta ph¶i sö dông thÎ <BR>.d. 2.4 ThÎ <PRE> §Ó giíi h¹n ®o¹n v¨n b¶n ®· ®−îc ®Þnh d¹ng s½n ta cã thÓ sö dông thÎ<PRE>. V¨n b¶n ë gi÷a hai thÎ nµy sÏ ®−îc thÓ hiÖn gièng hÖt nh− khi chóng ®−îc®¸nh vµo, vÝ dô dÊu xuèng dßng trong ®o¹n v¨n b¶n giíi h¹n bëi thÎ <PRE> sÏ cãý nghÜa chuyÓn sang dßng míi (tr×nh duyÖt sÏ kh«ng coi chóng nh− dÊu c¸ch). Có ph¸p: <PRE>V¨n b¶n ®· ®−îc ®Þnh d¹ng</PRE>2.2.3 C¸c thÎ ®Þnh d¹ng danh s¸ch Có ph¸p: <UL> <LI> Môc thø nhÊt <LI> Môc thø hai </UL> Cã 4 kiÓu danh s¸ch: • Danh s¸ch kh«ng s¾p xÕp ( hay kh«ng ®¸nh sè) <UL> • Danh s¸ch cã s¾p xÕp (hay cã ®¸nh sè) <OL>, mçi môc trong danh s¸ch ®−îc s¾p xÕp thø tù. • Danh s¸ch thùc ®¬n <MENU> • Danh s¸ch ph©n cÊp <DIR> Víi nhiÒu tr×nh duyÖt, danh s¸ch ph©n cÊp vµ danh s¸ch thùc ®¬n gièng danhs¸ch kh«ng ®¸nh sè, cã thÓ dïng lÉn víi nhau. Víi thÎ OL ta cã có ph¸p sau: <OL TYPE=1/a/A/i/I> <LI>Muc thu nhat <LI>Muc thu hai <LI>Muc thu ba </OL> Trong ®ã: TYPE =1 C¸c môc ®−îc s¾p xÕp theo thø tù 1, 2, 3... =a C¸c môc ®−îc s¾p xÕp theo thø tù a, b, c... =A C¸c môc ®−îc s¾p xÕp theo thø tù A, B, C... =i C¸c môc ®−îc s¾p xÕp theo thø tù i, ii, iii... =I C¸c môc ®−îc s¾p xÕp theo thø tù I, II, III... Ngoµi ra cßn thuéc tÝnh START= x¸c ®Þnh gi¸ trÞ khëi ®Çu cho danh s¸ch. ThÎ <LI> cã thuéc tÝnh TYPE= x¸c ®Þnh ký hiÖu ®Çu dßng (bullet) ®øngtr−í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Êmtrßn ®Ëm); circle (vßng trßn); square (h×nh vu«ng).
  • 15. http://www.ebook.edu.vn 152.2.4 C¸c thÎ ®Þnh d¹ng ký tùa. C¸c thÎ ®Þnh d¹ng in ký tù Sau ®©y lµ c¸c thÎ ®−îc sö dông ®Ó quy ®Þnh c¸c thuéc tÝnh nh− in nghiªng,in ®Ëm, g¹ch ch©n... cho c¸c ký tù, v¨n b¶n khi ®−îc thÓ hiÖn trªn tr×nh duyÖt. ThÎ Thuéc tÝnh <B> ... </B> In ch÷ ®Ëm <STRONG> ... </STRONG> <I> ... </I> In ch÷ nghiªng <EM> ... </EM> <U> ... </U> In ch÷ g¹ch ch©n <DFN> §¸nh dÊu ®o¹n v¨n b¶n gi÷a hai thÎ nµy lµ ®Þnh nghÜa cña mét tõ. Chóng th−êng ®−îc in nghiªng hoÆc thÓ hiÖn qua mét kiÓu ®Æc biÖt nµo ®ã. <S> ... </S> In ch÷ bÞ g¹ch ngang. <STRIKE> ... </STRIKE> <BIG> ... </BIG> In ch÷ lín h¬n b×nh th−êng b»ng c¸ch t¨ng kÝch th−íc font hiÖn thêi lªn mét. ViÖc sö dông c¸c thÎ <BIG> lång nhau t¹o ra hiÖu øng ch÷ t¨ng dÇn. Tuy nhiªn ®èi víi mçi tr×nh duyÖt cã giíi h¹n vÒ kÝch th−íc ®èi víi mçi font ch÷, v−ît qu¸ giíi h¹n nµy, c¸c thÎ <BIG> sÏ kh«ng cã ý nghÜa. <SMALL> ... </SMALL> In ch÷ nhá h¬n b×nh th−êng b»ng c¸ch gi¶m kÝch th−íc font hiÖn thêi ®i mét. ViÖc sö dông c¸c thÎ <SMALL>lång nhau t¹o ra hiÖu øng ch÷ gi¶m dÇn. Tuy nhiªn ®èi víi mçi tr×nh duyÖt cã giíi h¹n vÒ kÝch th−íc ®èi víi mçi font ch÷, v−ît qu¸ giíi h¹n nµy, c¸c thÎ <SMALL> sÏ kh«ng cã ý nghÜa. <SUP> ... </SUP> §Þnh d¹ng chØ sè trªn (SuperScript) <SUB> ... </SUB> §Þnh d¹ng chØ sè d−íi (SubScript) <BASEFONT> §Þnh nghÜa kÝch th−íc font ch÷ ®−îc sö dông cho ®Õn hÕt v¨n b¶n. ThÎ nµy chØ cã mét tham sè size= x¸c ®Þnh cì ch÷. ThÎ <BASEFONT> kh«ng cã thÎ kÕt thóc. <FONT> ... </FONT> Chän kiÓu ch÷ hiÓn thÞ. Trong thÎ nµy cã thÓ ®Æt hai tham sè size= hoÆc color= x¸c ®Þnh cì ch÷ vµ mµu s¾c ®o¹n v¨n b¶n n»m gi÷a hai thÎ. KÝch th−íc cã thÓ lµ tuyÖt ®èi (nhËn gi¸ trÞ tõ 1 ®Õn 7) hoÆc t−¬ng ®èi (+2,-4...) so víi font ch÷ hiÖn t¹i.
  • 16. http://www.ebook.edu.vn 16b. 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¨nlÒ 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»mtrong 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èiv¨n b¶n. Có ph¸p: <CENTER>V¨n b¶n sÏ ®−îc c¨n gi÷a trang</CENTER>c. C¸c ký tù ®Æc biÖt Ký tù & ®−îc sö dông ®Ó chØ chuçi ký tù ®i sau ®−îc xem lµ mét thùc thÓduy nhÊt. Ký tù ; ®−îc sö dông ®Ó t¸ch c¸c ký tù trong mét tõ. Ký tù M· ASCII Tªn chuçi < &#060 &lt > &#062 &gt & &#038 &ampd. 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), Xanhl¸ 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Êub»ng cã thÓ lµ gi¸ trÞ RGB hay tªn tiÕng Anh cña mµu. Víi tªn tiÕng Anh, ta chØ cãthÓ chØ ra 16 mµu trong khi víi gi¸ trÞ RGB ta cã thÓ chØ tíi 256 mµu. Sau ®©y lµ mét sè gi¸ trÞ mµu c¬ b¶n: Mµu s¾c Gi¸ trÞ Tªn tiÕng Anh §á #FF0000 RED §á sÉm #8B0000 DARKRED Xanh l¸ c©y #00FF00 GREEN Xanh nh¹t #90EE90 LIGHTGREEN Xanh n−íc biÓn #0000FF BLUE Vµng #FFFF00 YELLOW Vµng nh¹t #FFFFE0 LIGHTYELLOW Tr¾ng #FFFFFF WHITE
  • 17. http://www.ebook.edu.vn 17 §en #000000 BLACK X¸m #808080 GRAY N©u #A52A2A BROWN TÝm #FF00FF MAGENTA TÝm nh¹t #EE82EE VIOLET Hång #FFC0CB PINK Da cam #FFA500 ORANGE Mµu ®ång phôc h¶i #000080 NAVY qu©n #4169E1 ROYALBLUE #7FFFD4 AQUAMARINE Có ph¸p: <BODY LINK = color ALINK = color VLINK = color BACKGROUND= url() BGCOLOR = color TEXT = color TOPMARGIN = pixels RIGHTMARGIN = pixels LEFTMARGIN = pixels > .... phÇn néi dung cña tµi liÖu ®−îc ®Æt ë ®©y </BODY> Sau ®©y lµ ý nghÜa c¸c tham sè cña thÎ <BODY>: C¸c tham sè ý nghÜaLINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕtALINK ChØ ®Þnh mµu cña v¨n b¶n siªu liªn kÕt ®ang ®ang chänVLINK 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ÒnBGCOLOR ChØ ®Þnh mµu nÒnTEXT ChØ ®Þnh mµu cña v¨n b¶n trong tµi liÖuSCROLL YES/NO - X¸c ®Þnh cã hay kh«ng thanh cuénTOPMARGIN LÒ trªnRIGHTMARGIN LÒ ph¶iLEFTMARGIN LÒ tr¸i
  • 18. http://www.ebook.edu.vn 18e. 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ÕtV¨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étc©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µnhtõ nhiÒu hÖ thèng kh¸c nhau, cÇn ph¶i cã mét quy t¾c ®Æt tªn thèng nhÊt cho tÊt c¶c¸c v¨n b¶n trªn Web. Quy t¾c ®Æt tªn ®ã lµ URL (Universal Resource Locator). DÞch vô Cæng Tªn file http://www.tsqtt.edu.vn:8080/~dir1/dir2/dir3/index.html#chapter001 Tªn hÖ thèng §−êng dÉn C¸c tham sè, biÕn, truy vÊn H×nh 2.1 C¸c thµnh phÇn cña URL ®−îc minh ho¹ ë h×nh trªn. • DÞch vô: Lµ thµnh phÇn b¾t buéc cña URL. Nã x¸c ®Þnh c¸ch thøc tr×nh duyÖt cña m¸y kh¸ch liªn l¹c víi m¸y phôc vô nh− thÕ nµo ®Ó nhËn d÷ liÖu. Cã nhiÒu dÞch vô nh− http, wais, ftp, gopher, telnet. • Tªn hÖ thèng: Lµ thµnh phÇn b¾t buéc cña URL. Cã thÓ lµ tªn miÒn ®Çy ®ñ cña m¸y phôc vô hoÆc chØ lµ mét phÇn tªn ®Çy ®ñ – tr−êng hîp nµy x¶y ra khi v¨n b¶n ®−îc yªu cÇu vÉn n»m trªn miÒn cña site. Tuy nhiªn nªn sö dông ®−êng dÉn ®Çy ®ñ. • Cæng: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. Cæng lµ ®Þa chØ socket cña m¹ng dµnh cho mét giao thøc cô thÓ. Giao thøc http ngÇm ®Þnh nèi víi cæng 8080. • §−êng dÉn th− môc: Lµ thµnh phÇn b¾t buéc cña URL. Ph¶i chØ ra ®−êng dÉn tíi file yªu cÇu khi kÕt nèi víi bÊt kú hÖ thèng nµo. Cã thÓ ®−êng dÉn trong URL kh¸c víi ®−êng dÉn thùc sù trong hÖ thèng m¸y phôc vô. Tuy nhiªn cã thÓ rót gän ®−êng dÉn b»ng c¸ch ®Æt biÖt danh (alias). C¸c th− môc trong ®−êng dÉn c¸ch nhau bëi dÊu g¹ch chÐo (/). • Tªn file: Kh«ng lµ thµnh phÇn b¾t buéc cña URL. Th«ng th−êng m¸y phôc vô ®−îc cÊu h×nh sao cho nÕu kh«ng chØ ra tªn file th× sÏ tr¶ vÒ file ngÇm ®Þnh trªn th− môc ®−îc yªu cÇu. File nµy th−êng cã tªn lµ
  • 19. 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ÜaHREF §Þ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 TabTITLE 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 ®èihay 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 trongURL ®−îc ng¨n c¸ch b»ng ký tù ng¨n c¸ch (ký tù g¹ch chÐo /). §Ó t¹o ra URLt−¬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¨nc¸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 ®Þnhsau 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µocñ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×:
  • 20. 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× khikÝch ho¹t kÕt nèi sÏ kÝch ho¹t chøc n¨ng th− ®iÖn tö cña tr×nh duyÖt. <ADDRESS> Trang WEB nµy ®−îc <A href=”mailto:webmaster@vnuh.edu.vn” >WEBMASTER <A> b¶o tr× <ADDRESS>i. VÏ mét ®−êng th¼ng n»m ngang Có ph¸p: <HR ALIGN = LEFT / CENTER / RIGHT COLOR = color NOSHADE SIZE =n WIDTH = width > ý nghÜa c¸c tham sè:C¸c tham sè ý nghÜaALIGN C¨n lÒ (c¨n tr¸i, c¨n ph¶i, c¨n gi÷a)COLOR §Æt mµu cho ®−êng th¼ngNOSHADE Kh«ng cã bãngSIZE §é dµy cña ®−êng th¼ngWIDTH 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.
  • 21. http://www.ebook.edu.vn 212.2.5 C¸c thÎ chÌn ©m thanh, h×nh ¶nha. 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. TuyvË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ÕtkiÓu cña file KiÓu Më réng M« t¶ Image/GIF .gif ViÕt t¾t cña Graphics Interchange Format. Khu«n d¹ng nµy xuÊt hiÖn khi mäi ng−êi cã nhu cÇu trao ®æi ¶nh trªn nhiÒu hÖ thèng kh¸c nhau. Nã ®−îc sö dông trªn tÊt c¶ c¸c hÖ thèng hç trî giao diÖn ®å ho¹. §Þnh d¹ng GIF lµ ®Þnh d¹ng chuÈn cho mäi tr×nh duyÖt WEB. Nh−îc ®iÓm cña nã lµ chØ thÓ hiÖn ®−îc 256 mµu. Image/JPEG .jpeg ViÕt t¾t cña Joint Photographic Expert Group. Lµ khu«n d¹ng ¶nh kh¸c nh−ng cã thªm kh¶ n¨ng nÐn.¦u ®iÓm næi bËt cña khu«n d¹ng nµy lµ l−u tr÷ ®−îc hµng triÖu mµu vµ ®é nÐn cao nªn kÝch th−íc file ¶nh nhá h¬n vµ thêi gian download nhanh h¬n. Nã lµ c¬ së cho khu«n d¹ng MPEG. TÊt c¶ c¸c tr×nh duyÖt ®Òu cã kh¶ n¨ng xem ¶nh JPEG. Image/TIFF .tiff ViÕt t¾t cña Tagged Image File Format. §−îc Microsoft thiÕt kÕ ®Ó quÐt ¶nh tõ m¸y quÐt còng nh− t¹o c¸c Ên phÈm. Text/HTML .html, .htm PostScript .eps, .ps §−îc t¹o ra ®Ó hiÓn thÞ vµ in c¸c v¨n b¶n cã chÊt l−îng cao. Adobe .pdf ViÕt t¾t cña Portable Document Format. Acrobat Acrobat còng sö dông c¸c siªu liªn kÕt ngay trong v¨n b¶n còng gièng nh− HTML. Tõ phiªn b¶n 2.0, c¸c s¶n phÈm cña Acrobat cho phÐp liªn kÕt gi÷a nhiÒu v¨n b¶n. ¦u ®iÓm lín nhÊt cña nã lµ kh¶ n¨ng WYSISYG. Video/MPEG .mpeg ViÕt t¾t cña Motion Picture Expert Group, lµ ®Þnh d¹ng dµnh cho c¸c lo¹i phim (video). §©y lµ khu«n d¹ng th«ng dông nhÊt dµnh cho phim trªn WEB. Video/AVI .avi Lµ khu«n dn¹g phim do Microsoft ®−a ra. Video/Quick .mov Do Apple Computer ®−a ra, chuÈn video nµy ®−îc Time cho lµ cã nhiÒu −u ®iÓm h¬n MPEG vµ AVI. MÆc dï ®· ®−îc tÝch hîp vµo nhiÒu tr×nh duyÖt nh−ng vÉn ch−a phæ biÕn b»ng hai lo¹i ®Þnh d¹ng trªn. Sound/AU .au
  • 22. http://www.ebook.edu.vn 22 Sound/MIDI .mid Lµ khu«n d¹ng dµnh cho ©m nh¹c ®iÖn tö hÕt søc th«ng dông ®−îc nhiÒu tr×nh duyÖt trªn c¸c hÖ thèng kh¸c nhau hç trî. File Midi ®−îc tæng hîp sè ho¸ trùc tiÕp tõ m¸y tÝnh. Sound/Real .ram §Þnh d¹ng audio theo dßng. Mét bÊt tiÖn khi sö Audio dông c¸c ®Þnh d¹ng kh¸c lµ file ©m thanh th−êng cã kÝch th−íc lín - do vËy thêi gian t¶i xuèng l©u, Tr¸i l¹i audio dßng b¾t ®Çu ch¬i ngay khi t¶i ®−îc mét phÇn file trong khi vÉn t¶i vÒ c¸c phÇn kh¸c. MÆc dï file theo ®Þnh d¹ng nµy kh«ng nhá h¬n so víi c¸c ®Þnh d¹ng kh¸c song chÝnh kh¶ n¨ng dßng ®· khiÕn ®Þnh d¹ng nµy phï hîp víi kh¶ n¨ng ch¬i ngay lËp tøc. VRML .vrml ViÕt t¾t cña Virtual Reality Modeling Language. C¸c file theo ®Þnh d¹ng nµy còng gièng nh− HTML. Tuy nhiªn do tr×nh duyÖt cã thÓ hiÓn thÞ ®−îc cöa sæ 3 chiÒu nªn ng−êi xem cã thÓ c¶m nhËn ®−îc c¶m gi¸c ba chiÒu.b. §−a ©m thanh vµo mét tµi liÖu HTML Có ph¸p: <BGSOUND SRC = url LOOP = n > ThÎ nµy kh«ng cã thÎ kÕt thóc t−¬ng øng (</BGSOUND>). §Ó ch¬i lÆp l¹iv« 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ÖuHTML, 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
  • 23. http://www.ebook.edu.vn 23 DYNSRC = url START = FILEOPEN/MOUSEOVER LOOP = n> Trong ®ã: C¸c tham sè ý nghÜa ALIGN = TOP/ MIDDLE/ C¨n hµng v¨n b¶n bao quanh ¶nh BOTTOM/ LEFT/ RIGHT ALT = text ChØ ®Þnh v¨n b¶n sÏ ®−îc hiÓn thÞ nÕu chøc n¨ng show picture cña browser bÞ t¾t ®i hay hiÓn thÞ thay thÕ cho ¶nh trªn nh÷ng tr×nh duyÖt kh«ng cã kh¶ n¨ng hiÓn thÞ ®å ho¹. V¨n b¶n nµy cßn ®−îc gäi lµ nh·n cña ¶nh. §èi víi tr×nh duyÖt cã kh¶ n¨ng hç trî ®å ho¹, dßng v¨n b¶n nµy sÏ hiÖn lªn khi di chuét qua ¶nh hay ®−îc hiÓn thÞ trong vïng cña ¶nh nÕu ¶nh ch−a ®−îc t¶i vÒ hÕt. Chó ý ph¶i ®Æt v¨n b¶n trong hai dÊu nh¸y kÐp nÕu triong v¨n b¶n chøa dÊu c¸ch hay c¸c ký tù ®Æc biÖt - trong tr−êng hîp ng−îc l¹i cã thÓ bá dÊu nh¸y kÐp. BORDER = n §Æt kÝch th−íc ®−êng viÒn ®−îc vÏ quanh ¶nh (tÝnh theo pixel). SRC = url §Þa chØ cña file ¶nh cÇn chÌn vµo tµi liÖu. WIDTH/HEIGHT ChØ ®Þnh kÝch th−íc cña ¶nh ®−îc hiÓn thÞ. HSPACE/VSPACE ChØ ®Þnh kho¶ng trèng xung quanh h×nh ¶nh (tÝnh theo pixel) theo bèn phÝa trªn, d−íi, tr¸i, ph¶i. TITLE = title V¨n b¶n sÏ hiÓn thÞ khi con chuét trá trªn ¶nh DYNSRC = url §Þa chØ cña file video. START = ChØ ®Þnh file video sÏ ®−îc ch¬i khi tµi liÖu ®−îc FILEOPEN/MOUSEOVER më hay khi trá con chuét vµo nã. Cã thÓ kÕt hîp c¶ hai gi¸ trÞ nµy nh−ng ph¶i ph©n c¸ch chóng bëi dÊu phÈy. LOOP = n/INFINITE ChØ ®Þnh sè lÇn ch¬i. NÕu LOOP = INFINITE th× file video sÏ ®−îc ch¬i v« h¹n lÇn.d. Image map Image map cho phÐp click chuét lªn mét vïng nµo ®ã trªn mét h×nh ¶nh ®Ómë mét trang Web kh¸c. Sö dông thÎ MAP vµ AREA ®Ó thiÕt lËp c¸c th«ng tin chomét image map. Có ph¸p: <MAP NAME="map-name"> <AREA SHAPE = RECT/CIRC/POLY
  • 24. 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
  • 25. http://www.ebook.edu.vn 252.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>
  • 26. http://www.ebook.edu.vn 26 ý nghÜa c¸c tham sè: C¸c tham sè ý nghÜaALIGN / VALIGN C¨n lÒ cho b¶ng vµ néi dung trong mçi «.BORDER KÝch th−íc ®−êng kÎ chia « trong b¶ng, ®−îc ®o theo pixel. Gi¸ trÞ 0 cã nghÜa lµ kh«ng x¸c ®Þnh lÒ, gi÷a c¸c « trong b¶ng chØ cã mét kho¶ng tr¾ng nhá ®Ó ph©n biÖt. NÕu chØ ®Ó border th× ngÇm ®Þnh border=1. Víi nh÷ng b¶ng cã cÊu tróc phøc t¹p, nªn ®Æt lÒ ®Ó ng−êi xem cã thÓ ph©n biÖt râ c¸c dßng vµ cét.BORDERCOLOR Mµu ®−êng kÎBORDERCOLORDARK Mµu phÝa tèi vµ phÝa s¸ng cho ®−êng kÎ næi.BORDERCOLORLIGHTBACKGROUND §Þa chØ tíi tÖp ¶nh dïng lµm nÒn cho b¶ngBGCOLOR Mµu nÒnCELLSPACING Kho¶ng c¸ch gi÷a c¸c « trong b¶ngCELLPADDING 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étROWSPAN ChØ ®Þnh « sÏ kÐo dµi trong bao nhiªu hµng2.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×nhb»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öasæ 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µiliÖ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 ®ÞnhnghÜ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 ... >
  • 27. http://www.ebook.edu.vn 27 <FRAME ... > ... </FRAMESET> Trong ®ã: C¸c tham sè ý nghÜaCOLS 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 khungBORDERCOLOR ChØ ®Þnh mµu cho ®−êng viÒn khungFRAMEBORDER 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ÜaBORDERCOLOR 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Þ
  • 28. 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Î Framec. 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>
  • 29. http://www.ebook.edu.vn 29 Trong ®ã: C¸c tham sè ý nghÜaALIGN C¨n lÒ cho khungBORDER KÝch th−íc ®−êng viÒn cña khungBORDERCOLOR Mµu ®−êng viÒn cña khungFRAMEBORDER = 0 / 1 Khung cã ®−êng viÒn hay kh«ngNORESIZE 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«ngNAME §Æt tªn cho khungSRC §Þa chØ tµi liÖu ®−îc hiÓn thÞ trong khungMARGINWIDTH 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 khungHEIGHT §Æ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
  • 30. http://www.ebook.edu.vn 302.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¹oWeb. 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íinh÷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¸cHTML 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µotrang Webc. ThÎ INPUT Có ph¸p thÎ INPUT: <INPUT ALIGN = LEFT | CENTER | RIGHT TYPE = BUTTON | CHECKBOX | FILE | IMAGE | PASSWORD | RADIO | RESET | SUBMIT | TEXT VALUE = value >
  • 31. 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 FORMd. 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>
  • 32. 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äne. 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>
  • 33. 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¶n2.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 MarkupLanguage) lµ phiªn b¶n më réng cña HTML vµ JavaScript, ng«n ng÷ nµy ®−îcdïng ®Ó t¹o trang th«ng tin trªn World Wide Web. Dynamic HTML cã vÞ trÝ v¨nb¶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çikhi 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ªntrang 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 ¶nhtrªn trang Web. C¶ hai tr×nh duyÖt cña Netscape vµ Microsoft vµ míi nhÊt lµ cñaMozilla ®Ò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 sitemét c¸ch ®¬n gi¶n b»ng c¸ch thay ®æi ®Æc t¶ trong trang ®¬n x¸c ®Þnh h×nh thøc
  • 34. 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 trangHTML ®éng ®−îc duyÖt, tr×nh duyÖt ph¶i bæ sung m· ch−¬ng tr×nh ch¹y ngoµitr×nh duyÖt nh− Java hay thµnh phÇn ActiveX.2.3.3 Mét sè hiÖu øng DHTMLa. 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 sangtr¸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
  • 35. 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 ®¼ngtr−êng SÜ quan CH-KT Th«ng tin, trang gåm 3 frame nh− h×nh sau, toµn bé websitesö 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.
  • 36. http://www.ebook.edu.vn 36 • Left frame lµ menu chÝnh gåm c¸c môc chÝnh: tin tøc, ®µo t¹o, tæ chøc, tµi liÖu, liªn kÕt. • Main frame dïng thÓ thÓ hiÖn néi dung c¸c môc chän trong main menu. • Bottom frame (footer) lµ th«ng tin liªm hÖ vµ b¶n quyÒn. Logo Banner Tin tøc Slogan chuyÓn ®éng §µo t¹o Tæ chøc Contents Tµi liÖu Liªn kÕt Footer Bµi 2: ThiÕt kÕ website qu¶n lý sinh viªn cña HÖ D©n sù d−íi d¹ng b¶ng(table), nh− sau: Logo Banner Date-Time Slogan chuyÓn ®éng Tin tøc-Sù kiÖn Qu¶ng c¸o Th«ng b¸o-H−íng dÉn TuyÓn sinh-§µo t¹o KÕt qu¶-Häc bæng Contents Qu¶ng c¸o DiÔn ®µn sinh viªn Tµi liÖu häc tËp Liªn kÕt website Bµi 3: ThiÕt kÕ mét website theo chñ ®Ò: • Giíi thiÖu danh lam th¾ng c¶nh cña quª h−¬ng. • Giíi thiÖu c¸c mãn Èm thùc ®Æc s¶n cña ®Þa ph−¬ng. • Giíi thiÖu chøc n¨ng, lÜnh vùc kinh doanh cña mét c«ng ty. • Giíi thiÖu c¸c Ên phÈm cña mét nhµ s¸ch nhá. • Giíi thiÖu s¶n phÈm may mÆc cña mét c«ng ty may xuÊt khÈu. • Giíi thiÖu s¶n phÈm, hµng hãa cho mét shop b¸n hµng.
  • 37. http://www.ebook.edu.vn 37Ch−¬ng 3 Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web3.1 JavaScript3.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 ®éngcã kh¶ n¨ng ®¸p øng c¸c sù kiÖn tõ phÝa ng−êi dïng. H·ng Netscape ®· ®−a rang«n ng÷ kÞch b¶n cã tªn lµ LiveScript ®Ó thùc hiÖn chøc n¨ng nµy. Sau ®ã ng«nng÷ nµy ®−îc ®æi tªn thµnh JavaScript ®Ó tËn dông tÝnh ®¹i chóng cña ng«n ng÷ lËptr×nh Java. MÆc dï cã nh÷ng ®iÓm t−¬ng ®ång gi÷a Java vµ JavaScript, nh−ngchó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¶ichuyÓ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Êyc¸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ñanã ®−îc nhóng (embedded) hoÆc tÝch hîp (integated) vµo tËp tin HTML chuÈn. Khifile ®−îc load trong Browser (cã support cho JavaScript), Browser sÏ th«ng dÞch c¸cScript vµ thùc hiÖn c¸c c«ng viÖc x¸c ®Þnh. Ch−¬ng tr×nh nguån JavaScript ®−îcth«ng dÞch trong trang HTML sau khi toµn bé trang ®−îc load nh−ng tr−íc khitrang ®−î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¨ngt¹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
  • 38. 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¶ngc¸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 instancecho ®è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 trongc¸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 filenguå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
  • 39. 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¸chµm JavaScript bªn ngoµi cÇn cã ®u«i .js, vµ server sÏ ph¶i ¸nh x¹ ®u«i .js ®ã tíikiÓ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 JavaScripta. 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ªncï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ÊungoÆ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ô:
  • 40. 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>
  • 41. 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>
  • 42. 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">);
  • 43. 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, 2E3b. 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"> <!--
  • 44. 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 friends name:","friends 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
  • 45. 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=-5b. 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 !xc. 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” => trued. To¸n tö ®iÒu kiÖn: Có ph¸p: (®iÒu kiÖn ) ? gi¸ trÞ 1 : gi¸ trÞ 2
  • 46. 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 }
  • 47. 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"); }
  • 48. 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>
  • 49. 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Önmé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Öcnµo ®ã. Trong Javascript cã c¸c hµm ®−îc x©y dùng s½n ®Ó gióp chóng ta thùc hiÖnmét chøc n¨ng nµo ®ã vÝ dô nh− hµm alert(), document.write(), parseInt() vµ tacò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µmnh− 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−¬ngtr×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>
  • 50. 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
  • 51. 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 {
  • 52. 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 JavaScripta. §Þ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ô:
  • 53. 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 student2c. 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);
  • 54. 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
  • 55. 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, ";
  • 56. 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
  • 57. 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èng3.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Önhµnh ®ang ®−îc load trong trang web, c¸c hµnh ®éng cña user khi nhËp d÷ liÖu vµoform 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¸chµ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.
  • 58. http://www.ebook.edu.vn 58b. 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, radiobuttons, 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 onSubmitd. 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”>
  • 59. 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>
  • 60. http://www.ebook.edu.vn 60e. 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ùavµ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>
  • 61. http://www.ebook.edu.vn 61 H×nh 3.5 C¸c sù kiÖn trªn formformObjectName.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 JavaScripta. 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>); }
  • 62. 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ÝnhWindow ®è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µ:
  • 63. 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 trangHTML. §©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×nhJavaScript ®Òu cã sö dông ®èi t−îng nµy ®Ó tham kh¶o ®Õn c¸c thµnh phÇn trongtrang 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 • vlinkColorb. 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. • windowd. 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.
  • 64. 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¹ithanh status bar cña browser dùa vµo event handler onMouseOver vµ b»ng c¸ch ®Ætself.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µ ®ãngcö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,
  • 65. 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>
  • 66. http://www.ebook.edu.vn 663.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 takh«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ócnµ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Ýnhth× 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 InternetExplorer. 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Ömc¬ 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ùchiÖ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 ®Òucã kiÓu lµ variant, vµ nã cã thÓ l−u tr÷ bÊt kú d¹ng d÷ liÖu nµo.
  • 67. 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µikh«ng qu¸ 255 ký tù. Chóng ta cã thÓ khai b¸o biÕn víi c¸c tõ kho¸ Dim, PublichoÆ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 øngdô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Õtsai 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 OptionExplicit. 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 OptionExplicit 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äilµ 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Õncô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ËnbiÕ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 trongcï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 ®Çutõ 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Þ chomé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 ®−îcgäi lµ biÕn m¶ng (array). §Ó khai b¸o mét biÕn lµ biÕn array, chóng ta ®Æt dÊungoÆ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ªnbiÕ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”
  • 68. 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 trongarray 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¸cchiÒu ®−îc khai b¸o c¸ch nhau bëi dÊu phÈy. VÝ dô sau khai b¸o mét array baogåm 5 dßng vµ 7 cét: dim table(4,6)3.2.3 C¸c kiÓu d÷ liÖua. 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ôngchó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µmcñ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étsè 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Õuta 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 tahoµ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 ®−îcth«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Öncho Date/Time. Khi sö dông nã cïng víi mét d÷ liÖu kiÓu Date/Time kh¸c th× kÕtqu¶ 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étlo¹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Óufloating – point. C¸c d¹ng th«ng tin kh¸c nhau ®ã cã thÓ ®−îc l−u trong biÕnvariant 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Öugiè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.
  • 69. 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Öugi÷a c¸c kiÓu d÷ liÖu con víi nhau. Thªm vµo ®ã, hµm VarType cho ta biÕt th«ngtin 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 rathµ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)
  • 70. http://www.ebook.edu.vn 70WeekdayName Tr¶ vÒ tªn ngµy trong tuÇnYear 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 BooleanCByte ChuyÓn d÷ liÖu tõ kiÓu variant sang kiÓu subtype ByteCCur ChuyÓn d÷ liÖu tõ kiÓu variant sang kiÓu subtype CurrencyCDate ChuyÓn d÷ liÖu tõ biÓu thøc d¹ng date/time sang kiÓu subtype Date/TimeCDbl ChuyÓn biÓu thøc tõ kiÓu variant sang kiÓu subtype DoubleChr ChuyÓn m· ANSI sang ký tùCInt ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype IntegerCLng ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype LongCSng ChuyÓn d÷ liÖu kiÓu variant sang kiÓu subtype SingleCStr 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− currencyFormatDateTime Tr¶ vÒ biÓu thøc ®−îc ®Þnh d¹ng kiÓu date or timeFormatNumber 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 arrayIsArray 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·yLBound Tr¶ vÒ cËn d−íi cña chiÕu ®−îc chØ ®Þnh cña mét array
  • 71. 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©uInStrRev 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©uLCase ChuyÓn tÊt c¶ c¸c ký tù cña mét x©u thµnh ch÷ th−êngLeft Tr¶ vÒ mét x©u cã ®é dµi ®−îc chØ ®Þnh tÝnh tõ ký tù ®Çu tiªnLen Tr¶ vÒ ®é dµi cña x©uLTrim Xo¸ c¸c ký tù tr¾ng bªn tr¸i cña x©uRTrim Xo¸ c¸c ký tù tr¾ng bªn ph¶i cña x©uTrim Xo¸ c¸c ký tù tr¾ng ë c¶ hai phÝa cña x©uMid 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ånReplace 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ïngSpace Tr¶ vÒ mét x©u chØ gåm toµn dÊu c¸ch. Sè l−îng dÊu c¸ch ®−îc chØ ®ÞnhStrComp So s¸nh hai x©u vµ tr¶ vÒ mét gi¸ trÞ lµ kÕt qu¶ cña phÐp so s¸nhString 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½nUCase 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Ø ®ÞnhEval §¸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µoIsEmpty Tr¶ vÒ mét gi¸ trÞ Boolean cho biÕt mét biÕn ®· ®−îc g¸n gi¸ trÞ hay ch−aIsNull 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Þ BooleanIsNumeric Tr¶ vÒ mét gi¸ trÞ Boolean cho biÕt biÓu thøc ®ã cã thÓ chuyÓn thµnh d¹ng sè kh«ngMsgBox 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µoRound Lµm trßn mét sèScriptEngine Tr¶ vÒ tªn cña script ®ang dïng
  • 72. 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Õnd. 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¸ntö 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Óuthø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ïngdÊ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Æcchø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 ®−îcxö 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¸cto¸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 quaph¶i theo thø tù xuÊt hiÖn. C¸c to¸n tö sè häc vµ logic ®−îc xö lý theo thø tù sau: Sè häc So s¸nh Logic M« t¶ Ký hiÖu M« t¶ Ký hiÖu M« t¶ Ký hiÖu Mò ho¸ ^ So s¸nh b»ng = Phñ nhËn logic Not PhÐp nh©n * So s¸nh kh¸c <> Vµ And nhau PhÐp chia / Nhá h¬n < HoÆc Or Chia lÊy phÇn Lín h¬n > Lo¹i trõ Xor nguyªn Chia lÊy sè d− Mod Nhá h¬n hoÆc <= So s¸nh b»ng Eqv b»ng PhÐp céng + Lín h¬n hoÆc >= b»ng PhÐp trõ - So s¸nh Object Is t−¬ng ®−¬ng GhÐp x©u & Khi phÐp nh©n vµ chia cïng xuÊt hiÖn trong mét biÓu thøc, chóng ®−îc xö lýtõ ph¶i qua tr¸i theo thø tù xuÊt hiÖn. T−¬ng tù nh− vËy ®èi víi phÐp céng vµ trõ. PhÐp ghÐp x©u kh«ng thuéc nhãm to¸n tö sè häc nh−ng vÒ thø tù −u tiªn nã®øng sau c¸c to¸n tö sè häc vµ tr−íc c¸c to¸n tö so s¸nh. To¸n tö Is lµ mét to¸n töso s¸nh viÖc tham chiÕu Object. Nã kh«ng dïng ®Ó so s¸nh object hay gi¸ trÞ cñachóng, nã chØ cho biÕt xem hai tham chiÕu object (object references) cã lo¹i haykh«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Ó:
  • 73. 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éttrong 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 trongnhiÒ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
  • 74. http://www.ebook.edu.vn 74lµ 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íitõ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 øngví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Çnthù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ßnglÆ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Önhnµ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«ngcÇ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ÇncÇ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¶ khigi¸ 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ö
  • 75. http://www.ebook.edu.vn 75dô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−ênghî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ÆpDo...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 33.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»ngJavaScript. Bµi 2: Sö dông JavaScript vµ VBScript lÇn l−ît viÕt ch−¬ng tr×nh kiÓm tratÝ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ËtkhÈ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ÕunhÊ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, saukhi nhÊn Submit th× kiÓm tra tÝnh hîp lÖ vµ ®Çy ®ñ cña d÷ liÖu. Sö dông c¶ VBScriptvµ JavaScript ®Ó kiÓm tra.
  • 76. http://www.ebook.edu.vn 76Ch−¬ng 4 LËp tr×nh Web ®éng víi c«ng nghÖ ASP4.1 Mét sè kh¸i niÖm c¬ b¶n vÒ ASP4.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¶ trangWeb trªn Internet. Khi tr×nh duyÖt yªu cÇu mét trang HTML, Web Server nhËn yªucÇu vµ göi tr¶ l¹i file HTML ®−îc yªu cÇu. Tr×nh duyÖt sÏ tr×nh diÔn trang HTMLnhË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 ®Ætc¸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 haichiÒ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¹iserver 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«ngthÓ 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 ®−îcmÆ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õ Browsera ®ê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 theoyª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µoc¸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ªnWebServer. Nh−ng IIS kh«ng tù tÝnh to¸n ®−îc c¸c dßng lÖnh ë phÝa Server ®Ó t¹oc¸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Ó ®Õnnh−: 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 trangHTML. 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 trangASP thµnh trang HTML råi göi l¹i Client. Chó ý r»ng qu¸ tr×nh nµy thùc hiÖn t¹iserver chø kh«ng ph¶i t¹i Client. V× vËy chóng ta kh«ng ph¶i quan t©m tíi viÖcbrowser xö lý c¸c trang Web nh− thÕ nµo. Nh− vËy thùc sù qu¸ tr×nh nµy ®−îc thùchiÖ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ópng−êi ph¸t triÓn øng dông trªn Web x©y dùng c¸c trang Web øng dông nhanhchãng vµ dÔ dµng. ASP lµ mét phÇn tÝch hîp cña c«ng nghÖ c¬ së Active (ActivePlatform), 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
  • 77. http://www.ebook.edu.vn 77triÓn c¶ øng dông Active Desktop(b¶n Client) vµ Active Server (b¶n Server) trongm« h×nh CSDL tÝnh to¸n Client / Server. M« h×nh Active Platform gióp cho ng−êiph¸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¨ngc¶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¨ngph¸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ôngDesktop 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Önriªng. Tuy nhiªn, cã mét vÊn ®Ò n¶y sinh ë ®©y: Mçi mét h·ng cung cÊp l¹i ®ÞnhnghÜ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øcn¨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>
  • 78. 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µ JavaScriptb. Scripting trªn Server: ASP sö dông Scripting trªn Server ®Ó tù ®éng t¹o ra nh÷ng trang tr¶ lêi . Néidung 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étsè 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ªnClient 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ëivË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íibrowse 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Õuchó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«nng÷ 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
  • 79. http://www.ebook.edu.vn 79HTML bëi v× Browser kh«ng nhËn biÕt ®−îc c¸c file ASP. Lý do lµ c¸c file nµy cÇnph¶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¸cfile 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− fileHTML. TÊt c¶ c¸c thÎ cã trong HTML th× ®Òu dïng ®−îc trong ASP. Nh−ng ngoµic¸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Ýnhto¸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¹yMicrosoft 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¸cyªu cÇu vµ ®−îc chuyÓn ®æi thµnh c¸c m· HTML. NÕu trong c¸c Script cã c¸c c©ulÖ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Çnnh− 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 theoth«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íitÝnh qua Textbox vµ option. Ng−êi sö dông còng ®¸nh vµo mét sè tù nhiªn. KhinhË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©ulÖnh script cã thÓ cßn l¹ nh−ng ý nghÜa hoµn toµn râ rµng.
  • 80. 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 øngvíi ho¹t ®éng Submit cña Form <HTML> <HEAD> <TITLE>Example</TITLE>
  • 81. 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øcc¸c yÕu tè kh¸c nhau ®−îc chÌn vµo trang Weba. 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 saveví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µomé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 Scripthoµ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 ®êngdÉ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:TextFileMyFile.txt” --> ‘ ®−êng dÉn vËt lý <!-- #include file=”/Text/MyFile.txt” --> ‘ ®−êng dÉn ¶o
  • 82. http://www.ebook.edu.vn 824.2 ¦u ®iÓm cña viÖc sö dông ASP t¹o Web ®éng4.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ùngmé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Ï ®−îccopy vµo th− môc CGI cña Web Server. ChØ cÇn cã mét chót söa ®æi ch−¬ng tr×nhth× 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ªnb¶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¹olË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Þchchï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 filenµ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Êtc¶ 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Þchb¶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−íid¹ng HTML ®−îc göi vÒ Browser nªn nÕu ng−êi dïng muèn xem m· nguån cñatrang Web th× hä chØ xem ®−îc m· HTML chø kh«ng xem ®−îc m· Script ®· t¹onªn trang Web ®ã. Nh− vËy nÕu sö dông ASP th× NSD kh«ng thÓ biÕt ®−îc thuËtto¸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¸ctrang 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ªnServer, 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Ëptr×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çikhi 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étDatabase Server. §Ó lµm viÖc trªn CSDL nµy, ta cã thÓ nhóng ng«n ng÷ truy vÊnSQL. 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µnhtrªn Server nªn tr¸nh ®−îc ¸ch t¾c ®−êng truyÒn.
  • 83. http://www.ebook.edu.vn 834.3 Cµi ®Æt IIS vµ t¹o th− môc ¶o cho øng dông4.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µnhWindows 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 thamchiÕ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:
  • 84. 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¹nexample. 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Òntruy cËp cho th− môc ¶o. Hai quyÒn Read vµ Run Script lµ cÇn thiÕt ®Ó trang ASPcã 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).
  • 85. 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 ASP4.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¶ov¨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Êuph©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ÖnhScript. 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 trongVisual 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ªnbiÕ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 ®Þnhmé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¸pnh− sau: Dim tªn_biÕn4.4.3 C¸c lÖnh c¬ b¶n cña ASPa. LÖnh g¸n: Có ph¸p: <%<biÕn>=[gi¸ trÞ]%>
  • 86. http://www.ebook.edu.vn 86 LÖnh nµy sÏ n¹p gi¸ trÞ vµo biÕnb. 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éidung 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"
  • 87. http://www.ebook.edu.vn 87 end select %> => KÕt qu¶: Chon 34.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 trongfile 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¸ocho 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)
  • 88. 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 chomé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ôngl¹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Ðpng−ê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òngcung 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ñ
  • 89. 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µoph−¬ng thøc Method. Ngoµi ra cßn cã ®èi t−îng ObjectContext: ®Ó chÊp nhËn hoÆc tõ chèi métgiao t¸c. §èi t−îng nµy ®−îc qu¶n lý bëi MTS vµ cã thÓ ®−îc khëi x−íng nhê métc©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 khigiao 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ÕtlËp, tuy nhiªn sù kiÖn Application_OnStart chØ ®−îc kÝch ho¹t mét lÇn khiWebserver ®−îc khëi ®éng. Mçi mét øng dông chØ cã thÓ cã duy nhÊt mét fileGlobal.asa. C¸c sù kiÖn cña c¸c ®èi t−îng Application vµ Session ®−îc khai b¸o trongfile 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ôcvô 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µyph¶i n»m trong c¸c sù kiÖn cña hai ®èi t−îng Application vµ Session.4.6.2 §èi t−îng Requesta. ý 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 quanträ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öiyª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
  • 90. http://www.ebook.edu.vn 90kh¸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¸cth«ng tin nµy ®−îc m· ho¸ vµ truyÒn ®i cïng víi HTTP headers. ASP cho phÐp lÊyra c¸c th«ng tin nµy b»ng c¸ch sö dông ®èi t−îng Request.b. C¸c thµnh phÇn cña Request: TËp hîp Thuéc tÝnh Ph−¬ng thøc QueryString TotalBytes BinaryRead Form ServerVariables Cookies ClientCertificate Có ph¸p: Request.[TËp hîp](BiÕn)|thuéc tÝnh|ph−¬ng thøc TËp hîp: TËp hîp ý nghÜa ClientCertificate Bao gåm c¸c th«ng tin vÒ certificate cña Client. Cookies §äc th«ng tin tõ mét Cookies ®· cã s½n Form Gi¸ trÞ c¸c thµnh phÇn cña form göi ®Õn tõ Browser (LÊy th«ng tin do user göi ®Õn b»ng ph−¬ng thøc POST) QueryString LÊy gi¸ trÞ cña c¸c biÕn theo sau mét URL (LÊy th«ng tin do user göi ®Õn b»ng ph−¬ng thøc GET) ServerVariables Bao gåm c¸c th«ng tin vÒ Client Browser, Server vµ userc. 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ÝnhMETHOD 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Þ trongtÊt c¶ c¸c control ®Ó x©y dùng thµnh QueryString vµ g¾n vµo URL cña trnag ®−îcyª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 quaCollection 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µoURL, vµ sÏ ®−îc ghi l¹i trong file log khi ®i qua c¸c Server, kh«ng b¶o mËt th«ngtin. 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:
  • 91. http://www.ebook.edu.vn 91 Server (ASP Application) Sö dông QueryString Sö dông Form Collection ®äc DL Collection ®äc DL D÷ liÖu göi víi URL D÷ liÖu göi trong HTTP header METHOD=GET METHOD=POST (Gi¸ trÞ Default) Client (Browser) Form H×nh 4.7 Sù kh¸c nhau gi÷a hai ph−¬ng thøc GET vµ POST. VÝ dô sö dông ph−¬ng thøc Post ®Ó göi d÷ liÖu: Néi dung file1.htm <HTML> <HEAD> </HEAD> <BODY> <form action=“file2.asp" method="POST"> Name:<input type="Text" name="Name" maxlength="20"> <br>Company:<input type="Text" name="Company" maxlength="20"> <br>Position:<input type="Text" name="Position" maxlength="20"> <br>Address:<textarea name="Address" rows="3"></textarea> <br>Phone:<input type="Text" name="Phone" maxlength="20"> <br><input type="Submit" name="Submit" value="Submit"> </form> </BODY> </HTML> Néi dung file2.asp <HTML> <HEAD> </HEAD> <BODY>
  • 92. 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 aWeb 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 webbrowser khi web browser truy cËp Website ®ã. Cookie dïng ®Ó nhËn diÖn khi Webbrowser nµy truy cËp nh÷ng lÇn sau.
  • 93. 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«ngthay ®æ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=DevSitee. 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¸cheader 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.0under 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 ServerVariablesnh− 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Çnth©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>
  • 94. 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 bytes4.6.3 §èi t−îng Response §−îc sö dông ®Ó truy xuÊt c¸c ®¸p øng mµ server t¹o ra ®Ó göi vÒ cho user TËp hîp Thuéc tÝnh Ph−¬ng thøc Cookies Buffer AddHeader Charset AppendToLog ContentType BinaryWrite Expires Clear ExpiresAbsolute End Status Flush Redirect Write Có ph¸p: Response. tËp hîp|thuéc tÝnh|ph−¬ng thøca. TËp hîp: Cookies: X¸c ®Þnh gi¸ trÞ cña cookie göi cho browser . C¸c thµnh phÇn cñatË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.
  • 95. 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Õtm· 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, Errorin Processing Clear: Response.Clear Xãa toµn bé output HTML ®ang ë trong buffer, kh«ng xãa header, chØ xãaphÇn th©n (body). NÕu buffer kh«ng ®−îc thiÕt ®Æt sÏ g©y ra lçi. Ph¶i ®ÆtResponse.Buffer=True (mÆc ®Þnh trong phiªn b¶n 3.0)
  • 96. 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>"%>
  • 97. http://www.ebook.edu.vn 97 KÕt qu¶: Hello Worldc. 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Ötvµ 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" %>
  • 98. 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 %>
  • 99. 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 Forbidden4.6.4 §èi t−îng Server Cho phÐp truy nhËp tíi c¸c ph−¬ng thøc vµ thuéc tÝnh trªn m¸y chñ. TËp hîp Thuéc tÝnh Ph−¬ng thøc CreateObject ScripTimeOut HTMLEncode MapPath URLEncode Có ph¸p: Server.Thuéc tÝnh|Ph−¬ng thøca. 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Þ chothué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 khiscript 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 %>
  • 100. http://www.ebook.edu.vn 100b. 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Ýnhcñ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" %>
  • 101. 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Êpth«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 ASCIIbÊt kỳ. VÝ dô, ®iÒu nµy cho phÐp hiÓn thÞ thÎ HTML mµ kh«ng xö lý nã nh− nh÷ngthÎ 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µykh«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("testtest.asp") %>
  • 102. 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:VANBANG2ASPExampletest.asp The path of the file1 is d:inetpubwwwroottest.asp The path of the file2 is C:VANBANG2ASPExampletesttest.asp The path of the file3 is d:inetpubwwwroot 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¹otrong 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.
  • 103. http://www.ebook.edu.vn 103 VÝ dô: <% Response.Write Server.URLEncode("http://www.issi.net") %> KÕt qu¶: http%3A%2F%2Fwww%2Eissi%2Fnet4.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 ¶ox¸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 øngdông. §èi t−îng Application ®−îc b¾t ®Çu khi cã mét yªu cÇu ®Çu tiªn mét trangweb bÊt kú tõ th− môc ¶o t¹i Web server vµ tån t¹i cho ®Õn khi Webserver ngõngho¹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−îngApplication. 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ô:
  • 104. 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 %>
  • 105. http://www.ebook.edu.vn 105 KÕt qu¶: MyInfo MyConnection MyADRotb. 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ã haisù 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."
  • 106. 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ïngdo ®ã ®Ó ®¶m b¶o nh÷ng ng−êi dïng ®ã kh«ng thÓ cïng mét lóc thay ®æi néi dungcñ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µmviÖ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Êtkhi ng−êi dïng truy cËp c¸c trang Web kh¸c trong øng dông. Thay vµo ®ã c¸c biÕnnµ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ªnlµ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µmviÖ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
  • 107. 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 MyADRotb. 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>
  • 108. http://www.ebook.edu.vn 108c. 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 trongsuèt mét phiªn lµm viÖc.4.7 C©u hái vµ bµi tËp ch−¬ng 44.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Þ ramµn h×nh ngµy hiÖn hµnh trong tuÇn b»ng tiÕng ViÖt.
  • 109. 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µnh×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åihiÓ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¸ncé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 chophÐ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−ícvµ 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ñ.
  • 110. http://www.ebook.edu.vn 110Ch−¬ng 5 KÕt nèi c¬ së d÷ liÖu trong lËp tr×nh Web ®éng víi ASP5.1 Kh¸i niÖm vÒ ADO ActiveX Data Object lµ líp ®èi t−îng COM (Compenent Object Model) tËptrung 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Ðpgiao tiÕp th«ng qua OLEDB. M« h×nh kiÕn tróc cña ADO t−¬ng t¸c gi÷a øng dông vµ nguån d÷ liÖu: VC++ VB Application Script Java ADO OLEDB E-mail CSDL File Data Store H×nh 5.1 M« h×nh kiÕn tróc cña ADO.5.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider) Trong b−íc lËp tr×nh, ch−¬ng tr×nh viÕt ra chÝnh lµ tr×nh tiªu thô d÷ liÖu bëinã 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 chophÐp truy xuÊt vµo nguån d÷ liÖu theo c¸ch ®Æc tr−ng cña chóng. Provider cho phÐpgiao tiÕp gi÷a nguån d÷ liÖu vµ tÇng ®iÒu khiÓn OLEDB. Vµ ADO chØ trao ®æi víinguå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Öccñ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. Microsoftcung 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
  • 111. http://www.ebook.edu.vn 1115.3 M« h×nh ®èi t−îng ADO5.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«ngqua Connection chØ cÇn chØ ®Þnh tr×nh cung cÊp OLEDB Provider sÏ dïng ®Ó tiÕpcËn d÷ liÖu. C¸c th«ng tin kÕt nèi bæ sung kh¸c nh− username, password, servername,.. 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¶idï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−îngConnection 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ªndô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 transactionnh− 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. ChophÐp b¹n chuyÓn tham sè vµo c¸c lÖnh thùc thi SQL. Tham sè cã thÓ chØ ®Þnh kiÓuhoÆc gi¸ trÞ t−êng minh. C¸c tham sè cã thÓ nhËn trÞ tr¶ vÒ sau khi thùcthi..Command cã thÓ dïng cho c¶ 2 môc ®Ých: thùc thi c©u lÖnh SQL kh«ng cÇnnhËn kÕt qu¶ tr¶ vÒ nh− Insert, Update, Delete, Procedure Store, hoÆc thùc thi c¸clÖ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Ötqua 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¸ctr−êng trong b¶n ghi th«ng qua ®èi t−îng Fields5.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 ConnectionbiÕ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 choADO 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 SourceName-DSN) ®Ó ®Þnh vÞ vµ cÊu h×nh nguån d÷ liÖu t−ong thÝch chuÈn ODBC. VíiODBC b¹n cã thÓ lùa chän c¸c kiÓu DNS ®Ó t¹o, ®ã lµ: User, System hoÆc File. C¸cDNS 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Ó truyxuÊt mét CSDL, trong khi ®ã User DNS h¹n chÕ ®èi víi mçi ng−êi sö dông ®¨ngnhË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»ngviÖc copy c¸c tÖp DSN. Chóng ta cã thÓ t¹o ra DSN b»ng c¸ch: • Vµo trong StartControl Panel, click chuét vµo biÓu t−îng ODBC, chän
  • 112. 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 FilesMicrosoft Visual StudioVB98BIBLIO.MDB; Persist Security Info=False” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr5.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 FilesMicrosoft Visual StudioVB98BIBLIO.MDB;” set conn=Server.CreateObject(“ADODB.Connection”) conn.open connStr5.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 ODBCtheo 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 ODBC5.5 Sö dông ®èi t−îng RecordSet5.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, tath−êng kÕt hîp ®èi t−îng Connection vµo c©u lÖnh SQL Select trong ph−¬ng thøcOpen cña RecordSet: rs.open SQLCommand, Conn5.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
  • 113. 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>” Next5.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ôngthué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 ®ÒWhere5.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©ntrang: 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è choRecordSet 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»ngadOpenForwardOnly(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. Tal−u l¹i vÞ trÝ hiÖn hµnh cña trang d÷ liÖu th«ng qua gi¸ trÞ chøa trong thÎ <inputhidden>. 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
  • 114. 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){
  • 115. http://www.ebook.edu.vn 115 viewFrm.page.value= page; viewFrm.submit(); } </script>5.6 HiÖu chØnh c¸c b¶n ghi5.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øcRecordSet 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.delete5.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 sqlStr5.7 Sö dông ®èi t−îng Command5.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 & “’”
  • 116. 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ÖnhSelect 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ÖuAccounts, 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 cmdTable5.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Öusao cho cã thÓ thÓ hiÖn vµ cung cÊp ®−îc th«ng tin cho kh¸ch hµng. Chñ yÕu giíithiÖ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)
  • 117. 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)
  • 118. 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)
  • 119. http://www.ebook.edu.vn 119 Tμi liÖu tham kh¶o1. §ç 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
  • 120. http://www.ebook.edu.vn 120 Môc lôcLêi nãi ®Çu ..........................................................................................................................1Ch−¬ng 1 Giíi thiÖu chung.....................................................................................21.1 M¹ng m¸y tÝnh .............................................................................................................21.1.1 §Þnh nghÜa..................................................................................................................21.1.2 Ph©n lo¹i ....................................................................................................................21.2 Internet..........................................................................................................................31.3 C¸c giao thøc Internet .................................................................................................41.3.1 Giao thøc ®iÒu khiÓn phiªn truyÒn............................................................................41.3.2 Giao thøc Internet......................................................................................................41.3.3 Giao thøc gam d÷ liÖu ng−êi dïng............................................................................51.3.4 Giao thøc ph©n gi¶i ®Þa chØ .......................................................................................51.3.5 Giao thøc hÖ thèng tªn miÒn .....................................................................................51.3.6 Giao thøc chuyÓn th− ®¬n gi¶n .................................................................................61.3.7 Giao thøc truyÒn tËp tin.............................................................................................61.3.8 HTTP - HyperText Transfer Protocol.......................................................................61.4 §Þa chØ IP ......................................................................................................................61.5 C¸c kh¸i niÖm kh¸c......................................................................................................71.5.1 URL.............................................................................................................................71.5.2 Hyperlink (siªu liªn kÕt) ............................................................................................71.5.3 Web Browser (tr×nh duyÖt web) .................................................................................81.5.4 Web Server (m¸y chñ Web) .......................................................................................81.5.5 Web Site ......................................................................................................................91.5.6 World Wide Web.........................................................................................................91.5.7 Ph©n biÖt Inetrnet vµ WWW......................................................................................91.5.8 Web page ....................................................................................................................91.6 C¸ch thøc tæ chøc vµ x©y dùng mét Web Site...........................................................91.7 Ph©n lo¹i Web ............................................................................................................101.7.1 Static pages (Web tÜnh ):..........................................................................................101.7.2 Form pages (MÉu biÓu):..........................................................................................101.7.3 Dynamic Web (Web ®éng) ......................................................................................101.8 C©u hái vµ bµi tËp ch−¬ng 1......................................................................................10Ch−¬ng 2 LËp tr×nh Web víi ng«n ng÷ ®¸nh dÊu siªu v¨n b¶n......112.1 Kh¸i niÖm ng«n ng÷ HTML .....................................................................................112.2 LËp tr×nh web víi ng«n ng÷ HTML.........................................................................112.2.1 C¸c thÎ ®Þnh d¹ng cÊu tróc cña HTML..................................................................112.2.2 C¸c thÎ ®Þnh d¹ng khèi............................................................................................132.2.3 C¸c thÎ ®Þnh d¹ng danh s¸ch ..................................................................................142.2.4 C¸c thÎ ®Þnh d¹ng ký tù ...........................................................................................152.2.5 C¸c thÎ chÌn ©m thanh, h×nh ¶nh...........................................................................212.2.6 ChÌn b¶ng ................................................................................................................252.2.7 Sö dông Khung – Frame .........................................................................................262.2.8 FORMS.....................................................................................................................302.3 DHTML (Dynamic HTML) ......................................................................................332.3.1 §Þnh nghÜa: ..............................................................................................................332.3.2 §Æc ®iÓm...................................................................................................................33
  • 121. http://www.ebook.edu.vn 1212.3.3 Mét sè hiÖu øng DHTML ........................................................................................342.4 C©u hái vµ bµi tËp ch−¬ng 2......................................................................................35Ch−¬ng 3 Ng«n ng÷ kÞch b¶n trong lËp tr×nh Web..............................373.1 JavaScript ...................................................................................................................373.1.1 Tæng quan ................................................................................................................373.1.2 Sö dông JavaScript ..................................................................................................393.1.3 C¸c kiÓu d÷ liÖu trong JavaScript:..........................................................................433.1.4 T¹o biÕn trong JavaScript: ......................................................................................433.1.5 Lµm viÖc víi biÕn vµ biÓu thøc:...............................................................................443.1.6 CÊu tróc ®iÒu kiÖn if – else ......................................................................................463.1.7 Hµm vµ dèi t−îng.....................................................................................................493.1.8 T¹o ®èi t−îng trong JavaScript...............................................................................523.1.9 Sù kiÖn trong JavaScript .........................................................................................573.1.10 Sö dông vßng lÆp trong JavaScript .......................................................................613.1.11 Sö dông ®èi t−îng Windows..................................................................................623.1.12 Lµm viÖc víi status bar ..........................................................................................643.1.13 Më vµ ®ãng c¸c cöa sæ...........................................................................................643.1.14 Sö dông ®èi t−îng string .......................................................................................663.2 VBScript......................................................................................................................663.2.1 VBScript lµ g×? .........................................................................................................663.2.2 BiÕn vµ ph¹m vi biÕn................................................................................................663.2.3 C¸c kiÓu d÷ liÖu........................................................................................................683.3 C©u hái vµ bµi tËp ch−¬ng 3......................................................................................753.3.1 C©u hái «n tËp ..........................................................................................................753.3.2 Bµi tËp lËp tr×nh víi c¸c ng«n ng÷ kÞch b¶n ..........................................................75Ch−¬ng 4 LËp tr×nh Web ®éng víi c«ng nghÖ ASP .................................764.1 Mét sè kh¸i niÖm c¬ b¶n vÒ ASP ..............................................................................764.1.1 Kh¸i niÖm Web ®éng................................................................................................764.1.2 ASP lµ g×? .................................................................................................................764.1.3 Scripting? .................................................................................................................774.1.4 T¹o vµ xem mét file ASP .........................................................................................784.1.5 Server-side Includes: ...............................................................................................814.2 ¦u ®iÓm cña viÖc sö dông ASP t¹o Web ®éng ........................................................824.2.1 §¬n gi¶n, dÔ häc vµ hiÖu qu¶:.................................................................................824.2.2 B¶o mËt ®−îc m∙: ....................................................................................................824.2.3 B¶o tr× dÔ dµng:........................................................................................................824.3 Cµi ®Æt IIS vµ t¹o th− môc ¶o cho øng dông...........................................................834.3.1 1. Cµi ®Æt IIS ............................................................................................................834.3.2 T¹o th− môc ¶o: .......................................................................................................834.4 CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP .............................................................854.4.1 C¸c thµnh phÇn ®−îc dïng trong trang ASP .........................................................854.4.2 BiÕn trong ASP.........................................................................................................854.4.3 C¸c lÖnh c¬ b¶n cña ASP ........................................................................................854.4.4 Vßng lÆp For: ...........................................................................................................874.4.5 C©u lÖnh lÆp kh«ng x¸c ®Þnh: .................................................................................874.5 X©y dùng c¸c hµm vµ thñ tôc trong ASP: ...............................................................874.6 Sö dông c¸c ®èi t−îng cña ASP ®Ó trao ®æi th«ng tin gi÷a Client vµ Server.......88
  • 122. http://www.ebook.edu.vn 1224.6.1 Giíi thiÖu c¸c ®èi t−îng chÝnh cña ASP: ...............................................................884.6.2 §èi t−îng Request....................................................................................................894.6.3 §èi t−îng Response .................................................................................................944.6.4 §èi t−îng Server ......................................................................................................994.6.5 §èi t−îng Application............................................................................................1034.6.6 §èi t−îng Session ..................................................................................................1064.7 C©u hái vµ bµi tËp ch−¬ng 4....................................................................................1084.7.1 C©u hái «n tËp ........................................................................................................1084.7.2 Bµi tËp vÒ c¸c cÊu tróc ®iÒu khiÓn vµ vßng lÆp. ...................................................1084.7.3Bµi tËp vÒ c¸c ®èi t−îng..........................................................................................109Ch−¬ng 5 KÕt nèi cSDL trong lËp tr×nh Web ®éng víi ASP............1105.1 Kh¸i niÖm vÒ ADO ...................................................................................................1105.2 Tr×nh tiªu thô (consumer) vµ tr×nh cung cÊp (provider) .....................................1105.3 M« h×nh ®èi t−îng ADO..........................................................................................1115.3.1 §èi t−îng kÕt nèi (Connection).............................................................................1115.3.2 §èi t−îng Command: ............................................................................................1115.3.3 §èi t−îng RecordSet:.............................................................................................1115.4 KÕt nèi víi nguån d÷ liÖu ........................................................................................1115.4.1 T¹o mét ODBC DSN..............................................................................................1115.4.2 C¬ së d÷ liÖu MS Access........................................................................................1125.4.3 C¬ së d÷ liÖu MS Access th«ng qua tr×nh ®iÒu khiÓn ODBC ..............................1125.4.4 C¬ së d÷ liÖu MS SQL Server................................................................................1125.5 Sö dông ®èi t−îng RecordSet .................................................................................1125.5.1 T¹o RecordSet:.......................................................................................................1125.5.2 DuyÖt qua c¸c b¶n ghi vµ truy xuÊt c¸c tr−êng cña b¶n ghi:..............................1125.5.3 Läc qua c¸c b¶n ghi trong RecordSet ...................................................................1135.5.4 Ph©n trang víi ®èi t−îng RecordSet:....................................................................1135.6 HiÖu chØnh c¸c b¶n ghi ............................................................................................1155.6.1 HiÖu chØnh c¸c b¶n ghi dùa vµo RecordSet: ........................................................1155.6.2 HiÖu chØnh c¸c b¶n ghi b»ng c©u lÖnh SQL víi ®èi t−îng connection ..............1155.7 Sö dông ®èi t−îng Command .................................................................................1155.7.1 T¹o ®èi t−îng Command:......................................................................................1155.7.2 Sö dông ®èi t−îng Command: ..............................................................................1155.8 C©u hái vµ bµi tËp ch−¬ng 5....................................................................................116Tµi liÖu tham kh¶o .........................................................................................................119Môc lôc............................................................................................................................120