Upload
tung-phuong
View
66
Download
0
Embed Size (px)
Citation preview
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 dng trùc tiÕp bªn trong ;
IIS(WinNT, 2000), Personal Webserver
Bài 1:Giới thiệu về ASP(…)
I. Trang 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
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
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.
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
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ụ
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
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.
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.
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
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>
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…
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
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".
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
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.
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".
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 đề)
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>
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>
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>
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>
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
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
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>
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>
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>
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
%>
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>
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
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
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
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
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
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
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
%>
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
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ó
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…
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()
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
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
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
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
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
lý
• 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
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:
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
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
%>
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
%>
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
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!