Cài đt ASP trên máy tín hặ

Một phần của tài liệu Giới thiêu ngôn ngữ HTML - Dùng để thiết kế Web (Trang 79)

1 .T ng qua nổ

4.4 Cài đt ASP trên máy tín hặ

ASP có th để ược cài đ t trên nhi u h đi u hành nh : Win95, Win98, WinME,ặ ề ệ ề ư Win2000, WinXP, Win Server 2003. Tham kh o cách cài đ t ASP trên các h đi u hành nóiả ặ ệ ề trên t i trang web sau: ạ http://www.w3schools.com/asp/asp_install.asp

Sau đây là các bước đ cài đ t và ch y m t trang ASP trên Windows XP Professional.ể ặ ạ ộ  Bước 1: Chèn đĩa Windows XP Professional CD-Rom vào đĩa CD-Rom.ổ

 Bước 2: Click StartSettingsControl PanelAdd/Remove Programs.

 Bước 3: Click Add/Remove Windows Components.

 Bước 4: Đánh d u ki m vào m c Internet Informations Services, click OK.ấ ể ụ

 Bước 5: M t th m c Inetpub s độ ư ụ ẽ ượ ạc t o trên đĩa c ng đổ ứ ược cài h đi u hành.ệ ề  Bước 6: T o m t th m c m i MyWeb trong th m c wwwroot thu c th m c Inetpub.ạ ộ ư ụ ớ ư ụ ộ ư ụ  Bước 7: T o m t trang web ASP v i tên “test1.asp” ch ng h n r i l u nó trong th m cạ ộ ớ ẳ ạ ồ ư ư ụ

MyWeb.

 Bước 8: Vào Control PanelAdministrative Tools, ch y IIS Manager đ kích ho t Webạ ể ạ Server.

 Bước 9: Dùng trình duy t Internet Explore gõ đ a ch :ệ ị ỉ http://localhost/MyWeb/test1.asp để xem trang web v a t o.ừ ạ

Ghi chú:

b c 6 có th t o th m c MyWeb m t đ ng d n khác, sau đó c u hình cho IIS

Ở ướ ể ạ ư ụ ở ộ ườ ẫ ấ

t o đạ ường d n o đ n th m c MyWeb.ẫ ả ế ư ụ

Ví d 1:ụ

<html> <head>

<title>Desige Simple Website</title> </head>

<body> <%

response.write "Hello! ASP!" ‘Hi n th l i chàoể ị ờ %>

</body> </html>

Ví d 2: ụ Vi t m t trang Login.html cho phép ngế ộ ườ ử ụi s d ng nh p vào h tên, sau đó kích nútậ ọ Submit đ chuy n đ n trang Result.asp. Trang Result.asp có nhi m v hi n th l i chào đ iể ể ế ệ ụ ể ị ờ ố v i tên ngớ ườ ử ụi s d ng: Hello [username]!

Mã ngu n:ồ Login.html <html> <head> <title>Username</title> </head> <body>

<form method="POST" action="Result.asp">

<p>Username: <input type="text" name="username"></p> <p>

<input type="submit" value="Submit" name="submit"></p> </form> </body> </html> Result.asp <html> <head> <title>Welcome</title> </head> <body> <% dim x

x=request.form("username") 'bi n x nh n l i giá trế ậ ạ ị username t form thu c trang login.htmlừ ộ

response.write "Hello " & x 'hi n th n i dung tùyể ị ộ ‘theo giá tr nh n đị ậ ược do người dùng đi n vào formề %>

</body> </html>

4.5 Ngôn ng k ch b n VBScriptữ ị

Mã l nh ASP có th vi t b ng VBScript ho c JavaScript. Các script c a ASP th c thiệ ể ế ằ ặ ủ ự trên server và n m trong c p d u ằ ặ ấ <% %>. Bên trong có th ch a các bi u th c, hàm, toán t ,ể ứ ể ứ ử l nh h p l c a ngôn ng Script tệ ợ ệ ủ ữ ương ng. đây chúng ta tìm hi u v n t t cách s d ngứ Ở ể ắ ắ ử ụ ASP đ l p trình web đ ng b ng VBScript.ể ậ ộ ằ

4.5.1 Bi nế

Bi n dùng đ l u tr thông tin. Cú pháp khai báo bi n nh sau:ế ể ư ữ ế ư

Dim bi n 1, bi n 2ế ế

Bi n có ph m vi c c b , n u nó đế ạ ụ ộ ế ược khai báo bên trong 1 hàm hay th t c thì nó chủ ụ ỉ có tác d ng trong hàm hay th t c đó, n u nó khai báo trong ph m vi toàn trang ASP thì tácụ ủ ụ ế ạ d ng c a nó s có ph m vi trong toàn trang ASP, tuy nhiên không có tác d ng trong trang ASPụ ủ ẽ ạ ụ khác.

Ví dụ:

trang Hello.asp ta có m t bi n x có giá tr là 3, trang Index.asp ta dùng l nh

Ở ộ ế ị ệ <

%response.write x%> thì s không hi n th k t q a là 3 vì bi n x c a trang Hello.asp khôngẽ ể ị ế ủ ế ủ được hi u trong trang Index.asp. Tể ương t nh v y khi m t bi n đự ư ậ ộ ế ược khai báo trong 1 hàm, s không có tác d ng bên ngoài hàm đó.ẽ ụ ở

Ghi chú:

Không b t bu c nh ng nên khai báo đ ki m soát và b t l i.ắ ộ ư ể ể ắ ỗ

Trong asp không khai báo ki u c a bi n. Asp s căn c vào vi c s d ng bi n màể ủ ế ẽ ứ ệ ử ụ ế quy t đ nh xem nên x lý bi n đó nh là ki u gì.ế ị ử ế ư ể

Nên s d ng <%Option Explicit %> ngay đ u m i trang ASP đ b t l i khi khôngử ụ ở ầ ỗ ể ắ ỗ khai báo bi n mà s d ng.ế ử ụ

Khi khai báo nên s d ng các ti n t đ d phân bi t v ý nghĩa c a bi n đử ụ ề ố ể ễ ệ ề ủ ế ược khai báo. D ng d li uạ ữ ệ Ti n t (prefix)ề ố Boolean Bln Byte Byt Double Dbl Integer Int Long Lng Object Obj String Str ADO command Cmd ADO connection Cnn ………..

Đ có th ki m soát chính xác m t bi n theo ki u mình mong mu n, chúng ta dùng cácể ể ể ộ ế ể ố hàm chuy n đ i ki u. Đ đ nh nghĩa m t bi n có ph m vi s d ng trong nhi u trang ASPể ổ ể ể ị ộ ế ạ ử ụ ề c a ng d ng Web, ta dùng bi n session và application (xem đ i tủ ứ ụ ế ố ượng session và

application).

4.5.2 M ngả

4.5.2.1 M ng m t chi u

M ng dùng đ l u tr d li u theo m t dãy có th t các ph n t , cú pháp đ khai báo m tả ể ư ữ ữ ệ ộ ứ ự ầ ử ể ộ m ng nh sau:ả ư

Dim tên_m ng(ch s )ả ỉ ố

Đ tăng gi m s ph n t c a m t m ng đã khai báo, cú pháp vi t nh sau:ể ả ố ầ ử ủ ộ ả ế ư ReDim tên_m ng(ch s m i)ả ỉ ố ớ

Đ bi t t ng s các ph n t c a m t m ng ta s d ng hàm UBOUND v i cú pháp sau:ể ế ổ ố ầ ử ủ ộ ả ử ụ ớ Ubound(tên_m ng)ả

Ví d :ụ

<%

dim y(5) ‘khai báo m ng 6 ph n t đánh ch s t 0 đ n 5ả ầ ử ỉ ố ừ ế y(0)=2 y(1)=13 response.write y(0) response.write y(1) %> 4.5.2.2 M ng đa chi u

ASP cho phép khai báo m t m ng l n h n m t chi u, độ ả ớ ơ ộ ề ược g i là m ng đa chi u.ọ ả ề Cú pháp: Dim tên_m ng(ch s 1, ch s 2, …, ch s n)ả ỉ ố ỉ ố ỉ ố

Ví d :ụ

Dim arraylist(10,10)

V i ví d trên s khai báo m t m ng hai chi u có 10x10 ph n t , trong đó ph n tớ ụ ẽ ộ ả ề ầ ử ầ ử (1,1) phía trên bên trái m ng, ph n t (10,10) phía dở ả ầ ử ở ưới bên ph i m ng.ả ả

Tương t nh v y, ta có th khai báo m ng ba chi u, b n chi u,… nh ng t t nh t chự ư ậ ể ả ề ố ề ư ố ấ ỉ nên s d ng m ng hai chi u (có th ba chi u) vì n u quá nhi u chi u s làm cho vi c x lýử ụ ả ề ể ề ế ề ề ẽ ệ ử thêm ph c t p.ứ ạ

4.5.3 H ng sằ

Cú pháp đ khai báo m t h ng s nh sau:ể ộ ằ ố ư

CONST tên_h ng = giá trằ

4.5.4.1 C u trúc đi u ki n IF…THEN…ELSE…IF Cú pháp: <% If <Đi u ki n 1ề > then <Các câu l nh>ệ Else If <Đi u ki n 2ề > then <Các câu l nh>ệ End if End if %>

Ngoài ra có th s d ng c u trúc ể ử ụ ấ IF.. THEN. . . . ELSEIF. . . END IF

<%

If <Đi u ki n 1ề > then

<Các câu l nh 1>ệ

ElseIf <Đi u ki n 2ề > then

<Các câu l nh 2>ệ

Else

<Các câu l nh 3>ệ

End if

%>

4.5.4.2 C u trúc l a ch n SELECT CASE…END SELECT

Cú pháp:

<%

Select Case <Tenbien>

Case <gia tri 1> <Nhóm l nh 1>ệ

Case <gia tri 2> <Nhóm l nh 2>ệ

Case <gia tri n> <Nhóm l nh n>ệ

Case Else

<Nhóm l nh n+1>ệ %>

4.5.4.3 C u trúc l p tu n t FOR…NEXT ầ ự

Dùng đ l p v i s l n đã bi t, tuy nhiên ta có th ng t b ng l nh EXIT FOR.ể ặ ớ ố ầ ế ể ắ ằ ệ

Cú pháp:

<%

FOR <HoTenbien>=<giatridau> TO <giatricuoi> STEP <Buoc nhay>

NEXT %> 4.5.4.4 C u trúc l p DO WHILE…LOOP Cú pháp: <% Do while <Đi u ki n>ề ệ <Các câu l nh>ệ Loop %> 4.5.4.5 C u trúc l p WHILE…WENT

Cú pháp: <% While <Đi u ki n>ề ệ <Các câu l nh>ệ Wend %> 4.5.4.6 C u trúc l p DO…LOOP UNTIL… Cú pháp: <% DO <Các câu l nh>ệ

Loop until <Đi u ki nề > %>

Ví d 1: ụ Vi t trang tinhtong.asp đ hi n th k t qu c a t ng S=2+4+6+…+12ế ể ể ị ế ả ủ ổ

Ví d 2:ụ Vi t trang nhapso.asp và trang ketqua.asp đ hi n th k t qu c a t ng S=1+3+5+…ế ể ể ị ế ả ủ ổ +(2n-1).

Chi ti t trang nhapso.asp nh sau:ế ư

- Trang ch a m t đ i tứ ộ ố ượng Textbox đ nh p vào giá tr n.ể ậ ị

- M t nút Submit đ tính toán k t qu và chuy n đ n trang ketqua.asp và in ra k t qu .ộ ể ế ả ể ế ế ả

4.5.5 M t s hàm c b n trong ASPộ ố ơ ả

4.5.5.1 Hàm x lý chu i

 TRIM(Xâu as string):B kho ng tr ng hai đ u kí tỏ ả ắ ầ ự  LEFT(Xâu as string, n as interger): L y bên trái xâu n kí t .ấ ự  RIGHT(Xâu as string, n as interger): L y bên ph i xâu n kí t .ấ ả ự  LCASE(Xâu as string) : Chuy n xâu v ch thể ề ữ ường

 UCASE(Xâu as string) : Chuy n xâu v ch hoaể ề ữ

 MID(Xâu as string, n1, n2): L y n2 kí t trong xâu b t đ u t v trí n1.ấ ự ắ ầ ừ ị  CSTR(Bi n):ế Hàm chuy n đ i bi n thành ki u stringể ổ ế ể

 Hàm JOIN/SPLIT(Xâu as string, kí t ngăn cách): ự S N i/C t xâu thànhẽ ố ắ m t/nhi u đo n b ng cách xác đ nh kí t ngăn cách trên và cho các đo n đó l n lộ ề ạ ằ ị ự ở ạ ầ ượt vào m t m ng.ộ ả

Ví d :ụ

<%

x=”Hà n i;H i phòng; TPHCM”ộ ả y=split(x,”;”)

for i=0 to 2 step 1

Response.write y(i)&”<br>” next ‘y(0)=”Hà n i”ộ ‘y(1)=”H i phòng”ả ‘y(2)=”TPHCM” %> 4.5.5.2 Các hàm x lý s  SQR(n): Căn b c hai c a nậ  INT(n) : L y ph n nguyên nấ  MOD : Phép đ ng dồ ư

 Toán t \ : ử Phép chia nguyên

 Round(s , n) : ố Làm tròn s v i n ch s th p phânố ớ ữ ố ậ

 Các hàm khác : Abs, Atn, Cos, Exp, Fix, Hex, Log, Oct, Randomize, Round, Sin, Sqr, Tan

4.5.5.3 Các hàm chuy n đ i ki u

 Cdate: Chuy n sang ki u ngày thángể ể <%Dim a, b

a=”22/1/2004” ‘a đang được hi u là m t chu iể ộ ỗ

b=Cdate(a) ‘chuy n chu i a sang đúng ki u ngày thángể ỗ ể %>

 Cint: Chuy n sang ki u Integerể ể <% Dim a,b

a=”3” b=cint(a) %>

 Cstr: Chuy n sang ki u stringể ể <% Dim a,b

a=3

b=Cstr(a)%>

 Các hàm khác : Cbyte, Cdbl,CSng, Cbool, Ccur,

4.5.5.4 Các hàm format

Các hàm này cho phép đ nh d ng d li uị ạ ữ ệ

a) FormatDateTime:Tr v chu i đ nh d ng theo ki u DateTime.ả ề ỗ ị ạ ể Cú pháp: FormatDateTime(Date,[NamedFormat])

NamedFormat:

0: Ngay thang day du

1: Ngay thang theo kieu so 2: Ngay thang

3: Gio,phut 4: Phut, giay

Ví d :ụ FormatDateTime(ngay,0)

b) FormatCurrency: Tr v chu i đả ề ỗ ược đ nh d ng theo ki u ti n t .ị ạ ể ề ệ

Cú pháp: FormatCurrency(expression, [NumDigitsAfterDecimal]) Ví d : ụ FormatCurrency(tongtien, 3)

c) FormatNumber: Tr v chu i đ nh d ng theo ki u s .ả ề ỗ ị ạ ể ố

Cú pháp: FormatNumber(expression, [NumDigitsAfterDecimal]) Ví d : ụ FormatNumber(tonggiatri, 3)

d) FormatPercent: Tr v chu i đả ề ỗ ược đ nh d ng theo ki u ph n trăm.ị ạ ể ầ

Cú pháp: FormatPercent(expression, [NumDigitsAfterDecimal])

4.5.5.5 Các hàm ngày tháng

a) Date: Tr v ngày hi n hành trên Server.ả ề ệ b) Time: Tr v gi hi n hành.ả ề ờ ệ

c) Now: Tr v ngày gi hi n hành trên Server.ả ề ờ ệ

Các hàm khác: DateAdd, DateDiff, Year, Month, Day, Weekday, Hour, Minute, Second

Ví d :ụ

<%

Response.write “Hom nay la ngay: ” &Date ‘Date tr v ngày hi nả ề ệ hành

Response.write Now ‘Now tr v ngày và gi hi n hànhả ề ờ ệ %>

4.5.5.6 Các hàm ki m tra

Các hàm này cho phép ki m tra ki u c a bi n và bi u th cể ể ủ ế ể ứ • Isdate: Ki m tra có ph i đúng ki u ngày tháng không?ể ả ể

<%Dim a

a=”1/1/2004”

If Isdate(a) then

Response.write “a đúng là ki u ngày tháng ”ể End if

%>

• IsNumeric: Ki m tra có ph i đúng ki u s không?ể ả ể ố <%Dim a A=”13” If IsNumeric(a) then Response.write “a đúng là ki u s ”ể ố End if %>

• Các hàm khác: IsArray, IsEmpty, IsNull, IsObject

4.5.5.7 Th t c và hàm ngủ ụ ười dùng

Cũng nh các ngôn ng l p trình khác, VBScript cho phép ngư ữ ậ ười dùng đ nh nghĩa và sị ử d ng các th t c ,hàm. ụ ủ ụ Nh v y chờ ậ ương trình có th chia thành các module nh t o nên c uể ỏ ạ ấ trúc l p trình sáng s a (phậ ủ ương pháp chia đ tr ).ể ị

Ch ng h n v i m t bài toán ASP c n th c hi n vi c hi n th d li u t Database raẳ ạ ớ ộ ầ ự ệ ệ ể ị ữ ệ ừ màn hình, ta có th xây d ng các th t c hay hàm th c hi n t ng nhi m v đó:ể ự ủ ụ ự ệ ừ ệ ụ

- Th t c KetNoiủ ụ - Th t c HienThiủ ụ - Th t c HuyKetNoiủ ụ Nh v y ph n chư ậ ầ ương trình chính s r t sáng s a, chúng ta ch vi c g i 3 th t c:ẽ ấ ủ ỉ ệ ọ ủ ụ <% KetNoi HienThi HuyKetNoi %>Th t củ ụ Th t c th c hi n m t nhóm các câu l nh. Đ vi t m t th t c chúng ta theo c u trúcủ ụ ự ệ ộ ệ ể ế ộ ủ ụ ấ sau:

<%Sub TenThuTuc(Tham so) ‘ Ph n thân c a th t cầ ủ ủ ụ End Sub

%>

Ví d :ụ

Xây d ng chự ương trình đăng nh p g m 2 file: Form.asp (hi n th form đ ngậ ồ ể ị ể ười dùng nh p username và password), Xulyform.asp (x lý form, n u username=”test” vàậ ử ế

password=”test” thì thông báo đăng nh p thành công, n u không thì thông báo đăng nh p th tậ ế ậ ấ b i). File Xulyform.asp s vi t th t c và g i th t c này:ạ ẽ ế ủ ụ ọ ủ ụ

<html> <body>

<form method="post" action="xulyform.asp"> <input type="text" name="user">

<input type="password" name="pass">

<input type="submit" value=”Login” name="submit"> </form>

</body> </html>

Xulyform.asp

<%Sub CheckUser(username,password)

if (username<>"test") or (password <> "test") then response.write "Dang nhap that bai!"

else

response.write "Dang nhap thanh cong!" end if End Sub %> <% dim a, b a=request.form("user") b=request.form("pass") CheckUser a,b ‘g i th t cọ ủ ụ %>  Hàm Hàm khác v i th t c là nó tr v m t k t qu . Đ vi t m t hàm chúng ta vi t theoớ ủ ụ ả ề ộ ế ả ể ế ộ ế c u trúc sau:ấ

<%Function TenFunction(tham so) ‘ Ph n n i dung c a hàmầ ộ ủ

End Function %>

Chú ý trong n i dung c a hàm bao gi cũng ph i có m t l nh tr v k t qu :ộ ủ ờ ả ộ ệ ả ề ế ả TenFunction=...

V i bài toán đăng nh p trên chúng ta có th vi t l i nh sau (file xulyform.asp dùngớ ậ ở ể ế ạ ư hàm) Form.asp <html> <body> <form method="post" action="xulyform.asp">

<input type="text" name="user"> <input type="password" name="pass"> <input type="submit" name="submit"> </form>

</body> </html>

Xulyform.asp

<%Function CheckUser(username,password)

if (username<>"test") or (password <> "test") then CheckUser="False"

CheckUser="True" end if End Function %> <% dim a a=CheckUser(request.form("user"),request.form("pass")) ‘ g iọ hàm if a="True" then

response.write "Dang nhap thanh cong" else

response.write "Dang nhap that bai" end if

%>

4.5.6 S d ng th #includeử ụ

Trong trường h p mu n tr n mã ngu n t 1 file asp vào 1 file asp khác trợ ố ộ ồ ừ ước khi server th c thi nó, ngự ười ta dùng th đ nh hẻ ị ướng #include v i cú phápớ

<!--#include file=”DuongDan_Denfile”--> ho c ặ <!--#include virtual=”DuongDan_Denfile”--> Ví d : ụ <!--#include file=”Component/Banner.asp”--> <!--#include virtual=”/QLSV/Component/Banner.asp”--> Ghi chú:

Người ta thường include file ch a các hàm th vi n dùng chung cho c ng d ng vàoứ ư ệ ả ứ ụ đ u file Asp nào c n s d ng th vi n này, ho c insert các file Header và Footer cho 1 trangầ ầ ử ụ ư ệ ặ web, insert các thành ph n đầ ượ ử ục s d ng chung trong nhi u file asp nh menu,...ề ư

N u s d ng cú pháp v i t khóa virtual thì yêu c u ph i có đế ử ụ ớ ừ ầ ả ường d n đ y đ tẫ ầ ủ ừ Alias trong IIS.

Trong ví d trên, Alias QLSV đụ ượ ấc c u hình trong IIS đ ch để ỉ ường d n đ n th m cẫ ế ư ụ ch a trang web.ứ

Trang Web ASP được include không được ch a đo n code:ứ ạ

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> n u trang chính s d ng nó đã cóế ử ụ đo n mã này.ạ

Ví d :ụ Xây d ng 1 trang index.asp có b c c c đi n bao g m:ự ố ụ ổ ể ồ

o M t Banner đ u trang.ộ ở ầ

o M t menu chính bên trái trang.ộ ở

o M t Footer cu i trang.ộ ở ố

Banner

Left Menu Body of pape

Footer Trong đó:

o Đ hi n th Banner ta xây d ng file Banner.aspể ể ị ự

o Đ hi n th Left Menu ta xây d ng file LeftMenu.aspể ể ị ự

o Đ hi n th Footer ta xây d ng file Footer.aspể ể ị ự

Ví d :ụ

Trong ng d ng ASP có nhi u trang c n thao tác v i database, chúng ta s vi t riêngứ ụ ề ầ ớ ẽ ế module thao tác v i database ra m t file myConnection.asp, r i include file này vào trang aspớ ộ ồ nào mu n thao tác v i database v i đo n mã sau:ố ớ ớ ạ

<!--#include file=“myConnection.asp"-->

‘ mã ngu n s s d ng các hàm trong file MyConnection.aspồ

%>

Chú ý:

Include file ph i đả ược th c hi n trự ệ ước khi các vi t script s d ng đ n nó.ế ử ụ ế

4.5.7 Các đ i tố ượng xây d ng s n trong ASPự

Đ i tố ượng là m t nhóm các hàm và bi n. Trong ngôn ng ASP, m t s đ i tộ ế ữ ộ ố ố ượng đã

Một phần của tài liệu Giới thiêu ngôn ngữ HTML - Dùng để thiết kế Web (Trang 79)

Tải bản đầy đủ (PDF)

(101 trang)