51
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN MÔN HỌC: Giáo viên giảng dạy: Nguyễn Trung Phú Tổng số tiết: 60 tiết THIẾT KẾ WEB SLT 2006 2 Bài 1:Giới thiệu về ASP ASP (Active Server Pages) lμ mét m«i tr-êng lËp tr×nh cung cÊp cho viÖc kÕt hîp HTML, ng«n ng÷ kÞch b¶n (Scripting) nh- VBScript, Javacript, vμ c¸c thμnh phÇn ®-îc viÕt trong c¸c ng«n ng÷ nh»m t¹o ra mét øng dông Internet m¹nh mÏ vμ hoμn chØnh SLT 2006 3 PhÇn më réng lμ: * .ASP Ni dung cha: -C¸c thÎ HTML -C¸c kÞch b¶n: VBSCript, JavaScript -C¸c c©u lÖnh ASP script C¸ch khai b¸o: -C¸c script cña ASP ®-îc n»m trong cÆp thÎ <% %> C«ng nghÖ ASP: ®-îc x©y d-ng trùc tiÕp bªn trong ; IIS(WinNT, 2000), Personal Webserver Bài 1:Giới thiệu về ASP(…) I. Trang ASP

Bai Giang ASP

Embed Size (px)

Citation preview

Page 1: Bai Giang ASP

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

MÔN HỌC:

Giáo viên giảng dạy: Nguyễn Trung Phú

Tổng số tiết: 60 tiết

THIẾT KẾ WEB

SLT 2006 2

Bài 1:Giới thiệu về ASP

• ASP (Active Server Pages) lµ mét m«i tr­êng lËp

tr×nh cung cÊp cho viÖc kÕt hîp HTML, ng«n ng÷

kÞch b¶n (Scripting) nh­ VBScript, Javacript, vµ

c¸c thµnh phÇn ®­îc viÕt trong c¸c ng«n ng÷

nh»m t¹o ra mét øng dông Internet m¹nh mÏ vµ

hoµn chØnh

SLT 2006 3

• PhÇn më réng lµ: * .ASP

• Nội dung chứa:

-C¸c thÎ HTML

-C¸c kÞch b¶n: VBSCript, JavaScript

-C¸c c©u lÖnh ASP script

• C¸ch khai b¸o:

-C¸c script cña ASP ®­îc n»m trong cÆp thÎ <% %>

• C«ng nghÖ ASP: ®­îc x©y d­ng trùc tiÕp bªn trong ;

IIS(WinNT, 2000), Personal Webserver

Bài 1:Giới thiệu về ASP(…)

I. Trang ASP

Page 2: Bai Giang ASP

SLT 2006 4

Bài 1:Giới thiệu về ASP(tiếp)

II.Ho¹t ®éng cña trang ASP

Trang HTML tÜnh:

SLT 2006 5

Bài 1:Giới thiệu về ASP(…)

II.Ho¹t ®éng cña trang ASP…

Trang web ®éng (Dynamic):

SLT 2006 6

Bài 1:Giới thiệu về ASP(…)

III. Giíi thiÖu vÒ IIS- Internet Information Server

1. Kh¸I niÖm vÒ IIS

• Microsoft Internet Information Server lµ mét øng dông

server chuyÓn giao th«ng tin b»ng viÖc sö dông giao thøc

chuyÓn ®æi siªu v¨n b¶n HTTP

Page 3: Bai Giang ASP

SLT 2006 7

Bài 1:Giới thiệu về ASP(…)

III. Giíi thiÖu vÒ IIS- Internet Information Server…

2. Ho¹t ®éng cña IIS

• Web, vÒ c¬ b¶n thùc sù lµ mét hÖ thèng c¸c yªu cÇu

(Request) vµ c¸c ®¸p øng (Response). IIS ph¶n håi l¹i

c¸c yªu cÇu ®ßi th«ng tin cña Web Browser. IIS l¾ng nghe

c¸c yªu cÇu ®ã tõ phÝa Users trªn mét m¹ng sö dông

WWW.

SLT 2006 8

Bài 1:Giới thiệu về ASP(…)

III. Giíi thiÖu vÒ IIS- Internet Information Server…

3. Cµi ®Æt IIS

• Bước1:

Vµo Control Panel=>Add/removeprograms=>Add/remove

Windows Components=>Internet Information Services (IIS)

vµ chän cµi ®Æt phÇn nµy

SLT 2006 9

Bài 1:Giới thiệu về ASP(…)

III. Giíi thiÖu vÒ IIS- Internet Information Server…

3. Cµi ®Æt IIS

• Bước2:C¸ch t¹o mét Virtual Directory trong IIS:

Vµo Web Server tõ Control Panel=> Administrative

Tools=>Internet Services Manager(hoặc Computer

Management)=> Default Website (Nõu thÊy no ®ang

stop th× start nã lªn) => New=> Virtual Directory

Page 4: Bai Giang ASP

SLT 2006 10

Bài 1:Giới thiệu về ASP(…)

III. Giíi thiÖu vÒ IIS- Internet Information Server…

3. Cµi ®Æt IIS…

• Bước2:C¸ch t¹o mét Virtual Directory trong IIS:

SLT 2006 11

Bài 1:Giới thiệu về ASP(…)

IV. ViÕt trang ASP

<html>

<head>

<title>New Page 1</title>

</head>

<body>

<% response.write"Hello!“ „Hiển thị lời chào Hello

%>

</body>

</html>

Viết trang Hello.asp tại phía Server

SLT 2006 12

Bài 1:Giới thiệu về ASP(…)

V. Truy cËp trang ASP

• Mở trình duyệt (ví dụ Internet Explorer), trên thanh địa chỉ

gõ địa chỉ sau đây để truy cập vào trang Asp ta đã tạo ra:

http://localhost/test/Hello.asp

• Lưu ý: trang asp phải chạy trên web server chứ không

thể open trực tiếp với browser như các trang html.

Page 5: Bai Giang ASP

SLT 2006 13

Bài 1:Giới thiệu về ASP(…)

V. Truy cËp trang ASP…

• Cách Webserver xử lý một trang ASP

ASP engine xử lý file asp trước khi trả về cho browser

SLT 2006 14

Bài 1:Giới thiệu về ASP(…)

V. Truy cËp trang ASP…

• Kết quả biên dịch một trang ASP tại phía máy client

SLT 2006 15

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT

Page 6: Bai Giang ASP

SLT 2006 16

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT

• Là một ngôn ngữ kịch bản, nó là tập con của ngôn ngữ

Visual Basic cho ứng dụng , được phát triển bởi Microsoft

để thêm khả năng tương tác cho trang Web.

I. VBScript là gì?

SLT 2006 17

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

<HTML>

<HEAD><TITLE>Loi chao</TITLE></HEAD>

<BODY>

<SCRIPT language="VBScript" >

<!--

Các câu lệnh VBScript

-->

</SCRIPT>

</BODY>

</HTML>

II. Sử dụng VBScript trong trang Web?

SLT 2006 18

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

<HTML>

<HEAD><TITLE>Loi chao</TITLE>

</HEAD>

<BODY>

<SCRIPT language="VBScript" >

<!--MsgBox"xin chao cac ban"

-->

</SCRIPT>

</BODY>

</HTML>

Ví dụ

Page 7: Bai Giang ASP

SLT 2006 19

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến

1. Cách ghi chú trong VBSScript

• Chú thích trong VBScript được đặt sau dấu nháy đơn

hoặc sau từ khoá Rem.

SLT 2006 20

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

2. Các kiểu dữ liệu cơ bản

III. Biểu thức, toán tử, kiểu và biến…

Boolean Kiểu logic: giá trị gồm True hoặc False

Byte Số nguyên từ 0->255

Currency Kiểu số từ giá trị -922,337,203,685,477.5808

đến giá trị 922,337,203,685,477.5808

Date(Time) Kiểu ngày giờ từ Jan,1,100 đến Dec 31,9999

Double Số thực

String Kiểu chuỗi

SLT 2006 21

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến…

3. Các Toán tử

• Toán tử gán

To¸n tö g¸n lµ dÊu b»ng (=) nh»m thùc hiÖn viÖc g¸n gi¸ trÞ

cña to¸n h¹ng bªn ph¶i cho to¸n h¹ng bªn tr¸i

Page 8: Bai Giang ASP

SLT 2006 22

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến…

3. Các Toán tử…

• Toán tử So sánh

= So s¸nh b»ng

<> So s¸nh kh¸c

> So s¸nh lín h¬n

>= So s¸nh lín h¬n hoÆc b»ng

< So s¸nh nhá h¬n

<= So s¸nh nhá h¬n hoÆc b»ng

SLT 2006 23

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến…

3. Các Toán tử…

• Toán tử số học

Bªn c¹nh c¸c to¸n tö céng (+), trõ (-), nh©n (*), chia (/) th«ng

th­êng, VBScript cßn hç trî c¸c to¸n tö sau ®©y:

\ Phép chia lấy phần nguyên

Mod Phép chia lấy phần dư

& Phép nối chuỗi

SLT 2006 24

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến…

3. Các Toán tử…

• Toán tử logic

And Lµ to¸n tö logic AND, trả l¹i gi¸ trÞ ®óng

nÕu cả expr1 vµ expr2 cïng ®óng

Or Lµ to¸n tö logic OR, trả l¹i gi¸ trÞ ®óng

nÕu Ýt nhÊt mét trong hai expr1 vµ

expr2 ®óng.

Not Lµ to¸n tö logic phñ ®Þnh gi¸ trÞ cña

expr.

Page 9: Bai Giang ASP

SLT 2006 25

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến… 4. Biến

-BiÕn toµn côc: Cã thÓ ®­îc truy cËp tõ bÊt kú ®©u trong øng

dông.

-BiÕn côc bé: ChØ ®­îc truy cËp trong ph¹m vi ch­¬ng tr×nh

mµ nã khai b¸o. Có ph¸p:

Dim <Tªn biÕn> [as kiểu dữ liệu]

Dim MyVar, MyNum ' Khai báo 2 biến.

SLT 2006 26

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến… 5. Hằng

-Hằng số:Là thành phần có giá trị không đổi

Có ph¸p:

Const <Tªn hằng>=Gi¸ trị

VÝ dô:

Const PI=3.1415967

SLT 2006 27

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

III. Biểu thức, toán tử, kiểu và biến…

6.Làm việc với mảng

-Khai báo biến kiểu mảng:

Dim <Tên biến>([kích thước của mảng])

Dim Names(9) ' Khai báo 1 mảng Names có 10 phần tử.

Dim Names() ' Khai báo mảng động.

Dim Names(2,1) ' Khai báo mảng hai chiều.

Page 10: Bai Giang ASP

SLT 2006 28

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript

1.Câu lệnh điều kiện và lựa chọn

-Câu lệnh If...Then

if <®iÒu kiÖn> Then

//C¸c c©u lÖnh víi ®iÒu kiÖn ®óng

End If

SLT 2006 29

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript …

1.Câu lệnh điều kiện và lựa chọn…

-Câu lệnh If...Then...Elseif

If <®iÒu kiÖn 1> Then

//C¸c c©u lÖnh víi ®iÒu kiÖn 1 ®óng

elseIf <điều kiện 2> Then

//C¸c c©u lÖnh víi ®iÒu kiÖn 2 đóng

………………………………………………..

Else

//C¸c c©u lÖnh khi kh«ng ®iÒu kiÖn nµo đóng

End If

SLT 2006 30

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript …

1.Câu lệnh điều kiện và lựa chọn…

-Câu lệnh select case

select case <BiÓu thøc>

Case <điều kiện 1>

//C¸c c©u lÖnh 1

Case <điều kiện 2>

//C¸c c©u lÖnh 2 ……………………………………...

Case else

//C¸c c©u lÖnh khi kh«ng ®iÒu kiÖn nµo tho¶ m·n

End case

Page 11: Bai Giang ASP

SLT 2006 31

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp

-Câu lệnh For...Next

For biến_đếm = bắt_đầu To kết_thúc [Step bước_nhẩy]

[nhóm_lệnh]

Next

SLT 2006 32

Thành phần Mô tả

biến_đếm Biến kiểu số dùng như bộ đếm lặp. Không được dùng

biến kiểu mảng.

bắt_đầu Giá trị ban đầu của biến đếm.

kết_thúc Giá trị cuối cùng của biến đếm.

bước_nhảy Số lượng tăng thêm của biến đếm sau mỗi lần lặp.Nếu

không chỉ định thì bước nhảy là 1.

nhóm_lệnh 1 hoặc nhiều câu lệnh mà For và Next sẽ thực hiện

theo số lần lặp đã chỉ định.

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript … 2.Câu lệnh lặp…

-Câu lệnh For...Next

SLT 2006 33

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript … 2.Câu lệnh lặp…

-Câu lệnh For...Next

<HTML><HEAD><TITLE>Hien thi</TITLE>

</HEAD>

<BODY><SCRIPT language="VBScript" >

<!--

Dim i

for i=1 to 9

document.write(i)

Next

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

Page 12: Bai Giang ASP

SLT 2006 34

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript … 2.Câu lệnh lặp…

-Câu lệnh For Each...Next

For Each thành_phần In nhóm

[nhóm_lệnh]

Next

SLT 2006 35

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp…

-Câu lệnh For Each...Next

Thành phần Mô tả

thành_phần Biến dùng để lặp với tất cả các thành phần của tập

hợn(collection) hoặc array.

nhóm Tên của tập hợp hoặc array.

nhóm_lệnh 1 hoặc nhiều lệnh được thực hiện lặp theo từng mục

(item) trong nhóm.

SLT 2006 36

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp…

-Câu lệnh Do...Loop: thực hiện lặp trong khi ĐK đúng

Do While điều_kiện đúng

[khối_lệnh]

Loop

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp…

Page 13: Bai Giang ASP

SLT 2006 37

-Câu lệnh Do...Loop: thực hiện lặp trong khi ĐK đúng…

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp…

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

Do

[khối_lệnh]

Loop While điều_kiện đúng

Chú ý:vòng lặp thực hiện ít nhất một lần

SLT 2006 38

-Câu lệnh Do...Loop: thực hiện lặp cho đến khi ĐK đúng

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp…

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

Do Until điều_kiện đúng

[khối_lệnh]

Loop

SLT 2006 39

IV. Các lệnh điều khiển của VBscript …

2.Câu lệnh lặp…

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

-Câu lệnh Do...Loop: thực hiện lặp cho đến khi ĐK đúng…

Do

[khối_lệnh]

Loop Until điều_kiện đúng

Chú ý:vòng lặp thực hiện ít nhất một lần

Page 14: Bai Giang ASP

SLT 2006 40

V. Thủ tục và hàm trong VBscript

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

1.Hàm trong Vbscript

Function tên_hàm (danh_sách_đối_số)

[nhóm_lệnh]

End Function

2.Thủ tục trong Vbscript

Sub tên_hàm (danh_sách_đối_số)

[nhóm_lệnh]

End Sub

Thủ tục iống như hàm nhưng không trả về giá trị.

SLT 2006 41

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong VBscript

1. Hàm Abs(number): trả về trị tuyệt đối của number

Ví dụ:

Dim MyNumberMyNumber = Abs(50.3) ' Trả về 50.3.MyNumber = Abs(-50.3) ' Trả về 50.3.

2. Hàm Array(arglist): trả về 1 biến chứa mảng, arglist là

danh sách giá trị của mảng cách nhau bằng dấu phẩy(,).

Ví dụ:

Dim A

A = Array(10,20,30) B = A(2) ' B = 30.

SLT 2006 42

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

3. Hàm CStr(expression): chuyển biểu thức số expression

sang chuỗi.

Ví dụ:

Dim MyDouble, MyString

MyDouble = 437.324 ' MyDouble là 1 Double.

MyString = CStr(MyDouble) ' MyString chứa "437.324".

Page 15: Bai Giang ASP

SLT 2006 43

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

4. Hàm Date trả về ngày hiện tại

Ví dụ

Dim MyDate

MyDate = Date ' MyDate chứa ngày hiện tại

5. Hàm DateValue(strdate): trả về ngày từ chuỗi dạng ngày

Ví dụ:

Dim MyDate

MyDate = DateValue("September 11, 1963") ' Trả về 1 date.

SLT 2006 44

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

6. Hàm Eval

Cú pháp: [result = ]Eval(expression)

Thành phần Mô tả

result Tùy chọn. Biến nhận kết quả

trả về khi Eval thực hiện

expression Phải có. Chuỗi chứa biểu

thức VBScript bất kỳ.

SLT 2006 45

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

6. Hàm Eval…

Ví dụ

Sub GuessANumber

Dim Guess, RndNum

RndNum = Int((100) * Rnd(1) + 1)

Guess = CInt(InputBox("Enter your guess:",,0))

Do

If Eval("Guess = RndNum") Then

MsgBox "Congratulations! You guessed it!"

Exit Sub

Else Guess = CInt(InputBox("Sorry! Try again.",,0))

End If

Loop Until Guess = 0

End Sub

Page 16: Bai Giang ASP

SLT 2006 46

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

7. Hàm LCase(string): Chuyển chuỗi string sang chữ

thường

Ví dụ:

Dim MyString

Dim LCaseString

MyString = "VBSCript"

LCaseString = LCase(MyString) ' LCaseString chứa "vbscript"

SLT 2006 47

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

8. Hàm UCase(string): Chuyển chuỗi string sang chữ hoa

Ví dụ:

Dim MyString

Dim LCaseString

MyString = "VBSCript"

LCaseString = UCase(MyString) ' LCaseString chứa “VBSCRIPT"

SLT 2006 48

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

9. Hàm Len(String|Varname): Trả về độ số lượng ký tự

chứa trong String hoặc biến Varname

Ví dụ:

Dim MyString

MyString = Len("VBSCRIPT") ' MyString chứa 8.

Page 17: Bai Giang ASP

SLT 2006 49

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

10. Hàm LTrim(String): trả về chuỗi String nhưng đã cắt bỏ

các khoảng trắng trước(bên trái) chuỗi

11. Hàm RTrim(String): trả về chuỗi String nhưng đã cắt bỏ

các khoảng trắng sau(bên phải) chuỗi

12. Hàm Trim(String): trả về chuỗi String nhưng đã cắt bỏ

các khoảng trắng trước và sau(trái & phải) chuỗi

SLT 2006 50

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

13. Hàm Mid(string, start[, length]): trả về chuỗi cắt ra

length ký tự từ chuỗi string bắt đầu từ vị trí start. Nếu

length không chỉ ra thì lấy đến cuối chuỗi.

14. Hàm Left(String, Length): Trả về Length ký tự bên trái

của String

15. Hàm Right(String, Length): Trả về Length ký tự bên

phảii của String

SLT 2006 51

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

Ví dụ:

Dim MyVar

MyVar = Mid("VB Script is fun!", 4, 6) ' MyVar chứa "Script".

Dim MyString, LeftString

MyString = "VBSCript"

LeftString = Left(MyString, 3) ' LeftString chứa "VBS".

Dim MyString, RightString

MyString = "VBSCript"

RightString = Right(MyString, 6) ' LeftString chứa "SCript".

Page 18: Bai Giang ASP

SLT 2006 52

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

16. Hàm Now: Trả về ngày và giờ hiện tại

17. Hàm Space(Number): Trả về 1 chuỗi có Number ký tự

trắng

Ví dụ:

Dim MyString

MyString = Space(10) ' Trả về 1 chuỗi có 10 khoảng trắng.

MyString = "Hello" & Space(10) & "World" ' Chèn 10 khoảng trắng giữa 1 chuỗi.

SLT 2006 53

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

18. Hàm Time: Trả về giờ hiện tại

19. Hàm TimeValue(Time): Trả về giờ từ chuỗi giờ Time

Ví dụ:

Dim MyTime

MyTime = TimeValue("4:35:17 PM") ' MyTime chứa 4:35:17 PM.

SLT 2006 54

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

23. Hàm MsgBox

Mô tả

Hiển thị hộp thoại thông báo, chờ người sử dụng click 1 nút và trả về 1 giá trị.

Cú pháp

MsgBox(thông báo, nút hiển thị, tiêu đề)

Page 19: Bai Giang ASP

SLT 2006 55

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị

Hằng Giá trị Mô tả

vbOKOnly 0 Chỉ hiện nút OK.

vbOKCancel 1 Hiện OK và Cancel .

vbAbortRetryIgnore 2 Hiện Abort, Retry, và Ignore .

vbYesNoCancel 3 Hiện Yes, No, và Cancel .

vbYesNo 4 Hiện Yes và No .

vbRetryCancel 5 Hiện Retry và Cancel .

SLT 2006 56

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",0, "MsgBox Example")

-->

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

SLT 2006 57

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",1, "MsgBox Example")

-->

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

Page 20: Bai Giang ASP

SLT 2006 58

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",2, "MsgBox Example")

-->

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

SLT 2006 59

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",3, "MsgBox Example")

-->

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

SLT 2006 60

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",4, "MsgBox Example")

-->

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

Page 21: Bai Giang ASP

SLT 2006 61

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",5, "MsgBox Example")

-->

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

SLT 2006 62

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị

Hằng Giá trị Mô tả

vbCritical 16 Hiện Critical Message icon.

vbQuestion 32 Hiện Warning Query icon.

vbExclamation 48 Hiện Warning Message icon.

vbInformation 64 Hiện Information Message icon.

SLT 2006 63

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",16, "MsgBox Example")

-->

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

Page 22: Bai Giang ASP

SLT 2006 64

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",32, "MsgBox Example")

-->

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

SLT 2006 65

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",48, "MsgBox Example")

-->

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

SLT 2006 66

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Nút hiển thị-Ví dụ áp dụng

<HTML><HEAD><TITLE>Hien thi </TITLE></HEAD>

<BODY><SCRIPT language="VBScript" >

<!--Dim MyVar

MyVar = MsgBox ("Hello World!",64, "MsgBox Example")

-->

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

Page 23: Bai Giang ASP

SLT 2006 67

Hằng

Giá trị Nút

vbOK 1 OK

vbCancel 2 Cancel

vbAbort 3 Abort

vbRetry 4 Retry

vbIgnore 5 Ignore

vbYes 6 Yes

vbNo 7 No

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript… 20. Hàm MsgBox…

Hàm MsgBox trả về các giá trị sau:

SLT 2006 68

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VII. Bài tập vận dụng

Bài tập 1

Cho phép người dùng nhập vào một số Viết chương trình VBscript để kiểm tra tính chẵn lẻ của số vừa nhập vào rồi thông báo ra màn hình

SLT 2006 69

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VII. Bài tập vận dụng

Bài tập 2

Cho phép người dùng nhập vào một số Viết chương trình VBscript để kiểm tra số vừa nhập vào có phải là số nguyên tố hay không rồi thông báo ra màn hình

Page 24: Bai Giang ASP

SLT 2006 70

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VII. Bài tập vận dụng

Bài tập 3

Cho phép người dùng nhập vào một số Viết chương trình VBscript để kiểm tra số vừa nhập vào như sau

SLT 2006 71

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

21. Hàm Cdate(strdate): trả về ngày từ chuỗi dạng ngày

Ví dụ:

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

SLT 2006 72

Bài 2:Ngôn ngữ kịch bảnVBSCRIPT…

VI. Các hàm có sẵn trong Vbscript…

22. Hàm Cint(str): Chuyển sang kiểu Integer

Ví dụ:

Dim a, b

a=”3” „a đang được hiểu là một chuỗi

b=Cint(a) „chuyển chuỗi a sang đúng kiểu số nguyên

Page 25: Bai Giang ASP

SLT 2006 73

Bài 3:Lập trình Web với ASP

I. Cú pháp cơ bản của ASP

CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP

• Bắt đầu bằng <%: thẻ mở

• Kết thúc với %>: thẻ đóng

• Ở giữa cặp thẻ này là các đoạn script được xử lý ở

server

• Có thể đưa các script vào bất kỳ vị trí nào trong trang

Web-thậm chí bên trong các thẻ HTML.

SLT 2006 74

• Ngôn ngữ kịch bản mặc định trpng ASP là VBScript, do

đó khi bạn không chỉ rõ ngôn ngữ kịch bản sẽ dùng trong

ASP thì mặc định VBScript được dùng

Bài 3:Lập trình Web với ASP

I. Cú pháp cơ bản của ASP

CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP…

SLT 2006 75

Bài 3:Lập trình Web với ASP

I. Cú pháp cơ bản của ASP

CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP…

Ví dụ:Sử dụng ngôn ngữ VBScript

<html> <head><title>ví dụ</title></head>

<body>

<% Dim i

For i=1 to 10

Response. Write “Number=“ & i & “<br>”

Next

%></body> </html>

Page 26: Bai Giang ASP

SLT 2006 76

Bài 3:Lập trình Web với ASP

CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP…

I. Cú pháp cơ bản của ASP

Ví dụ:Sử dụng ngôn ngữ VBScript

<html> <head><title>ví dụ</title></head>

<%@ language=“VBScript” %>

<body>

<% Dim i

For i=1 to 10

Response.Write “Number=“ & i & “<br>”

Next

%></body> </html>

SLT 2006 77

Bài 3:Lập trình Web với ASP

CÊu tróc vµ c¸c dßng lÖnh c¬ b¶n cña ASP…

I. Cú pháp cơ bản của ASP

Ví dụ:Sử dụng ngôn ngữ JavaScript

<html> <head><title>ví dụ</title></head>

<%@ language="JavaScript" %>

<body> <%

for(i=1;i<=10; i++)

{

Response.Write ("Number"+i+"<br>")

} %></body> </html>

SLT 2006 78

Bài 3:Lập trình Web với ASP

II. Thủ tục trong ASP

Ví dụ:Gọi thủ tục VBScript từ ASP cách 1

<html> <head>

<%

Sub vbnhan(so1,so2)

Response.Write(so1*so2)

End Sub %>

</head><body>

<% dim a,b

a=7

b=6

Call vbnhan(a,b)

%></body></html>

Page 27: Bai Giang ASP

SLT 2006 79

Bài 3:Lập trình Web với ASP

II. Thủ tục trong ASP…

Ví dụ:Gọi thủ tục VBScript từ ASP cách 2

<html> <head>

<%

Sub vbnhan(so1,so2)

Response.Write(so1*so2)

End Sub %>

</head><body>

<% dim a,b

a=7

b=6

vbnhan a,b

%></body></html>

SLT 2006 80

II. Thủ tục trong ASP…

Ví dụ:Gọi thủ tục JavaScript từ ASP

<html> <% @ language="JavaScript" %>

<head><%

function jsnhan(so1,so2) {

Response.Write(so1*so2)

} %>

</head><body>

<%

var a,b,c

a=7

b=6

jsnhan(a,b) %></body> </html>

Bài 3:Lập trình Web với ASP

SLT 2006 81

II. Thủ tục trong ASP…

Bài 3:Lập trình Web với ASP

Ví dụ:Gọi thủ tục JavaScript và VBScript trong cùng tệp tin ASP

<html> <head><%

Sub vbnhan(so1,so2)

Response.Write(so1*so2)

End Sub %>

<script language="Javascript" runat="server">

function jscong(so1,so2) {

Response.Write(so1+so2)

} </script></head><body>

<% a=7

b=6

vbnhan a,b%><br>

<% Call jscong(a,b)

%></body></html>

Page 28: Bai Giang ASP

SLT 2006 82

• Request cho phép lấy về các thông tin từ client

• Khi browser gửi một yêu cầu trang web lên server ta

gọi là 1 request

Bài 4:Các đối tượng ASP

I. Đối tượng Request

Cú pháp

Request.Collection\Propety\Method

SLT 2006 83

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Cookies

• Cookies là một tập tin nhỏ dạng văn bản mà Web

server lưu trên máy của người dùng khi họ viếng thăm

một trang web nào đó trên server

SLT 2006 84

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Cookies

• Nhận giá trị Cookies với cú pháp

Request.Cookies(name) [(key)|. attribute]

Ví dụ: Gán giá trị của Cookies có tên là “member” cho

biến username và gởi đến trình duyệt

<% username=Request.Cookies(“member”)

Response. Write”member:”&username

%>

Page 29: Bai Giang ASP

SLT 2006 85

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Form

• Tập hợp này được dùng để nhận các giá trị của cácthành phần điều khiển trên Form khi Form dùngphương thức POST

• Cú pháp

Request.Form(element) [(index)|. Count]

SLT 2006 86

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Form

Tham số Ý nghĩa

element • Bắt buộc. Đây là tên của thành phần trên

Form mà bạn muốn đọc giá trị

index • Chỉ ra giá trị chỉ mục của tham số(Từ 1

đến Request.Form(element). Count])

SLT 2006 87

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Form: Chẳng hạn file form.asp:

<form method=”POST” action =”xulyform.asp”>

Username<input type=”text” name=”User”> <Br>

<input type=”submit” name=”submit” value=”Nhan vao

day de sang trang gioi thieu”>

</form>

Page 30: Bai Giang ASP

SLT 2006 88

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Form: Kết quả file form.asp:

SLT 2006 89

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Form: File xulyform.asp

<html><body>

<%

Dim x

x=Request.form(“User”) %>

response.write “Tên người dùng là: ”&x

%>

</body></html>

SLT 2006 90

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-Form: File xulyform.asp

Page 31: Bai Giang ASP

SLT 2006 91

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-QueryString

• Tập hợp này được dùng để nhận các giá được gửi từ

người dùng qua URL hoặc form khi Form sử dụng

phương thức GET

• Cú pháp

Request.QueryString(variable) [(index)|. Count]

SLT 2006 92

Tham số Ý nghĩa

variable • Bắt buộc. Đây là tên biến trong chuỗi truy

vấn HPPT

index • Chỉ ra giá trị chỉ mục của biến trong chuỗi

truy vấn tham số(Từ 1 đến

Request.QueryString (element). Count])

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-QueryString

SLT 2006 93

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

<html><body>

<% response.write"Hello" %><br>

<a href=”gioithieu.asp?tacgia=Tran Van A”>Nhấn vào

đây để sang trang giới thiệu</a>

</body></html>

-QueryString: trang home.asp

Page 32: Bai Giang ASP

SLT 2006 94

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-QueryString: trang home.asp

SLT 2006 95

1. Các tập hợp(Collection) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-QueryString: trang gioithieu.asp

• Server muốn nhận lại giá trị này thì dùng

request.QueryString ở trang gioithieu.asp

<%

dim a

a=request.querystring(“tacgia”) „lúc này a có gía trị là

“Tran Van A”

response.write “Tác giả của trang home.asp là: ” &a

%>

SLT 2006 96

2.Thuộc tính(Propety) TotalBytes của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

Thuộc tính TotalBytes là thuộc tính chỉ đọc và trả về tổng số

byte(tính trong phần Body) mà trình duyệt đã gởi

-Cú pháp:

Request.TotalBytes

Page 33: Bai Giang ASP

SLT 2006 97

Bài 4:Các đối tượng ASPBài 4:Các đối tượng ASP

I. Đối tượng Request…

Trang vidu6.asp

<html><body>

<form action="tongsobyte.asp"method="post">

Nhap ten:<input type="text"name="name"><br>

<input type="submit" value="submit">

</form></body></html>

2.Thuộc tính(Propety) TotalBytes của Request…

Trang tongsobyte.asp

<html><body>

<% if request.form("name")<>"" then

response.write(request.form("name")&"da goi")

response.write("<br>")

response.write("tong so byte la:")

response.write(request.Totalbytes)

End if

%></form></body></html>

SLT 2006 98

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

2.Thuộc tính(Propety) TotalBytes của Request…

SLT 2006 99

3.Phương thức(Method) của Request

Bài 4:Các đối tượng ASP

I. Đối tượng Request…

-BinaryRead: Phương thức này được dùng để nhận dữ liệu

được gửi đến Web server từ máy khách với phương thức

Post.Dữ liệu được lưu trong một mảng

-Cú pháp:

Request.BinaryRead(Count)

Count: Bắt buộc để chỉ ra số Byte sẽ được đọc

Page 34: Bai Giang ASP

SLT 2006 100

Bài 4:Các đối tượng ASP

II. Đối tượng Response

• Đối tượng Response dùng để gửi các đáp ứng của

server cho client

Cú pháp

Response.Collection\Propety\Method

• Đối tượng Response dùng để gửi các đáp ứng của

server cho client

Cú pháp

Response.Collection\Propety\Method

SLT 2006 101

1. Các tập hợp(Collection) của Response

-Cookies

Bài 4:Các đối tượng ASP

II. Đối tượng Response…

• Tạo lập Cookies với cú pháp

Response.Cookies(name) [(key)|. attribute] =value

SLT 2006 102

1. Các tập hợp(Collection) của Response…

-Cookies...

Bài 4:Các đối tượng ASP

II. Đối tượng Response…

• Name: tên Cookies. Bắt buộc phải có

• Value: Giá trị Cookies

• Attribute:Thuộc tính của Cookies

-domain:Chỉ ghi,cookies chỉ áp dụng cho domain này

-Expire:Chỉ ghi, chỉ ra ngày cookies hết hạn, nếu không chỉ

ra, mặc định cookies hết hạn khi phiên làm việc kết thúc

-Haskeys:Chỉ đọc, chỉ ra cookies có khoá hay không

-Path:Chỉ ghi,nếu thiết lập thì cookies chỉ được gởi tới yêu

cầu đến đờng dẫn này

-Secure:Chỉ ghi,chỉ ra rằng cookies được bảo mật

• Key: Chỉ ra khoá mà giá trị được gán

Page 35: Bai Giang ASP

SLT 2006 103

1. Các tập hợp(Collection) của Response…

-Cookies...

Bài 4:Các đối tượng ASP

II. Đối tượng Response…

• Ví dụ: tạo một tập cookies có tên là “user”. Cookies

“uer” có các khoá chứa thông tin về người dùng

<%

Response.Cookies(“user”) (“Ten”)=“Nam”

Response.Cookies(“user”) (“Ho”)=“Nguyen”

Response.Cookies(“user”) (“Ten dem”)=“Van”

Response.Cookies(“user”) (“Quoc tich”)=“Viet Nam”

Response.Cookies(“user”) (“Tuoi”)=“23”

%>

SLT 2006 104

2. Các thuộc tính (Propety) của Response

Bài 4:Các đối tượng ASP

II. Đối tượng Response

-Charset: Thuộc tính này nối tên của bộ ký tự vào header

content-type trong đối tượng response

Response.Charset(charsetname)

Ví dụ

<% response.Charset=”UTF-8” %>

SLT 2006 105

2. Các thuộc tính (Propety) của Response

Bài 4:Các đối tượng ASP

II. Đối tượng Response

-Expires: Thuộc tính này thiết lập thời gian (phút) mà trang

sẽ được lưu trên trình duyệt trước khi nó hết hạn

Response.Expires[=number]

number: là thời gian lưu (phút)

Ví dụ

<% Response.Expires=-1 %>

Thiết lập trên cho biết một trang không bao giừo được lưu

Page 36: Bai Giang ASP

SLT 2006 106

2. Các thuộc tính (Propety) của Response

Bài 4:Các đối tượng ASP

II. Đối tượng Response

-ExpiresAbsolute: Thuộc tính này thiết lậpngày gời hết hạn của

trang được lưu trên trình duyệt

Response.ExpiresAbsolute[=[date][time]]

number: là thời gian lưu (phút)

Ví dụ

<% Response.ExpiresAbsolute=#November 30,2007 17:00:00#

%>

Thiết lập trên cho biết một trangsẽ hết hạn vào lúc 5.PM ngày

30/11/2007

SLT 2006 107

3. Các phương thức (Method) của Response

Bài 4:Các đối tượng ASP

II. Đối tượng Response

-Write:Đưa thông tin ra màn hình trang web

Response.Write variant

Variant: Bắt buộc. Dữ liệu được ghi ra màn hình

SLT 2006 108

3. Các phương thức (Method) của Response

Bài 4:Các đối tượng ASP

II. Đối tượng Response

-Redirect :Chuyển xử lý sang một trang Asp khác

Response.Redirect URL

URL: Bắt buộc. Địa chỉ tới một trang web khác

Ví dụ: đoạn mã sau chuyển người dùng tới địa chỉ:

http://localhost/main.asp

<%

Response.Redirect “http://localhost/main.asp

%>

Page 37: Bai Giang ASP

SLT 2006 109

3. Các phương thức (Method) của Response

Bài 4:Các đối tượng ASP

II. Đối tượng Response

-End :Ngưng xử lý kịch bản và trả về kết quả hiện thời

Response.End

Ví dụ: đoạn mã sau chuyển người dùng tới địa chỉ:

<html>

<body><p>Dong thong tin nay duoc hien thi tren trinh duyet

<%Response.End%>

Nhung ban khong doc duoc thong tin nay</p>

</body>

</html>

SLT 2006 110

III. Đối tượng Session

Bài 4:Các đối tượng ASP

• Session là một phiên làm việc giữa từng người dùng

và web server

• Đối tượng Session được dùng để lưu trữ thông tin

hoặc những thay đổi thiết lập cho phiên làm việc của

từng người dùng riêng biệt

Cú pháp

Session.Collection\Propety\Method

SLT 2006 111

III. Đối tượng Session

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Session

-Contents

• Tập hợp này chứa tất cả các hạng mục được nối vào

Session

Session.Contents(key)

• Key: Đây là tên hạng mục. Bắt buộc phải có

• Contents là thuộc tính mặc định của Session, do đó

bạn có thể không dùng tập hợp Contents khi tạo biến

Session

Page 38: Bai Giang ASP

SLT 2006 112

• Ví dụ: Tạo và gán giá trị cho biến Session dùng tập

hợp Contents

<% Session.Contents(“games”)=“Mario”

Set Session.Contents(“objtest”)=Server.CreateObject(“ADDOB.Connection”)

%>

Ta có thể viết ngắn gọn hơn như sau

<% Session(“games”)=“Mario”

Set Session(“objtest”)=Server.CreateObject(“ADDOB.Connection”)

%>

III. Đối tượng Session

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Session

-Contents...

SLT 2006 113

• Để đọc tất cả các biến của Session ta có thể dùng vòng lặp như sau

<%

Session(“software”)=“Navision”

Session(“version”)=“4.0”

Session(“date”)=“23/10/2007”

For each x in Session.Contents

Response.Write(x&”=”&Session.Contents(x)&”<br>”)

Next

%>

III. Đối tượng Session

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Session

-Contents...

SLT 2006 114

III. Đối tượng Session

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Session

-StaticObjects

• Tập hợp này chứa tất cả các đối tượng được nối vào

Session với thẻ <object> trong HTML

Session.StaticObjects(key)

• Key: Đây là tên hạng mục. Bắt buộc phải có

Page 39: Bai Giang ASP

SLT 2006 115

• Ví dụ: Trong tập tin global.asa có sử dụng các đối tượng sau

<object runat=“server” scope=“session” id=“MsgBoard”

progid=“msgboard.MsgBoard”></object>

<object runat=“server” scope=“session” id=“AdRot”

progid=“MSWC.AdRottator”></object>

<%

For each x in Session.StaticObjects

Response.Write(x&”<br>”)

Next

%>

III. Đối tượng Session

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Session

-StaticObjects...

MsgBoard

AdRot

SLT 2006 116

III. Đối tượng Session

Bài 4:Các đối tượng ASP

-SessionID

• Thuộc tính này trả về số ID duy nhất cho mỗi người

dùng. Số ID này được sinh bởi Web server

Session.SessionID

• Ví dụ: để xem số ID được cấp khi bạn truy cập Web

server ta thực hiện như sau

<%

Response.Write(Session.SessionID)

Next

%>

2. Các thuộc tính (Propety) của Session

SLT 2006 117

III. Đối tượng Session

Bài 4:Các đối tượng ASP

-Timeout

• Thuộc tính này thiết lập hoặc trả về khoảng thời

gian(phút) mà session tồn tại trong ứng dụng. Nếu

người dùng không nạp lại trang hoặc không yêu cầu

trang mới trong khoảng thời gian này thì phiên làm

việc sẽ kết thúc

Session.Timeout[=nMinutes]

• nMinutes: là khoảng thời gian mà phiên làm việc tồn

tại trước khi Web server kết thúc nó. Giá trị mặc định

là 20 phút

2. Các thuộc tính (Propety) của Session…

Page 40: Bai Giang ASP

SLT 2006 118

3. Các phương thức (Method) của Session

III. Đối tượng Session

Bài 4:Các đối tượng ASP

-Abandon

• Phương thức này kết thúc phiên làm việc của người

dùng

Session.Abandon

SLT 2006 119

3. Các phương thức (Method) của Session…

III. Đối tượng Session

Bài 4:Các đối tượng ASP

-Remove

• Phương thức này xoá một hạng mục trong tập hợp

Contents

Session.Contents.Remove(name|index)

• Name: Tên của hạng mục cần xoá

• Index:Số chỉ mục của hạng mục cần xoá

SLT 2006 120

3. Các phương thức (Method) của Session…

III. Đối tượng Session

Bài 4:Các đối tượng ASP

-RemoveAll

• Phương thức này xoá tất cả các hạng mục trong tập

hợp Contents

Session.Contents.RemoveAll()

Page 41: Bai Giang ASP

SLT 2006 121

4. Sự kiện của Session…

III. Đối tượng Session

Bài 4:Các đối tượng ASP

-Session_OnStart

• Sự kiện này sảy ra khi Web server tạo ra một phiên

làm việc mới. sự kiện này được định nghĩa trong file

global.asa

-Session_OnEnd

• Sự kiện này sảy ra khi phiên làm việc kết thúc(do hết

thời gian sống hoặc do phương thức Abandon được

gọi)

SLT 2006 122

IV. Đối tượng Application

Bài 4:Các đối tượng ASP

• Application đại diện cho toàn bộ ứng dụng, bao

gồm tất cả các trang web trong website. Để lưu trữ

những thông tin có tác dụng trong toàn ứng dụng, tức

là có giá trị trong tất cả các trang asp và tất cả các

phiên, người ta dùng đối tượng Application

Cú pháp

Application.Collection\Propety\Method

SLT 2006 123

IV. Đối tượng Application

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Application

-Contents

• Tập hợp này chứa tất cả các hạng mục được nối vào

đối tượng Application

Application.Contents(key)

• Key: Đây là tên hạng mục. Bắt buộc phải có

• Contents là thuộc tính mặc định của Application

Page 42: Bai Giang ASP

SLT 2006 124

• Ví dụ: Tạo và gán giá trị cho biến và đối tượng<% Application.Contents(“name”)=“The Goi Vi Tinh”

Set Application.Contents(“objtest”)=Server.CreateObject(“ADDOB.Connection”)

%>

• Ta có thể viết ngắn gọn hơn như sau

<% Application(“games”)=“The Goi Vi Tinh”

Set Application(“objtest”)=Server.CreateObject(“ADDOB.Connection”)

%>

IV. Đối tượng Application

Bài 4:Các đối tượng ASP

1. Các tập hợp(Collection) của Application

-Contents

SLT 2006 125

• Đọc tất cả các hạng mục trong Contents

<%

Application(“games”)=“The Goi Vi Tinh”

Application(“date”)=“23/10/2007”

For each x in Application.Contents

Response.Write(x&”=”&Application.Contents(x)&”<br>”)

Next

%>

Bài 4:Các đối tượng ASP

-Contents...

IV. Đối tượng Application

1. Các tập hợp(Collection) của Application

SLT 2006 126

Bài 4:Các đối tượng ASP

-StaticObjects

• Tập hợp này chứa tất cả các đối tượng được nối vào

Application với thẻ <object> trong HTML

Application.StaticObjects(key)

• Key: Đây là tên hạng mục. Bắt buộc phải có

IV. Đối tượng Application

1. Các tập hợp(Collection) của Application

Page 43: Bai Giang ASP

SLT 2006 127

2. Các phương thức (Method) của Application

Bài 4:Các đối tượng ASP

-Remove

IV. Đối tượng Application

• Phương thức này xoá một hạng mục trong tập hợp

Contents

Application.Contents.Remove(name|index)

• Name: Tên của hạng mục cần xoá

• Index:Số chỉ mục của hạng mục cần xoá

SLT 2006 128

-RemoveAll

• Phương thức này xoá tất cả các hạng mục trong tập

hợp Contents

Application.Contents.RemoveAll()

2. Các phương thức (Method) của Application

Bài 4:Các đối tượng ASP

IV. Đối tượng Application

SLT 2006 129

-Lock

• Phương thức này dùng để ngăn chặn người dùng thay

đổi giá trị của biến trong đối tượng Application cùng lúc

Application.Lock

2. Các phương thức (Method) của Application

Bài 4:Các đối tượng ASP

IV. Đối tượng Application

Page 44: Bai Giang ASP

SLT 2006 130

-Unlock

• Phương thức này dùng để mở khoá biến Application

để cho phép người dùng thay dổi giá trị của

biến.Unlock được dùng sau khi bạn thực hiện Lock

Application.Unlock

2. Các phương thức (Method) của Application

Bài 4:Các đối tượng ASP

IV. Đối tượng Application

SLT 2006 131

Bài 4:Các đối tượng ASP

IV. Đối tượng Application

3. Sự kiện của Application

Application_OnStart

• Sự kiện này sảy ra khi đối tượng Application lần đầu

tiên được tham khảo

Application_OnEnd

• Sự kiện này sảy ra khi ứng dụng dừng(Web server

dừng)

SLT 2006 132

Bài 4:Các đối tượng ASP

IV. Đối tượng Server

1. Thuộc tính

ScriptTimeout

• Thiết lập hoặc trả về thời gian tối đa(tính bằng mili

giây) mà mã một kịch bản có thể thực thi trước khi nó

kết thúc

• Cú pháp

Server.ScriptTimeout[=Numsecond]

• NumSecond: Số giây tối đa

Page 45: Bai Giang ASP

SLT 2006 133

Bài 4:Các đối tượng ASP

IV. Đối tượng Server

2. Phương thức

CreateObject

• Phương thức này dùng để tạo một thể hiện của đối

tượng

• Cú pháp

Server.CreateObject(progID)

• progID: Bắt buộc đây là kiểu đối tượng cần tạo

SLT 2006 134

Bài 4:Các đối tượng ASP

IV. Đối tượng Server

2. Phương thức

Execute

• Dùng để thực thi một tập tin ASP từ trong một tập tin

khác.Sau khi thực thi xong thì điều khiển được trả về

tập tin gọi để thực thi tiếp phần mã còn lại của nó

• Cú pháp

Server.Execute(Path)

• Path: Bắt buộc đây là đường dẫn của tập tin cần thực

thi

SLT 2006 135

Bài 4:Các đối tượng ASP

IV. Đối tượng Server

2. Phương thức

MapPath

• Phương thức này ánh xạ (URL) chỉ ra đường dẫn vật

• Cú pháp

Server.MapPath(Path)

• Path: Bắt buộc, đây là đường dẫn tương đối hoặc

đường dẫn ảo

Page 46: Bai Giang ASP

SLT 2006 136

Bài 4:Các đối tượng ASP

V. Tập tin GLOBAL.ASA

• File này là file tùy chọn chứa các khai báo đối tượng,

biến có phạm vi toàn ứng dụng

• Mã lệnh viết dưới dạng Script

• Mỗi ứng dụng chỉ được phép có nhiều nhất 1 file

Global.asa, nằm ở thư mục gốc của ứng dụng

• Người ta thường dùng global.asa trong trường

hợp muốn có những xử lý khi một session bắt

đầu hay kết thúc, một application bắt đầu hay kết

thúc session bắt đầu hay kết thúc, một application

bắt đầu hay kết thúc

SLT 2006 137

Bài 4:Các đối tượng ASP

V. Tập tin GLOBAL.ASA

• Application_Onstart : hàm sự kiện này xảy ra khi

người dùng đầu tiên truy cập tới trang web đầu tiên khi

ứng dụng hoạt động.

• Session_Onstart: hàm sự kiện này xảy ra mỗi khi có

một người dùng mới truy cập vào ứng dụng (bắt đầu 1

session)

• Session_OnEnd: hàm sự kiện này xảy ra mỗi khi

1 người dùng kết thúc session của họ

• Application_OnEnd: hàm sự kiện này xảy ra khi ứng

dụng dừng.

Các sự kiện trong global.asa

SLT 2006 138

Bài 4:Các đối tượng ASP

V. Tập tin GLOBAL.ASA

<script language="vbscript" runnat="server">

Sub Application_OnStart

„...

End sub

Sub Application_OnEnd „...

End Sub

Sub Session_OnStart „...

Application("x")=Application("x")+1

End sub

Sub Session_OnEnd „...

End Sub</script>

Cấu trúc của File Global.asa như sau:

Page 47: Bai Giang ASP

SLT 2006 139

Bài 5:Sử dụng Database với ASP qua ADO

I. Các cú pháp căn bản để truy xuất dữ liệu từ DB

1.Lựa chọn

• Lấy tất cả các bản ghi trong bảng:

“Select * from HosoHocVien”

• Nếu lựa chọn có điều kiện:

“Select * from HosoHocVien where MaHV=‟10‟ “

• Nếu chỉ lựa chọn một số trường trong bảng:

“Select Ten from HosoHocVien where MaHV=‟10‟ ”

SLT 2006 140

Bài 5:Sử dụng Database với ASP qua ADO

I. Các cú pháp căn bản để truy xuất dữ liệu từ DB

2.Thêm dữ liệu vào bảng

“Insert into HosoHocVien values („001‟,‟Tran Van A‟) “

3.Sửa dữ liệu

“Update HosoHocVien set Ten=‟Tran Van B‟ where

MaHV=‟001‟ “

4.Xoá dữ liệu

“Delete from HosoHocVien where MaHV=‟001‟ “

SLT 2006 141

Bài 5:Sử dụng Database với ASP qua ADO

II. Đối tượng ADO

• Đối tượng ADO được dùng để truy cập CSDL từ trang

Web của bạn. ADO được viết tắt của ActiveX Data

Objects

• Cách chung để truy cập CSDL từ trang ASP

1.Tạo một kết nối ADO với CSDL

2.Mở kết nối vừa tạo

3.Tạo một recordset từ ADO

4.Mở recordset này

5.Lấy dữ liệu bạn cần từ recordset

6.Đóng recordset

7.Đóng kết nối ADO

Page 48: Bai Giang ASP

SLT 2006 142

Bài 5:Sử dụng Database với ASP qua ADO

III. Đối tượng Connection

Kết nối đến CSDL Access:

<%

dim conn

set conn=server.createObject("ADODB.connection")

stringconn="provider=microsoft.jet.OLEDB.4.0;

Data source=C:\Dulieu\QuanlyHocVien.mdb"

conn.open stringconn

...

conn.close

Set conn=nothing

%>

SLT 2006 143

Bài 5:Sử dụng Database với ASP qua ADO

Kết nối đến CSDL SQL Server

<%

dim conn

set conn=server.createObject("ADODB.connection")

stringconn="provider=SQLOLEDB.1;SERVER=local;USE

R ID=sa;PASSWORD=test;

DATABASE=QuanlyHocVien”

conn.open stringconn

...

conn.close

Set conn=nothing

%>

SLT 2006 144

Bài 5:Sử dụng Database với ASP qua ADO

Kết nối đến CSDL bất kỳ dùng ODBC

Giả sử ta đã tạo một DSN với CSDL

QuanlyHocVien.mdb có tên là “DLQLHV” ta thực hiện

kết nối như sau:

<%

dim conn

set conn=server.createObject("ADODB.connection")

conn.open “DLQLHV”

...

conn.close

Set conn=nothing

%>

Page 49: Bai Giang ASP

SLT 2006 145

Bài 5:Sử dụng Database với ASP qua ADO

IV. Đối tượng Recordset

• Đối tượng Recordset thường dùng để xem, thêm, sửa,

xóa các bản ghi trong bảng dữ liệu của Database

• Các bước sử dụng đối tượng Recordset :

- Khai báo đối tượng Recorset

- Khởi tạo

- Tạo sql query

- Mở Recordset với chuỗi sql query và

connection đã mở

- Sử dụng Recordset

- Đóng và Hủy Recordset

SLT 2006 146

Bài 5:Sử dụng Database với ASP qua ADO

IV. Đối tượng Recordset

Tạo Recordset

Trường hợp 1

<%

Dim rs

set rs=server.createObject("ADODB.Recordset")

rs.open “HosoHocVien” ,conn

%>

SLT 2006 147

Bài 5:Sử dụng Database với ASP qua ADO

Tạo Recordset…

Trường hợp 2

<%

Dim rs

set rs=server.createObject("ADODB.Recordset")

SQLstring="select * from HosoHocVien"

rs.open SQLstring ,conn

%>

Page 50: Bai Giang ASP

SLT 2006 148

Bài 5:Sử dụng Database với ASP qua ADO

Hiển thị dữ liệu từ Recordset…

<%Dim rs

set rs=server.createObject("ADODB.Recordset")

SQLstring="select * from HosoHocVien"

rs.open SQLstring ,conn

while not rs.EOF

response.write RS(“MaHV”)

response.write RS(“Ten”)

response.write “<BR>”

rs.movenext „dịch con trỏ rs tới bản ghi tiếp theo

loop

rs.close „đóng recordset

set rs=nothing „hủy recordset

%>

SLT 2006 149

Bài 5:Sử dụng Database với ASP qua ADO

V. Thêm sửa xóa dữ liệu trong DB

• Thêm dữ liệu:

<%Conn.execute “Insert into HosoHocvien

values(„001‟,‟Tran Van A‟)”%>

• Sửa dữ liệu:

<%Conn.execute “Update HosoHocVien set

Ten=‟Tran Van B‟ where

MaHV=‟001‟ “%>

• Xoá dữ liệu:

<%Conn.execute “Delete from HosoHocVien where

MaHV=‟001‟ “ %>

SLT 2006 150

• Bằng cách duyệt qua tập hợp các bản ghi trong bảng

• Thêm dữ liệu:

<%Dim RS

set rs=server.createObject("ADODB.recordset") SQLstring="select * from HosoHocVien" rs.open SQLstring ,conn

rs.addnew „Thêm một bản ghi

rs(“MaHV”)=”001”

rs(“Ten”)=”Tran Van A”

rs.update

rs.close %>

Bài 5:Sử dụng Database với ASP qua ADO

V. Thêm, xoá, sửa dữ liệu Sử dụng Recordset

Page 51: Bai Giang ASP

SLT 2006 151

• Sửa:

<% Dim RS

set rs=server.createObject("ADODB.recordset")

SQLString="select * from HosoHocVien

where ma=‟001‟

rs.open SQLString ,connrs(“Ten”)=”Tran Van B”

rs.update

rs.close

%>

Bài 5:Sử dụng Database với ASP qua ADO

V. Thêm, xoá, sửa dữ liệu Sử dụng Recordset

SLT 2006 152

• Xoá

<%

set rs=server.createObject("ADODB.recordset")

SQLString="select * from HosoHocVien whereMaHV=‟001‟

rs.open SQLString,conn

rs.delete „xóa bản ghi này

rs.close „đóng recordset

%>

Bài 5:Sử dụng Database với ASP qua ADO

V. Thêm, xoá, sửa dữ liệu Sử dụng Recordset

SLT 2006 153

Xim chân thành cảm ơn!