Bảy bước thiết kế trang web ấn tượng và hiệu quả

BY BƯỚC THIT KTRANG WEB N TƯỢNG VÀ HIU QUẢ  
Mc dù vic thiết kế trang web đòi hi phi có nhiu khnăng vmthut, tuy nhiên vn có thể  
đưa ra mt quá trình thiết kế để có thgiúp bn tăng khnăng to ra các trang web hiu qun  
tượng. Có thnhiu người scho rng vic đưa ra các bước trong quá trình thiết kế slàm mt đi  
quá trình sáng to, điu này có lẽ đúng đối vi nhng nhà thiết kế gii, nhng người có quá trình  
thiết kế và sáng to ca riêng h. Nhưng vi nhng người không được đào to bài bn và thc hành  
nhiu thì vic nghiên cu xem người khác thiết kế ng dng các bước đó như thế nào có thsẽ  
giúp ích rt nhiu cho h.  
Bước 1 : Phân tích người dùng và tự đánh giá chính mình  
Nếu bn không biết người dùng dự định là ai, thì tt cvic thiết kế, cho dù có được thc hin kĩ  
lưỡng đến đâu cũng chdn đến tht bi. Bn cn phi biết các thông tin vngười dùng như trình  
độ, sthích, các lĩnh vc quan tâm, cu hình trang thiết b, phn mm, … để tránh đưa ra mt trang  
web vô tích s.  
Bn cũng cn phi phân tích các mi quan tâm và khnăng ca chính bn. Bn có khnăng thiết kế  
các trang web có hiu qun tượng không? Bn có đủ trình độ chuyên môn để to ra được các  
trang có lượng thông tin phong phú da trên các tài nguyên sn có không?  
Sau đây là mt skĩ thut giúp cho bước này :  
1. Mô tmc tiêu: Hãy xác định chính xác mc tiêu ca trang này mt cách ngn gn. Mc  
tiêu cn được mô tmt cách súc tích, rõ ràng, không quá rườm rà, chi tiết.  
2. Xác định vn đề gii quyết: Tmô tmc tiêu bước trên, nêu ra các vn đề cn gii quyết  
để đạt được mc tiêu, tóm tt phương pháp gii quyết, ...  
3. Xác định người dùng: Lit kê các đặc đim ca khách hàng như tui tác, nghnghip, gii  
tính, thu nhp, trình độ, vùng cư trú, cu hình trang thiết b, phn mm, … vào mt danh  
sách để phân tích và xlí sau này.  
4. Lit kê các ngun tài nguyên: Bn có sn nhng gì để hoàn thành công vic cvmt trang  
thiết b, công cphn mm, … và cvtrình độ chuyên môn ? Bn có thlàm được nhng  
gì, và bn snhgiúp đỡ nhng gì ?  
5. Xây dng bng tiến độ thc hin: Xác định thi gian cn để hoàn thành sn phm vi các tài  
nguyên sn có, thi gian cn để thc hin tng bước ca quá trình, …  
Bước 2 : Thiết kế các chc năng và cu trúc trang  
Có thlúc này bn rt mun ngi ngay vào máy và bt tay vào vic xây dng trang web nhưng  
đừng vi! Hãy dành thi gian cho vic thiết kế các chc năng và cu trúc ca các trang chính, vì  
PDF processed with CutePDF evaluation edition www.CutePDF.com  
đây là bước quan trng nht trong quá trình thiết kế. Sau đây là mt shướng dn để thc hin  
bước này :  
1. Chn cách làm vic sao cho có thphác tho thiết kế mt cách thoi mái: Bn có thdùng  
bút để vsơ đồ trên giy, hay có thdùng các chương trình máy tính để phác tho. Tuy  
nhiên vic sdng các chương trình máy tính có thslàm hn chế năng sut làm vic vì  
các công ccó sn thường bgii hn.  
2. Vic thiết kế nên đi ttru tượng đến cth: Vic đưa ra các chi tiết ngay từ đầu có thsẽ  
làm mt đi tng quan ca vn đề. Phi xác định khung ca chc năng trước ri sau đó mi  
la chn ni dung để đin vào.  
Bước 3 : Tìm cách trình bày n tượng và hiu quả  
Ngay cmt cu trúc tt nht cũng stht bi nếu vic trình bày thông tin không trc quan và n  
tượng. Mt cách trình bày có n tượng và hiu quả được đánh giá không chbng cách trông nó như  
thế nào mà còn xem nó đóng góp như thế nào vào quá trình đạt mc tiêu ban đầu.  
Sau đây là mt scách để tìm ra ngun cung cp cho các trình bày tt:  
1. Đưa ra càng nhiu cách trình bày tkhnăng ca chính bn. Luôn quan sát và sưu tp các  
trình bày tt đã đot gii, đã được nhiu người công nhn, hay các trình bày mà bn thích, ...  
2. Luôn cp nht các thay đổi vcông nghweb. Bn nên luôn có các tài liu mi nht về  
HTML, cũng như các thông tin vcác dng tp tin và các thiết bmi được htrbi các  
nhà sn xut.  
3. Luôn ghi nh: Đối tượng đánh giá cách trình bày là người dùng chkhông phi bn.  
4. Thcàng nhiu gii pháp càng tt và hãy ghi nhn các nhn xét, phn hi ca nhng người  
cng tác để hoàn chnh thiết kế.  
Bước 4 : Xây dng ni dung  
Là mt người thiết kế trang web, bn có thcó hoc không chu trách nhim to ni dung (như văn  
bn, hình nh, âm thanh, video, ..). Vì vic to ni dung thường không thể đợi đến lúc thiết kế hình  
thành, bn có thtiến hành các bước sau để đảm bo rng ni dung và thiết kế ca bn là tương  
thích vi nhau:  
1. Sa đổi, hiu chnh các ni dung đã có hoc các ni dung mà bn có quyn sa.  
2. Xin htrvà cvn ca nhng chuyên gia đối vi các chủ đề ngoài lĩnh vc chuyên môn  
ca bn.  
3. Thiết lp đường dây liên lc gia bn (người thiết kế) và nhng người to ni dung. Đưa ra  
các qui ước, các đặc tcho ni dung như môi trường htr, định dng tp tin, cách nén, qui  
ước đặt tên tâp tin, …  
4. Đảm bo càng nhiu thông tin càng tt. Cn phi có skết hp cht chgia văn bn và đồ  
ha, hình nh, âm thanh trong ni dung.  
5. To mt cu trúc cây thư mc hp lí cho ni dung và thường xuyên sao lưu để đảm bo an  
toàn.  
Bước 5 : Thiết kế và kim tra khung trang web  
Trong khi đang tiến hành xây dng ni dung, đây là lúc kim tra các chc năng và cu trúc được  
xây dng trong bước 2 xem nó hot động như thế nào. Đây là bước mà bn chuyn các mô tvề  
chc năng, vthiết kế ban đầu sang mt thhin là các trang web cth. Sau đây là mt shướng  
dn để thc hin bước này :  
1. Liên lc vi người qun trserver để xem vic tchc các tp tin như thế nào và các đặc tả  
nào có sn. Cho người qun trbiết các loi tp tin nào mà bn đang sdng chưa được hỗ  
tr.  
2. Sdng các liên kết trong các trang ti các cu trúc thư mc tương tnhư cu trúc thư mc  
trên server.  
3. Ghi nhn các nh thường được dùng trong vic truy xut các trang thông thường để đưa vào  
cache. Bng cách này bn có thtăng tc độ truy xut các trang.  
4. Thnghim trên server để kim tra xem nó hot động đúng như thiết kế hay không.  
Bước 6 : Đưa ni dung vào  
Trong trường hp tt nht, các khung dành cho văn bn và đồ ha sẽ được đin vào bng ni dung  
thc sca nó mt cách ddàng và ăn khp. Tuy nhiên điu này hiếm khi xy ra vì mt l, hình  
nh và văn bn đưa vào có thkhông va vi khung thiết kế dành cho nó như dự định ban đầu. Cn  
phi thêm mt sthao tác na mi có ththc hin xong chuyn này.  
Để vic đưa ni dung vào tht sự đơn gin, ăn khp, cn phi gimi liên lc tt gia các thành  
viên liên quan như người thiết kế, người minh ha, người viết ni dung, người biên tp, và người  
qun trserver, … Sau đây là mt shướng dn cho vic thc hin tt bước này :  
1. Trước tiên hãy cho các trang hot động cc b, riêng lẻ để dkim tra, hiu chnh, đánh giá,  
...  
2. Làm vic theo module, nghĩa là cho nhóm các trang liên quan nhau hot động trôi chy  
trước khi mrng ra.  
3. Đừng ngi thay đổi mt quyết định thiết kế trước đó. Có thbn đã giả định sai, hoc là  
công nghệ đã thay đổi vào lúc đưa ni dung vào, …  
Bước 7 : Kim tra và đánh giá  
Các trang hiu qunht là kết quca vic thiết kế đánh giá cn thn. Mt web site trgiá na  
triu đô la có thđến 70% tng chi phí dành cho vic thiết kế đánh giá. Sau đây là mt số  
bước để thc hin vic này:  
1. Kim tra hot động ca các liên kết ni bvà các ngun tài nguyên.  
2. Kim tra độ chính xác ca các liên kết ngoi. Không có gì thơn là các liên kết vi các  
trang bên ngoài không còn tn ti na, hoc là được chuyn đến nơi khác, hoc là không còn  
phù hp na.  
3. Thcác trang vi nhiu trình duyt khác nhau. Thc hin điu này để kim tra tính tương  
thích ca trang vi các trình duyt, xem ththiết kế trang đã tn dng hết các htrca  
trình duyt chưa, …  
4. Thcác trang bng nhiu cách kết ni khác nhau. Thxem vic hin thcác trang có nh  
hưởng như thế nào nếu kết ni bng mng cc b, đường kết ni tc độ cao, đường đin  
thoi, …  
5. Thcác trang tình trng mc độ truy cp cao. Nếu server ca bn chy tt trong các giờ  
cao đim thì nhng gikhác có thchp nhn được.  
6. Thcác trang vi nhiu dng người dùng khác nhau. Nếu trang ca bn đề cp vcác mi  
quan tâm chung thì hãy tranh ththtrang web vi nhng đồng s, bn bè, … Hãy ghi chú  
và quan sát. Có thbn skhông cn thay đổi phiên bn ca trang web nhưng bn scn các  
thông tin vì trang liên tc được cp nht hóa.  
Trên đây là các bước để giúp bn có thto các trang web tt. Chúc các bn thành công.  
Đình Duy  
LP TRÌNH WEB ASP VI TING VIT UNICODE  
Đình Duy  
Khoa CNTT - ĐHKHTN Tp. HCM  
08.2002  
1. Mt skhái nim căn bn vbiu din kí tbên trong máy tính  
1.1. Khái nim về đim mã, đơn vmã, bng mã  
Vmt bn cht, máy tính chlàm vic vi các con s, do đó để biu din các kí ttrên máy tính cn phi  
có mt qui ước nht quán gia các kí tcn biu din và các con stương ng mà máy tính xlí. Qui ước  
này được thhin qua các bước sau:  
-
-
-
Chn tp các kí tcn mã hóa (character set).  
Gán cho mi kí tcn mã hóa mt giá trnguyên không âm, gi là đim mã (code point).  
Chuyn các đim mã thành dãy các đơn vmã (code units) để cho phc vcho vic lưu trvà mã  
hóa. Mt đơn vmã là mt đơn vca bnh, có thlà 8, 16, hay 32 bit. Các đim mã không nht  
thiết phi có cùng số đơn vmã.  
Tp hp nhng đim mã ca mt tp các kí tự được gi là mt trang mã (code page) hay còn gi là bng  
mã hay bmã. Như vy khi nói vmt bng mã, chúng ta quan tâm đến hai điu chính, slượng các kí tự  
được mã hóa, và cách mã hóa chúng thành các đơn vmã.  
Ly ví dbng mã ASCII, tp kí tcn mã hóa có 128 kí tbao gm các kí ttiếng Anh, kí ts, kí ttin  
tAnh, Mvà các kí tự điu khin hthng ngoi vi. Các đim mã có giá trnm trong khong t0-127. Mi  
đim mã được mã hóa bng đúng mt đơn vmã 8 bit, có nghĩa là đúng mt byte.  
Vic quyết định chn cách mã hóa như thế nào squyết định slượng kí tự được mã hóa. Ví d, nếu chn  
cách mã hóa các đim mã bng đúng mt đơn vmã 8-bit thì slượng đim mã ca mt bng mã (tm gi  
là bng mã 8 bit) chcó thti đa là 256.  
Do bng mã ASCII không đủ để biu din các kí tca các ngôn ngkhác, ví dnhư tiếng Vit, nên  
Microsoft đã ni rng bng mã ASCII bng cách sdng 128 đim mã có giá trt128-255 để mã hóa cho  
các kí tngoài ASCII này. Tuy nhiên do chcó 128 đim mã, trong khi slượng các kí tca các ngôn ngữ  
khác nhiu hơn, nên Microsoft đã to ra nhiu bng mã khác nhau cho tng loi ngôn ng[1]. Ví d:  
code page 1250  
1251  
1252  
1253  
1254  
1258  
etc.,  
upper  
128  
Eastern Europe Cyrillic  
West Euro Greek  
ANSI  
Turkish  
Vietnamese etc.,  
lower  
128  
ASCII  
ASCII  
ASCII  
ASCII  
ASCII  
ASCII  
etc.,  
Tuy nhiên trong tng bng mã này, không phi tt ccác kí tca mt ngôn ngữ đều có trong bng mã.  
Hay nói chính xác hơn là không phi tt ccác kí tự đều được biu din bng duy nht mt đim mã. Ly ví  
dtiếng Vit chúng ta có 134 kí tthp t28 chcái và 5 du thanh. Do chcó 128 đim mã nên bng  
mã windows-1258 dành cho tiếng Vit biu din mt skí tthành hai đim mã liên tiếp, mt đim mã dành  
cho kí tcơ svà mt đim mã dành cho du thanh. Ví d: kí tếđược biu din bng hai đim mã  
1
tương ng vi các kí tê và kí tdu sc: ế = ê +  
́
. Cách biu din như vy được gi là cách biu din  
tách ri (decomposed) mà thut ngchúng ta hay gi là thp.  
Bng mã TCVN3-ABC dùng 134 đim mã để biu din hết các kí ttiếng Vit, chính điu này đã dn đến  
phi sdng mt số đim mã ca bng mã ASCII. Đây chính là lí do mà các trang web sdng bng mã  
này không hin thị được kí tự ư trong các trình duyt Internet Explorer 5.0 trlên. Cách biu din như vy  
được gi là cách biu din kết hp sn (precomposed) mà thut ngchúng ta hay gi là dng sn.  
1.2. Bng mã Unicode  
Vmt bn cht các bng mã trên ca Windows là bng mã 8-bit, nghĩa là mi đim mã được mã hóa bng  
đúng mt đơn vmã 8-bit. Chính điu này đã gii hn slượng các các kí tự được mã chlà 256. Do đó  
trong mt văn bn không thcùng hin thnhiu kí tca các ngôn ngkhác nhau được.  
Unicode ra đời nhm thng nht chung các kí tca mi ngôn ngtrong mt bng mã duy nht [2]. Hai vn  
đề nên lưu ý khi đề cp đến thut ngUnicode đó là:  
-
Tp kí tmà Unicode biu din: ở đây mun nói đến tp kí tvà cách ánh xcác kí tbng các  
đim mã tương ng.  
-
Cách mã hóa các đim mã thành các đơn vmã.  
Unicode dùng 16 bit để biu din các đim mã, do đó nó có thbiu din được đến 65,536 kí tđim mã  
nm trong khong t0-65,535. Do vy vi Unicode người ta có thbiu din được hu hết các kí tca  
các ngôn ng.  
Cách đơn gin nht để mã hóa các kí tUnicode là biu din mi đim mã bng đúng mt đơn vmã 16-bit.  
Đây chính là cách mã hóa nguyên thy ca Unicode trong phiên bn 2.0 được ISO/IEC chun hóa thành  
ISO/IEC 10646 hay còn gi là UCS-2. Tuy nhiên, để tương thích vi các hthng xlí trước khi Unicode ra  
đời cũng như ti ưu hóa trong quá trình lưu trvà truyn dliu, người ta dùng các cách khác nhau để mã  
hóa các đim mã thành các đơn vmã. Mi cách mã hóa như vy được gi là mt dng biến đổi ca  
Unicode (UTF – Unicode Transformation Format). Thông dng nht hin nay là UTF-8 và UTF-16 dùng dãy  
các đơn vmã có độ dài khác nhau để mã hóa các đim mã. UTF-8 dùng 1 đến 4 đơn vmã 8-bit trong khi  
UTF-16 dùng 1 đến 2 đơn vmã 16-bit để mã hóa. Ví dsau minh ha cách mã hóa ca UTF-8:  
-
-
-
-
128 kí tự đầu tiên ca Unicode từ đim mã U+0000 đến U+007F, được mã hóa thành 1 byte.  
Từ đim mã U+0080 đến U+07FF, được mã hóa thành 2 byte.  
Từ đim mã U+0800 đến U+FFFF, được mã hóa thành 3 byte.  
Từ đim mã U+0800 đến U+FFFF, được mã hóa thành 4 byte.  
Như vy khi đề cp đến Unicode trong lp trình, cn phi xác định rõ chúng ta dùng bng mã Unicode theo  
dng biến đổi nào: UCS-2, UTF-8, hay UTF-16, … UCS-2 được dùng trong các hqun trcơ sdliu  
như SQL Server 7.0/2000, Microsoft Access 2000, UTF-8 thường được dùng trong các ng dng web, trong  
khi UTF-16 li được dùng trong các hthng như Windows 2000/XP, Java, …  
2. Lp trình web vi tiếng Vit Unicode  
2.1. Chỉ định bng mã dùng trong trang web  
Khi mt trang web được server chuyn xung cho client, trình duyt sdùng thông tin vbng mã mà trang  
web đó sdng để chuyn dãy các byte trong tài liu đó thành các kí ttương ng để hin thlên màn  
hình. Ngoài ra, mt khi dliu trong các FORM được gi đi sau khi người dùng submit, trình duyt cũng sẽ  
căn cvào bng mã này để chuyn đổi dliu khi truyn đi. Ví d, nếu trang web được chỉ định dùng bng  
2
mã windows-1252 thì khi FORM được submit, dliu sẽ được mã hóa theo bng mã này cho dù trước đó  
trong các hp điu khin ca FORM, dliu được gõ dưới dng Unicode [3].  
Vic chỉ định bng mã có vai trò rt quan trng trong vic hin thị đúng ni dung mà người thiết kế mong  
mun, bi vì nếu không chỉ định bng mã được dùng trong trang web hin hành mt cách rõ ràng, trình  
duyt ssdng bng mã mc định. Ví d, nếu dliu chuyn đến cho trang web là E1 BB 81, nếu chỉ  
định bng mã là UTF-8 thì 3 byte này chính là biu din mã ca kí t” trong khi nếu hthng dùng bng  
mã mc định, ví dnhư windows-1252, thì 3 byte này li được xem như là biu din 3 kí tkhác nhau và sẽ  
được hin thlà “á» ”.  
Để chỉ định bng mã mà trang web hin hành sdng, ta dùng tag META vi thuc tính HTTP-EQUIV được  
gán là Content-Type, và chỉ định tên ca bng mã được dùng trong thuc tính CONTENT (Thông tin vcác  
bng mã được dùng trên Windows có thxem ti [4]). Trong ví dsau, tag META được dùng để chỉ định  
bng mã windows-1252 cho mt trang web:  
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=windows-1252">  
Để yêu cu trình duyt sdng mt bng mã cho toàn btrang web, ta phi đặt tag META này trước tag  
BODY. Thông thường là đặt tag META này trong tag HEAD như ví dsau:  
<HTML>  
<HEAD>  
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=windows-1252">  
<TITLE>New Page 1</TITLE>  
</HEAD>  
<BODY>  
</BODY>  
</HTML>  
Trong trường hp bng mã được chỉ định không có khnăng biu din được tt ccác kí tca trang web,  
người ta phi dùng đến stham chiếu ca kí t(NCRs - numerical character references). Stham chiếu kí  
tđim mã ca kí tUnicode tương ng mà nó biu din. Stham chiếu kí tcó hai dng thp phân và  
thp lc phân. Dng thp phân có cú pháp là “&#D;”, vi D là sthp phân. Dng thp lc phân có cú pháp  
là “&#xH;”, vi H là sthp lc phân. Ví d: &#229; và &#xE5; là các stham chiếu ca kí t“a” trong bng  
mã Unicode. Mt khi gp stham chiếu ca kí t, trình duyt stham chiếu trc tiếp đến kí tđim mã  
tương ng trong bng mã Unicode mà không sdng đến bng mã được chỉ định hin hành [5].  
Ly ví dmt trang web được mã hóa vi bng mã windows-1252, lúc đó để hin thị đon văn bn: “Tiếng  
Vit”, dliu cho trang web phi là “Ti&#7871;ng Vi&#7879;t” , trong đó &#7871; và &#7879; ln lượt là các  
stham chiếu ca các kí tế” và “” trong bng mã Unicode.  
Điu này cho phép gii thích ti sao, các trang web không dùng bng mã UTF-8, ví dnhư windows-1252,  
vn có thhin thị được các kí tUnicode không thuc bng mã đó hay khi chuyn đổi tbng mã UTF-8  
sang windows-1252, MS FrontPage 2000 li tự động thêm vào các stham chiếu kí ttheo cách trên.  
2.2. Hot động ca webserver  
Khi trình duyt yêu cu mt trang .asp, trình xlí trang asp ti webserver sthông dch các mã lnh trong  
trang web này và gi kết quvcho trình duyt. Thông thường, lnh Response.Write được dùng cho các  
kết xut tcác hng chui hay tcác biến ra màn hình. Ví dnhư:  
3
<%  
Response.Write “Chào mng bn đến vi trang web này” ‘in mt hng chui  
Response.Write rs(”TEN_NV”) ‘in dliu ca mt biến, ví dnhư mt trường ca recordset  
%>  
Để yêu cu webserver mã hóa các dliu trong các hng chui và biến theo bng mã sẽ được dùng để  
hin thti client, ta cn phi đặt thuc tính CodePage vbng mã tương ng. Các lnh trong ví dsau sẽ  
yêu cu webserver mã hóa các chui dliu theo bng mã UTF-8 (Thông tin vcác codepage tương ng  
vi các bng mã xem ti [4]):  
<%Session.CodePage=65001%> // Dùng cho toàn bcác trang trong Session hin hành  
<%@CodePage=65001%> // Dùng cho trang hin hành  
Ly ví dtrong trường hp dùng cơ sdliu SQL Server 7.0, dliu được trvtcác câu truy vn theo  
bng mã UCS-2. Nếu ta chỉ định CodePage là 65001, webserver stự động chuyn dliu tUCS-2 sang  
UTF-8, ngược li nếu không chỉ định thuc tính CodePage, webserver schuyn dliu đó đến client theo  
bng mã mc định (ví dnhư windows-1252). Điu này gii thích cho trường hp mt strang web asp hin  
thkhông đúng dliu Unicode được lưu trong các cơ sdliu như SQL Server 7.0/2000, MS Access  
2000.  
Ngoài ra, các trang asp có sdng đon mã lnh thiết lp CodePage là 65001 phi được lưu theo định  
dng tương ng là UTF-8 [6].  
Như vy, vic thiết lp thuc tính CodePage trong trang asp sgiúp cho webserver hiu được các dliu  
được lưu trong các cơ sdliu, hng chui kí t, … theo bng mã nào để mã hóa (encode) nó trước khi  
chuyn đến cho trình duyt. Vic chỉ định bng mã dùng trong trang web bng tag META sgiúp cho trình  
duyt din dch (decode) dliu được chuyn đến twebserver đúng nht khi hin th[7].  
2.3. Các bước cơ bn ca lp trình web asp sdng tiếng Vit Unicode  
-
-
Son và lưu trtp tin .asp dưới dng mã hóa UTF-8.  
Trong các tp tin asp, chèn các đon mã chỉ định cho web server và trình duyt xlí dliu trong  
trang web như là UTF-8. Các đon mã này phi đặt ở đầu trang asp. Sdng ví dmu sau:  
<%@CODEPAGE=65001%>  
<%Session.Codepage=65001%>  
<HTML>  
<HEAD>  
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">  
</HEAD>  
<BODY>  
</BODY>  
</HTML>  
-
Sdng các hqun trCSDL htrUnicode như SQLServer 7.0/2000, MS Access 2000. Nếu  
dùng SQL Server thì phi khai báo kiu dliu cho các trường lưu dliu Unicode là NCHAR,  
NVARCHAR, NTEXT, … Các kiu dliu như TEXT, MEMO, HYPERLINK trong MS Access 2000  
mc định là htrlưu dliu Unicode.  
-
-
Truy xut cơ sdliu thông qua JScript/VBScript/ODBC.  
Khi làm vic trên hqun trCSDL SQL Server 7.0/2000, nếu dùng các hng chui trong các câu  
lnh SQL, phi thêm tiếp đầu ngN (bt buc là chin hoa) vào [8]. Nếu không sdng tiếp đầu  
4
ngnày, SQL Server stự động chuyn chui dliu sang bng mã mc định hin hành trước khi  
sdng nó trong các thao tác cp nht CSDL. Ví d, nếu bn dùng câu lnh sau: INSERT INTO  
SINHVIEN(TEN_SV) VALUES(‘Trn Nam Hi’) thì hng chui dliu ‘Trn Nam Hi’ sẽ được SQL  
Server xem như là chui kí tthường chkhông phi là chui Unicode. Điu này sdn đến hu  
qulà dliu sẽ được lưu trkhông chính xác. Ví dnhư dliu ca kí t” trong chui trên là  
E1 BA A7, sẽ được lưu thành 3 kí tkhác nhau. Trong khi đó nếu dùng câu lnh INSERT INTO  
SINHVIEN(TEN_SV) VALUES(N‘Trn Nam Hi’) thì 3 byte E1 BA A7 sẽ được xem như là mt kí tự  
khi lưu xung [9].  
3. HtrUnicode ca các phn mm  
3.1. Các phn mm htrson tho trang web  
-
-
Visual Studio.NET, Notepad, MS FrontPage2002: Htrlưu tp tin dưới dng UTF-8  
Visual InterDev 6.0: Nếu trong trang asp ta sdng các hng chui được gõ vào dưới dng  
Unicode, ví dnhư: Response.Write “Chào mng bn “ thì lúc lưu tp tin, chương trình sphát hin  
ra trong trang asp này có xut hin kí tUnicode và yêu cu lưu xung dưới dng Unicode, nếu  
không các kí tUnicode sbmt. Tuy nhiên, nếu chn lưu dưới dng Unicode thì chương trình sẽ  
lưu tp tin này dưới dng mã hóa UCS-2. Hin nay webserver IIS không thxđược trang asp  
này [10]. Do đó không nên dùng Visual InterDev 6.0 để son tho các trang asp trong các ng dng  
Unicode tiếng Vit.  
-
Các phn mm thông dng htrgõ tiếng Vit Unicode: UniKey, VietKey.  
3.2. Các phn mm hthng khác  
-
SQL Server 7.0/2000 và MS Access 2000 htrUnicode. Vi mi kí tUnicode, hthng ssử  
dng bng mã UCS-2 để lưu tr, nghĩa là dùng cố định 2 byte cho mt kí t. SQL 6.5 và MS Access  
97 không htrUnicode.  
-
IIS 5.0 không thể đọc được các tp tin lưu dưới dng UCS-2 [10], không htrCodePage ca bng  
mã UTF-16 là 1200 [11]. IIS 4.0 không htrCodePage ca bng mã UTF-8 là 65001 [11].  
Tóm li  
Unicode ra đời nhm khc phc hn chế vslượng kí tự được mã hóa ca các bng mã 8-bit trước đó,  
cho phép mi ngôn ngcó thsdng chung mt bng mã duy nht. Do vn đề tương thích trong lưu trữ  
và truyn dliu mà Unicode có các dng mã hóa khác nhau như UCS-2, UTF-8, UTF-16. UTF-8 là dng  
mã hóa Unicode thông dng nht trong các ng dng web hin nay.  
Để viết các ng dng web dùng tiếng Vit Unicode, cn chn các phn mm son tho htrlưu trtp tin  
dưới dng mã hóa UTF-8 như Visual Studio.NET, MS FrontPage2000, NotePad, … ; sdng các hqun  
trCSDL htrUnicode như SQL Server 7.0/2000, MS Access 2000, …; đặt các đon mã chỉ định bng mã  
mà webserver và trình duyt dùng để mã hóa và gii mã dliu.  
Tài liu trích dn  
5
KT XUT DLIU RA DNG EXCEL TTRANG ASP  
Thông thường, các ng dng web kết xut dliu ca các báo cáo ra dưới dng bng biu. Srt  
cn thiết nếu người dùng cũng nhn được dliu này dưới dng Excel để có thsdng cho các  
mc đích khác.  
Kĩ thut để đạt được mc đích này khá đơn gin. Ý tưởng chính ca kĩ thut này là sdng thuc  
tính ContentType ca đối tượng Response trong ASP và thc hin theo các bước tun tsau:  
Bước 1: Chỉ định dliu sẽ được chuyn đi theo định dng Excel  
Đơn gin chcn dùng câu lnh: Response.ContentType = “application/vnd.ms-excel”. Thông  
thường, cn phi đặt câu lnh Response.Buffer = True và Response.Clear trước câu lnh này để  
đảm bo dliu được chuyn xung client chính xác.  
Bước 2: Kết xut dliu dưới dng bng theo cách làm thông thường.  
Dòng đầu tiên ca bng cha tên ca các ct sẽ được hin thtrong tp tin excel.  
Hãy xem ví dminh ha sau:  
Data2Excel.asp  
<%  
Response.Buffer = True  
Response.Clear  
‘ thiết lp định dng skết xut là Excel  
Response.ContentType = “application/vnd.ms-excel”  
‘ kết ni vi CSDL  
strDSN = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="  
đường dn tương đối đến tp tin CSDL  
strDSN = strDSN & Server.MapPath("myDB.mdb")  
set Conn = Server.CreateObject("ADODB.Connection")  
Conn.Open strDSN  
strSQL = “SELECT * FROM myTable”  
set rs = Conn.Execute(strSQL)  
rowstart = “<tr>”  
rowend = “</tr>”  
cellstart = “<td>”  
cellend = “</td>”  
Response.Write “<TABLE border=1>”  
‘ dòng đầu tiên in tên các ct  
Response.Write rowstart  
For i = 0 to rs.Fields.Count -1  
Response.Write cellstart & "<b>" & rs.Fields(i).name & "</b>" & cellend  
Next  
Response.Write rowend  
‘ in dliu ca tng dòng  
Do while not rs.EOF  
Response.Write rowstart  
For i = 0 to rs.Fields.Count –1  
Response.Write cellstart & rs.Fields(i)& cellend  
Next  
Response.Write rowend  
rs.MoveNext  
Loop  
rs.Close  
set rs = Nothing  
Conn.Close  
set Conn = nothing  
Response.Write “</TABLE>”  
Response.End  
%>  
Bàn lun:  
Ưu đim ca cách làm trên là cho phép bn sdng các đon mã sn có lúc kết xut dliu ra dng  
bng theo cách thông thường để chuyn sang định dng Excel. Tuy nhiên vic kết xut dliu theo  
định dng Excel như trong ví dtrên có thchiếm tài nguyên ca webserver đặc bit khi dliu ln  
do đó chnên dùng cách này nếu trang này không được sdng thường xuyên.  
Nếu mun kết xut dliu ln và thc hin thường xuyên, ta có thkết xut thông qua định dng  
CSV (Comma-Separated Values) để ti ưu hơn. Các tp tin theo định dng CSV là các tp tin văn  
bn mà dliu trong các ct được ngăn cách vi nhau bi du phy “,” (comma), rt thường được  
dùng cho vic trao đổi dliu gia các hqun trCSDL và các chương trình bng tính như Excel.  
Ví d, nếu bn mmt tp tin csv có ni dung như sau trong Excel, ta snhn được mt bng 3  
dòng, 3 ct:  
Doe,John,944-7077  
Johnson,Mary,370-3920  
Smith,Abigail,299-3958  
Để chuyn dliu sang định dng CSV, vn vi cách làm tương tbng cách thay đổi thuc tính  
ContentType vdng “application/csv” và thêm dòng lnh sau để yêu cu trình duyt hin thhp  
thoi ti tp tin v: Response.AddHeader "Content-Disposition", "filename=mydata.csv;". Sau đó,  
thay vì định dng dliu dưới dng bng, ta định dng dliu theo dng dliu các ct được phân  
cách vi nhau bng du phy “,”. Xem ví dminh ha sau:  
Data2CSV.asp  
<%  
Response.Buffer = True  
Response.Clear  
‘ thiết lp định dng skết xut là Excel  
Response.ContentType = “application/csv”  
Response.AddHeader "Content-Disposition", "filename=mydata.csv;"  
‘ kết ni vi CSDL  
strDSN = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="  
đường dn tương đối đến tp tin CSDL  
strDSN = strDSN & Server.MapPath("myDB.mdb")  
set Conn = Server.CreateObject("ADODB.Connection")  
Conn.Open strDSN  
strSQL = “SELECT * FROM myTable”  
set rs = Conn.Execute(strSQL)  
‘ dòng đầu tiên in tên các ct  
For i = 0 to rs.Fields.Count -1  
Response.Write rs.Fields(i).name & ",”  
Next  
Response.Write vbNewLine ‘ kết thúc mt dòng dliu  
‘ in dliu ca tng dòng  
Do while not rs.EOF  
For i = 0 to rs.Fields.Count –1  
Response.Write rs.Fields(i)& “, ”  
Next  
Response.Write vbNewLine ‘ kết thúc mt dòng dliu  
rs.MoveNext  
Loop  
rs.Close  
set rs = Nothing  
Conn.Close  
set Conn = nothing  
Response.End  
%>  
Hn chế ca định dng này là do dliu chlà các kí tASCII nên skhông dùng được trong  
trường hp dliu sdng Unicode, ngoài ra cn phi có cách xlí thích hp trong trường hp dữ  
liu trong các ct có du phy “,”. Excel xlí trường hp này bng cách thay đặt toàn bdliu  
trong du “”. Ví dnếu bn có dliu là Abc, xyz thì dliu sẽ được đổi thành “Abc, xyz”  
Tham kho thêm ti:  
Đình Duy – ldduy@fit.hcmuns.edu.vn  
HIN THHÌNH NH TCƠ SDLIU  
TRONG CÁC NG DNG WEB  
Đình Duy  
Khoa CNTT – ĐHKHTN Tp.HCM  
12.2002  
1. Gii thiu  
Vic lưu trvà hin thhình nh tCSDL trong các ng dng web là cn thiết. Ví dnhư các ng dng  
qun lí hsơ ca nhân viên, ngoài thông tin bng văn bn như Htên, địa ch, bng cp, … srt cn thiết  
nếu có thêm dliu về ảnh ca nhân viên. Hay trong các ng dng bán hàng, bên cnh thông tin vsn  
phm như Tên sn phm, phân loi sn phm, giá c, … hình nh trc quan vsn phm cũng rt cn thiết  
để giúp cho người dùng ddàng hơn khi chn la, …  
Thông thường người ta dùng mt trong hai cách để đạt được mc đích này. Cách thnht là lưu trtp tin  
hình nh trên mt thư mc riêng, trong CSDL ngoài dliu văn bn chlưu đường dn đến tp tin hình nh.  
Cách thhai là lưu trcdliu hình nh và văn bn trong cùng mt bn ghi trong CSDL.  
Cách tiếp cn thnht thường được dùng hơn vì CSDL có kích thước nhvà thao tác hin thkhá đơn gin  
thông qua tag IMG vi thuc tính SRC được gán bng thông tin về đường dn đến tp tin hình nh đã có  
trong CSDL. Hn chế ca cách tiếp cn này là đòi hi dliu nh phi được lưu trtrên webserver hoc ở  
mt máy tính nào đó mà webserver có thtruy cp được. Trong các ng dng mà cơ sdliu có thể  
được sao lưu nhiu bn để phân tán, “ri ro” sxy ra nếu các tp tin hình nh không được sao lưu theo  
đúng đường dn sn có.  
Cách tiếp cn thhai do lưu trhình nh trong CSDL như là dliu nhphân nên sdn đến hn chế là  
làm cho kích thước ca CSDL tăng lên đang k. Nhưng bù li, dliu hình nh và văn bn chung mt nơi  
nên có thdùng cho các CSDL được sao lưu nhiu nơi. Để lưu trdliu hình nh trên các hqun trị  
CSDL ta phi dùng các kiu dliu dng nhphân cho nó. Ví d, trong MS SQL Server là kiu dliu  
image, trong MS Access là kiu dliu OLE Object.  
2. Hin thhình nh có trong CSDL  
Nếu dùng cách tiếp cn thnht, ta sto ra trong bng dliu mt trường tên chng hn là IMAGE_URL  
để lưu trữ đường dn đến tp tin hình nh, ví dnhư là: images/id1234.gif. Để hin thhình nh này trong  
trang web, đơn gin chcn dùng tag IMG vi thuc tính SRC được gán bng dliu trong trường  
ImageURL như: Response.Write("<IMG SRC="" & rs("IMAGE_URL") & """>").  
Nếu dùng cách tiếp cn thhai, ta sto ra trong bng dliu mt trường có tên chng hn là  
APP_IMGDATA để lưu trdliu hình nh dưới dng nhphân. Sau đó, để hin thhình nh này lên, ta  
thc hin tun tcác bước sau:  
-
-
Đọc dliu hình nh lưu trong ImgData vào recordset.  
Gán thuc tính ContentType ca đối tượng Response tương ng vi định dng nh lưu tr. Nếu lưu  
tp tin dưới dng .gif, ta đặt Response.ContentType=”image/gif”.  
-
Sdng hàm Response.BinaryWrite để ghi ni dung dliu ca hình nh ra.  
Gista dùng CSDL là MS Access vi tp tin CSDL là DB_USERS được lưu trong thư mc APP_DB, bng  
dliu APP_USERS được dùng để lưu thông tin ca người dùng và hình nh tương ng. Đon mã sau ca  
tp tin showimage.asp minh ha các bước trên:  
showimage.asp  
<%  
‘ kết ni vi CSDL  
strDSN = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="  
đường dn tương đối đến tp tin CSDL  
strDSN = strDSN & Server.MapPath("app_db/db_users.mdb")  
set Conn = Server.CreateObject("ADODB.Connection")  
Conn.Open strDSN  
‘ giscn hin thhình nh lưu trong bn ghi  
‘ có trường APP_USERID bng vUserID  
strSQL = “SELECT * FROM APP_USERS WHERE ”  
strSQL = strSQL & “ APP_USERID = ” & vUserID  
đọc dliu hình nh vào recordset  
Set rs = Conn.Execute(strSQL)  
‘ gán thuc tính ContentType là image/gif  
Response.ContentType = “image/gif”  
‘ ghi dliu hình nh ra tp tin chuyn xung client  
Response.BinaryWrite(rs(“APP_IMGDATA”))  
rs.close  
set rs = nothing  
Conn.close  
set Conn = nothing  
%>  
Vi đon mã trên do ta đã đặt ni dung chuyn xung cho trình duyt là image/gif nên không thva cùng  
hin thdliu văn bn va hin thhình nh được.  
3. Ti tp tin nh lên CSDL  
Để có thti các tp tin dliu lên server, thông thường ta dùng các component đã được viết sn để htrợ  
cho vic này. Mt trong các component cung cp min phí là aspSmartUpload  
(http://www.aspsmart.com/aspSmartUpload/). Hai vn đề cn lưu ý khi sdng các component dng này là  
form trong trang dành cho người dùng nhp phi được đặt thuc tính ENCTYPE là multipart/form-data và  
trang xlí upload phi dùng đối tượng Form ca các component để ly dliu vthay cho Request.Form.  
Vi aspSmartUpload ta có thti đồng thi nhiu tp tin lên server, thm chí có thhn chế kích thước tp  
tin, kiu tp tin, … sẽ được dùng để ti. Ví dsau minh ha vic ti dliu lên CSDL bng cách dùng tp tin  
upload.htm cho phép người dùng chỉ định tp tin cn upload, tp tin upload.asp dùng để lưu dliu tp tin  
cn upload vào mt trường trong bng CSDL hoc lưu thành mt tp tin trong thư mc nào đó:  
upload.htm  
<H1>aspSmartUpload : Sample </H1>  
<HR>  
<FORM method="POST" action="upload.asp" enctype="multipart/form-data">  
<input type="FILE" name ="FILE1" ><br>  
<input type="submit" value="Upload">  
</FORM>  
upload.asp  
<%  
' to đối tượng aspSmartUpload  
Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")  
' upload tp tin  
mySmartUpload.Upload  
‘ kết ni vi CSDL  
strDSN = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="  
đường dn tương đối đến tp tin CSDL  
strDSN = strDSN & Server.MapPath("app_db/db_users.mdb")  
set Conn = Server.CreateObject("ADODB.Connection")  
Conn.Open strDSN  
set rs = Server.CreateObject(“ADODB.Recordset”)  
set rs.ActiveConnection = Conn  
rs.Source = “app_users”  
rs.LockType = 3  
rs.Open  
rs.close  
For each file In mySmartUpload.Files  
If NOT file.IsMissing then ‘ nếu tp tin tn ti  
rs. AddNew  
‘ lưu dưới dng mt field trong CSDL  
file.FileToField rs.Fields(“APP_IMGDATA”)  
‘ lưu dưới dng mt tp tin trên thư mc ca server  
‘ vi đường dn tuyt đối  
file.SaveAs("c:\temp\" & file.FileName)  
‘ lưu dưới dng mt tp tin trên thư mc ca server  
‘ vi đường dn tương đối so vi thư mc webroot  
file.SaveAs("dbimages/upload" & file.FileName)  
‘…  
rs.Update  
End if  
Next  
rs.close  
set rs = nothing  
Conn.close  
set Conn = nothing  
%>  
4. Kết lun  
Bài viết va trình bày các hai thao tác cơ bn cho vic qun lí hình nh trong cơ sdliu ca các ng  
dng web. Thao tác thnht liên quan đến đến vic chn hình thc lưu trdliu nh, thao tác thhai liên  
quan đến vic ti các hình nh lên server. Lưu trdliu nh dưới dng là mt trường cơ sdliu slàm  
cho kích thước cơ sdliu ln, vic xlí khá phc tp nhưng có thun li trong trường hp ng dng  
được thiết kế cho vic sdng phân tán. Đơn gin và thường được dùng hơn clà lưu trcác tp tin hình  
nh trong mt thư mc định trước trên server và lưu trữ đường dn đến tp tin này trong cơ sdliu.  
BT ĐẦU HC LP TRÌNH NG DNG WEB VI ASP  
Đình Duy  
Khoa CNTT – ĐHKHTN Tp.HCM  
07.2002  
1. Gii thiu ASP  
Microsoft Active Server Pages (ASP) là môi trường lp trình ng dng phía server (server side scripting) hỗ  
trmnh trong vic xây dng các ng dng Web. Các ng dng ASP có thlàm vic vi bt kì cơ sdữ  
liu nào tương thích vi ODBC như SQL, Access, Oracle, Informix,… đồng thi rt dviết và sa đổi. Hơn  
na nó có thtích hp các công nghsn có ca Microsoft như COM, ... mt cách ddàng.  
Để có thchy được các trang web viết bng ASP, cn phi có webserver htrASP. Microsoft IIS và  
Personal Web Server (PWS) trên Win95,98,NT hay Internet Information Server (IIS) trên Windows2000 là  
các webserver ca Microsoft htrASP. Trong trường hp webserver không phi ca Microsoft, hay hệ  
điu hành không phi là Windows mà là Unix, Linux, cn phi cài đặt mt thư vin htrASP. Thông dng  
nht là Sun Chili!Soft (http://www.chillisoft.com)  
Để son tho các trang ASP, ta có thdùng bt cphn mm son tho văn bn nào, ví dnhư Notepad.  
Thông dng và ddùng thường là Visual InterDev trong bMicrosoft Studio.  
Ngoài ra vi ng dng có liên kết vi cơ sdliu, cn phi cài đặt thêm các phn mm cơ sdliu như  
Access, SQL, Oracle, … Phn mm cơ sdliu đơn gin nht cho người mi bt đầu là Access.  
Để có thviết ng dng web bng ASP, cn phi biết các kiến thc cơ bn sau:  
-
-
Kiến thc vthiết kế web, HTML để giúp thiết kế các trang web.  
Kiến thc vcác ngôn nglp trình VB script, Java script. VB Script là ngôn nglp trình thông  
dng cho ASP.  
-
Thông thường các ng dng web có liên quan nhiu đến vic qun lí, truy xut, cp nht cơ sdữ  
liu nên cn phi nm thêm kiến thc vcú pháp các câu truy vn SQL, kiến thc vkết ni và lp  
trình cơ sdliu vi ADO.  
2. Mt skiến thc cơ bn vASP  
Mt trang ASP thường có mt số đặc đim sau:  
-
Là mt tp tin văn bn (text file) có phn mrng là .asp: Phn mrng này sgiúp webserver  
yêu cu trình xlí trang asp (ASP engine) trước khi trvcho trình duyt.  
Ngôn ngscript thông dng nht dùng để viết các mã ca ASP là VBScript. Ngoài ra, ta cũng có thể  
viết các mã bng các ngôn ngnhư JScript, Perl, Python, ... nếu trên webserver có cài đặt các bộ  
xlí ngôn ngnày (script engine).  
-
-
-
Các đon mã viết trong trang ASP sẽ được các bxlí ngôn ngtrên webserver xlí tun ttừ  
trên xung dưới. Kết quca vic xlí này là trvtrang HTML cho webserver và webserver sẽ  
gi trang này vcho trình duyt. Đó là lí do ti sao, ti trình duyt ta không ththy được các đon  
mã chương trình đã được viết trong trang ASP.  
Mt trang ASP thông thường gm có 4 thành phn:  
o
Dliu văn bn (text)  
1
o
o
o
Các tag HTML  
Các đon mã chương trình phía client đặt trong cp tag <SCRIPT> và </SCRIPT>  
Mã chương trình ASP được đặt trong cp tag <% %>:  
Ba thành phn ban đầu là cu trúc ca mt trang HTML thông thường, do đó có thxem mt trang ASP là  
mt trang HTML được nhúng thêm phn xlí viết bng mã ASP (VBScript, JScript, Perl, ...). Ví dsau minh  
ha mt trang ASP, dliu văn bn là “Welcome to my website. Today is:”, các tag HTML là <P>, <B>, ... và  
đon mã chương trình đặt gia <% và %>  
<HTML>  
<BODY>  
<P> <B>Welcome to my website</B>. Today is  
<%  
Response.Write Date()  
%>  
</BODY>  
</HTML>  
3. Mt ssách, website tham kho  
-
-
-
-
-
-
-
-
-
-
Thiết kế và Lp trình ng dng web bng ASP – Lê Đình Duy – NXB Thng kê, 2001  
Xây dng trang web động vi ASP – Nhóm tác giELICOM - 2001  
ASP Databases – Nhóm tác giSAIGONBOOK - 2001  
Professional Active Server Pages 3.0 – Alex Homer et al - 1999  
MSDN – Active Server Pages Tutorial  
2
PHƯƠNG PHÁP HTRGII HN TRUY CP TRANG WEB  
Đình Duy  
Khoa CNTT – ĐHKHTN Tp.HCM  
09.2002  
1. Gii thiu  
Thông thường, trong các ng dng web, người thiết kế mun gii hn struy cp đến mt strang web  
thông qua vic chng thc người dùng (authentication) nhm mc đích cho phép nhng người có quyn  
thc smi được phép truy cp và thc hin mt strang web nào đó. Ví dcác trang web dùng cho vic  
cp nht CSDL txa chcho phép người qun trthc hin hay trong các ng dng như din đàn tho lun,  
thông thường các trang gi bài mi chcho phép nhng người đã đăng kí thc hin mà thôi, …  
Để đạt được mc đích này, có hai cách tiếp cn:  
-
Dùng chc năng bo mt ca hthng: Cách này gii hn quyn truy cp đến các trang web cn  
bo vbng quyn trên hthng tp tin NTFS. Ví d, nếu mun gii hn quyn truy cp đến tp tin  
admin.asp, ta xác lp quyn cho mt người dùng nào đó được quyn đọc, thi hành mà thôi. Cách  
này có hn chế là người dùng trang web phi có tài khon trên server. Điu này sthc skhó  
khăn khi đa scác ng dng web thường được hosting ti các server ca các ISP.  
Dùng các đon mã chương trình tviết: Cách này sdng cookies (thông qua biến kiu Session)  
kết hp vi CSDL vngười dùng để làm vic này! Cách làm này cho phép đáp ng khá hoàn ho  
nhu cu bo mt các trang web và tương thích ddàng trong trường hp hosting các server khác  
nhau.  
-
2. Bo vbng các đon mã chương trình tviết  
Ý tưởng chính ca cách làm này là ta sdùng mt biến Session có kiu là boolean klưu thông tin vngười  
dùng đã được chng thc hay chưa. Gista đặt tên cho biến này là blLoginOK, giá trTrue stương ng  
vi người dùng đã được chng thc và ngược li.  
Vic chng thc người dùng sẽ được thông qua mt trang đăng nhp (ví dlà trang login.htm). Trang này  
syêu cu người dùng nhp thông tin vtên đăng nhp và mt khu. Sau đó mt đon mã (trang login.asp)  
sẽ được dùng để kim tra thông tin người dùng va nhp có trùng khp vi dliu được lưu trtrên CSDL  
hay không. Nếu thông tin trùng khp, giá trca biến blLoginOK sẽ được chuyn thành True (lưu ý ta phi  
thiết lp biến blLoginOK có giá trmc định là False).  
Trong các trang cn hn chế truy cp, ta chcn kim tra giá trca biến này là True hay False. Nếu giá trlà  
True, người dùng sẽ được phép thc hin tiếp các đon mã tiếp theo ca trang, còn ngược li, ta sthông  
báo yêu cu người dùng chng thc thông qua mt trang đăng nhp trước khi tiếp tc.  
Các bước thc hin tun tnhư sau:  
Bước 1: To cơ sdliu cha thông tin vngười dùng  
Gista dùng MS Access để to cơ sdliu có tên là DB_USERS.MDB, trong đó ta to mt bng dliu  
có tên là APP_USERS. Hai trường chính ca bng dliu này là APP_USERNAME và APP_PASSWORD.  
Nếu đặt APP_USERNAME như là khóa chính thì mt người dùng sẽ được xác định bng mt tên đăng nhp  
duy nht. Tt nhiên, ta có thto thêm các trường khác để qun lí như HTên, Địa chEmail (có thscn  
để gi email khi quên mt khu), Ln đăng nhp cui cùng, Thi gian sdng hthng, … Sau khi to  
xong, gistp tin này được lưu ti thư mc APP_DB.  
Bước 2: To trang đăng nhp login.htm để yêu cu người dùng nhp thông tin vtên đăng nhp và mt  
khu:  
Login.htm  
<FORM action=”login.asp” method=”POST”>  
Username: <input type="text" name="fmUserName" size="20"><br>  
Password: <input type="password" name="fmPassword" size="20"><br>  
<input type="submit" value="Submit" name="btnSubmit">  
<input type="reset" value="Reset" name="btnReset">  
</FORM>  
Bước 3: To trang login.asp để kim tra thông tin người dùng va nhp có trùng khp vi thông tin có sn  
trên CSDL hay không. Nếu trùng khp, giá trbiến blLoginOK sẽ được chuyn thành True.  
Login.asp  
<%  
On Error Resume Next  
vUserName = Request.Form(“fmUserName”)  
‘ Thay thế du nháy đơn ‘ thành hai du nháy đơn để tránh li SQL injection  
vUserName = Replace(vUserName, “’”, “’’”)  
vPassword = Request.Form(“fmPassword”)  
vPassword = Replace(vPassword, “’”, “’’”)  
strDSN = "DRIVER=Microsoft Access Driver (*.mdb);DBQ="  
đường dn tương đối đến tp tin CSDL  
strDSN = strDSN & Server.MapPath("app_db/db_users.mdb")  
set Conn = Server.CreateObject("ADODB.Connection")  
Conn.Open strDSN  
strSQL = “SELECT * FROM APP_USERS WHERE ”  
strSQL = strSQL & “ APP_USERNAME = ” & “’” & vUserName & “’”  
strSQL = strSQL & “ AND “ & “APP_PASSWORD = ” & “’” & vPassword & “’”  
Set rs = Conn.Execute(strSQL)  
if rs.eof then ‘ người dùng không hp lệ  
Response.Redirect(“login.htm”)  
else  
Session(“blLoginOK”) = True  
end if  
set rs = nothing  
set Conn = nothing  
%>  
Bước 4: Trong các trang web ví dnhư Admin.asp mà ta chmun nhng người đã được chng thc mi  
được quyn sdng, đặt đon mã kim tra biến blLoginOK là True hay False ngay đầu trang:  
Admin.asp  
<%  
if (Session(“blLoginOK”) <> True) then  
Response.Redirect(“login.htm”)  
end if  
%>  
3. Kết lun  
Nhu cu hn chế người dùng truy cp đến mt strang web nào đó trong ng dng là mt nhu cu thường  
xuyên khi xây dng các ng dng. Bng cách sdng biến Session và CSDL ca người dùng cùng vi các  
trang login.htm, login.asp, ta có thể đạt được mc đích trên mt cách ddàng.  
Tải về để xem bản đầy đủ
pdf 25 trang baolam 07/05/2022 6360
Bạn đang xem 20 trang mẫu của tài liệu "Bảy bước thiết kế trang web ấn tượng và hiệu quả", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbay_buoc_thiet_ke_trang_web_an_tuong_va_hieu_qua.pdf