SlideShare a Scribd company logo
1 of 61
Download to read offline
môc lôc
môc lôc............................................................................................................................................ 1
PHÇN 1: c¬ b¶n vÒ html vμ VBSCRIPT............................................................................... 3
I. C¸C THÎ §Ó T¹O PHÇN Tö HTML C¥ B¶N........................................................................ 3
1. Có ph¸p chung: ............................................................................................................................. 3
2. T¹o mét sè phÇn tö c¬ b¶n ............................................................................................................ 3
II. Ng«n ng÷ VBScript (ng...................................................................................................... 6
1. Nhóng c©u lÖnh VBSCRIPT vµo trang web................................................................................... 6
2. G¾n kÕt m· lÖnh VBSCRIPT lªn c¸c sù kiÖn ................................................................................ 6
3. Ghi vµ ®äc d÷ liÖu trong TextBox ................................................................................................. 7
4. §äc d÷ liÖu trong ComboBox: Gièng nh− Listbox ....................................................................... 7
5. §äc / Ghi gi¸ trÞ trong CheckBox ................................................................................................. 7
PhÇn II : ASP .................................................................................................................................... 9
I. ASP là g× ? ..................................................................................................................................... 9
II. CÊu tróc cña mét file ASP ............................................................................................................ 9
2. Mét sè l−u ý:................................................................................................................................. 9
§èi t−îng Response ................................................................................................................. 9
0. VÊn ®Ò giao tiÕp (nhËp xuÊt) gi÷a ng−êi dïng vµ webserver. ....................................................... 9
1. Chøc n¨ng (ChÝnh) ........................................................................................................................ 9
2. Mét sè ph−¬ng thøc dïng: ............................................................................................................ 9
2.1 Ph−¬ng thøc write ................................................................................................................... 9
T−¬ng ®−¬ng víi:........................................................................................................................ 10
2.2 Ph−¬ng thøc Redirect............................................................................................................ 10
®èi t−îng Request ................................................................................................................. 10
1. Chøc n¨ng ................................................................................................................................... 10
2. Mét sè thuéc tÝnh vµ ph−¬ng thøc th−êng dïng.......................................................................... 11
2.1 Thuéc tÝnh Form.................................................................................................................... 11
2.2 Thuéc tÝnh QueryString......................................................................................................... 14
®èi t−îng server.................................................................................................................... 18
1. Ph−¬ng thøc Mappath ................................................................................................................. 18
2. Ph−¬ng thøc CreateObject........................................................................................................... 20
®èi t−îng session – biÕn sesstion................................................................................. 20
1. BiÕn Sesstion ............................................................................................................................... 20
2. §èi t−îng Session ....................................................................................................................... 20
®èi t−îng application ........................................................................................................ 23
1. Kh¸i niÖm biÕn toµn øng dông.................................................................................................... 23
2. §èi t−îng Application................................................................................................................. 24
3. VÝ dô tæng hîp ............................................................................................................................ 24
chÌn file vμo trang asp..................................................................................................... 25
1. ý nghÜa:........................................................................................................................................ 25
2. Có ph¸p chÌn file: ....................................................................................................................... 25
3. VÝ dô tæng hîp ............................................................................................................................ 25
kÕt nèi vμ thao t¸c víi csdl trong asp.................................................................. 26
1. Qui t¾c chung.............................................................................................................................. 26
2. T¹o ®èi t−îng Connection vµ kÕt nèi ®Õn CSDL......................................................................... 26
3. T¹o ®èi t−îng Recordset ............................................................................................................. 27
4. Mét sè vÝ dô ................................................................................................................................ 27
4.1 HiÓn thÞ toµn bé tªn nhµ cung cÊp (CompanyName) trong b¶ng Suppliers .......................... 27
http://www.ebook.edu.vn 2
4.2.1 HiÓn thÞ danh s¸ch c¸c s¶n phÈm trong mét b¶ng.............................................................. 29
PHô LôC 1: DANH S¸CH C¸C THÎ TRONG JAVASCRIPT ............................................... 30
PHô lôc 2: DANH S¸CH C¸C HμM TRONG VBSCRIPT.................................................... 34
PHô LôC 3: MéT Sè C¢U LÖNH SQL TH¦êng dïNG Vμ VÝ Dô.................................... 36
I. §äc th«ng tin (C©u lÖnh SELECT) .............................................................................................. 36
II. ChÌn thªm b¶n ghi (Bæ sung) – C©u lÖnh Insert into.................................................................. 37
III. Xãa b¶n ghi – C©u lÖnh Delete ................................................................................................. 37
IV. CËp nhËt b¶n ghi – C©u lÖnh Update......................................................................................... 37
PHô LôC 4: CμI §ÆT IIS (WEBSERVER) Vμ CH¹Y C¸C TRANG ASP........................... 38
I. Cµi ®Æt Internet Information service (IIS) – web server............................................................... 38
II. CÊu h×nh tr×nh duyÖt ®Ó ch¹y c¸c file ASP................................................................................. 38
III. Copy c¸c file ASP võa so¹n th¶o vµo th− môc web ®Ó ch¹y..................................................... 40
IV.Ch¹y file ASP............................................................................................................................. 41
phô lôc 5 h−íng dÉn t¹o domain trong m¸y côc bé ....................................... 41
phô lôc 6: cμi ®Æt ftp ®Ó ®−a trang web lªn server........................................ 46
I. Cµi ®Æt cuteFTP............................................................................................................................ 46
II. Sö dông FTP ............................................................................................................................... 46
PhÇn III: Thùc hμnh BμI THùC hμNH Sè 1...................................................................... 49
bμi thùc hμnh sè 2................................................................................................................... 51
bμi thùc hμnh sè 3................................................................................................................... 54
bμi thùc hμnh sè 4................................................................................................................... 58
http://www.ebook.edu.vn 3
PHÇN 1: c¬ b¶n vÒ html vμ VBSCRIPT
I. C¸C THÎ §Ó T¹O PHÇN Tö HTML C¥ B¶N
1. Có ph¸p chung:
<Tên_Loại_Phần_Tử <Thuộc tính 1> = “Giá trị” <Thuộc Tính> = “Giá trị”… >
<Tên_Loại_Phần_Tử Style = “Thuộc_tính: giá_trị; thuộc_tính : giá trị ;….; >
Kết hợp cả hai cách.
Trong đó :
Tên loại phần tử HTML Thuộc tính
Button Name
Text VALUE
File MAXLENGTH
Hidden ReadOnly
Select Disable
TextArea Cols, Rows
CheckBox Multiple
TYPE
Phần “giá trị” có thể đặt trong cặp ngoặc kép hoặc cặp ngoặc đơn hoặc không cần !!
Nếu đặt thuộc tính theo cách 2, thì có thể tham chiếu bảng sau (gọi là theo cú pháp CSS)
2. T¹o mét sè phÇn tö c¬ b¶n
Tạo nút nhấn
<Input name="KiemTra" TYPE="button" VALUE="Kiểm tra dữ liệu">
<Input TYPE="Submit" VALUE="Đăng nhập">
Tạo ô nhập
<Input name="HoVaTen" TYPE="text" VALUE="Nguyễn Văn A" size="20"
MAXLENGTH="30">
<Input name="Khoa" TYPE="text" VALUE="Khoa Công nghệ thông tin" size="40"
MAXLENGTH="50" readonly="true">
<Input name="Truong" TYPE="text" VALUE="Trường Đại học sư phạm kỹ thuật Hưng Yên"
size="40" MAXLENGTH="50" Disabled="true">
Tạo vùng nhập (Textarea)
<textarea name="GhiChu" cols="50" rows="5"> Nội dung ghi chú: </textarea>
Tạo ô nhập Password
<Input name="MatKhau" type="password" value="123456" size="10" maxlength="20">
Tạo listbox
<select name="MonHoc" size="5" >
<option>Visual Basic</option>
<option>Lập trình .NET</option>
<option>Lập trình ASP</option>
http://www.ebook.edu.vn 4
</select>
Tạo ComboBox (chỉ cần bỏ thuộc tính size)
<select name="Mon" size = 1 onChange="Call DocGiaTriListBox">
<option value = "Visual Basic">Visual Basic</option>
<option value = "DOT_NET">Lập trình .NET</option>
<option value = "ASP">Lập trình ASP</option>
</select>
Tạo hộp kiểm
<Input name="chkVB" type="checkbox" value="Visual Basic" checked> Visual Basic
<Input name="chkASP" type="checkbox" value="ASP "> Active Server Pages
Tạo nút Radio
<Input name="GioiTinh" type="radio" value="Nam" checked>
<Input name="GioiTinh" type="radio" value="Nữ" >
<Input name="TinhTrang" type="radio" value="Đã lập gia đình" >
<Input name="TinhTrang" type="radio" value="Độc thân" checked >
Tên giống nhau thì sẽ thuộc về cùng một nhóm (Groups)
Phần tử chọn File
<Input name="ChonFile" type="file" size="30">
Tạo textbox ẩn (Hidden).
<Input name="PhanTuAn" type="hidden" value="">
Tạo các phần tử và đặt thuộc tính:
+ Tạo một textbox và đặt thuộc tính font:
<FONT FACE = “Times New Roman”>
<Input type = text value = “Font chữ Unicode đây !”>
</FONT>
+ Tạo một textbox và đặt thuộc tính thông qua phong cách CSS:
<Input type = text value = “Font Unicode” Style = “Font-Family:Times new roman”>
+ Tạo một nhãn có font chữ xanh, có hiệu ứng:
<P Style =”Color:Blue; font-size:20; Text-Align:center”>Xin chào </p>
+ Tạo một nút nhấn có màu nền đỏ:
<Input type = button style=”font-family:arial; background-color:red” value = “Đỏ”>
http://www.ebook.edu.vn 5
Kết quả
http://www.ebook.edu.vn 6
II. Ng«n ng÷ VBScript (ng
1. Nhóng c©u lÖnh VBSCRIPT vµo trang web
Sử dụng thẻ <script Language = VBScript>
Ví dụ 1:
<script language="VBScript">
MsgBox "Xin chào các bạn lớp T08A !"
</SCRIPT>
Ví dụ 2:
<script language="VBScript">
Sub Chao
MsgBox "Xin chào các bạn lớp T08A!"
End Sub
'/// Gọi thủ tục Chao. Viết là Call Chao hoặc Chao đều được
Call Chao
</SCRIPT>
Ví dụ 3:
<script language="VBScript">
Function Tong(a, b)
Tong = a + b
End Function
Msgbox "Tổng của 2 + 3 = " & Tong(2,3)
</SCRIPT>
*** Chú ý: Trong cặp thẻ <Script> …. </Script> Chỉ có thể chứa các câu lệnh VBScript, không
được chứa các thẻ HTML.
2. G¾n kÕt m∙ lÖnh VBSCRIPT lªn c¸c sù kiÖn
Mỗi phần tử trên form có thể có các sự kiện như OnClick, OnChange, OnKeyUp …
Khi đó ta có thể yêu cầu trình duyệt thực thi các câu lệnh hoặc thủ tục VBScript khi các sự kiện này
xảy ra.
Cú pháp:
<…. Tên_Sự_Kiện = "Câu lệnh VBScript" ….>
- Câu lệnh có thể là một lệnh đơn hoặc một lời gọi Hàm/ thủ tục
- Thông thường, ta nên gọi một thủ tục hoặc hàm
Ví dụ 1: Đưa ra lời chào khi người dùng click vào nút nhấn:
<Input type = Button Value = "Click here..." OnClick = 'MsgBox "Xin chào lớp T08A !" '>
Ví dụ 2: Thực hiện đưa ra lời chào khi người dùng click bằng việc gọi thủ tục
<script language="VBScript">
Sub Chao
MsgBox "Xin chào các bạn lớp T08A!"
End Sub
</SCRIPT>
<Input type = Button Value = "Click here..." OnClick = "Chao"> HOẶC
http://www.ebook.edu.vn 7
<Input type = Button Value = "Click here..." OnClick = "Call Chao">
I. Đọc và ghi dữ liệu trong các phần tử HTML
Nhìn chung, để đọc hay thay đổi nội dung của một phần tử HTML, thông thường ta đọc hay thay đổi
thuộc tính Value của nó. Cú pháp là :
Đọc : <Tên>.Value
Ghi (Thay đổi): <Tên>.Value [= Giá trị mới]
Chú ý: Để đọc / ghi giá trị nằm trong phần tử HTML thì bắt buộc khi tạo phần tử đó cần có thuộc
tính NAME
3. Ghi vµ ®äc d÷ liÖu trong TextBox
<Input type = Text name = “HoVaTen” Value = “Nguyễn Văn A”>
<script language="VBScript">
HoVaten.Value = "Trần Thị B" '// Ghi
Msgbox "Giá trị trong hộp HoVaTen bây giờ là : " &HoVaTen.Value '// Đọc
</SCRIPT>
1. Đọc dữ liệu trong Listbox
<script language="VBScript">
'/// thủ tục này được gọi khi người dùng Click chọn ListBox
Sub DocGiaTriListBox
Dim MucChon
MucChon = Mon.Value
Msgbox "Bạn đã chọn mục : " & MucChon
End Sub
</SCRIPT>
<select name="Mon" size = 1 onChange="Call DocGiaTriListBox">
<option value = "Visual Basic">Visual Basic</option>
<option value = "DOT_NET">Lập trình .NET</option>
<option value = "ASP">Lập trình ASP</option>
</select>
<Input type="button" value="Đọc giá trị trong Listbox" onClick="DocGiaTriListBox">
4. §äc d÷ liÖu trong ComboBox: Gièng nh− Listbox
5. §äc / Ghi gi¸ trÞ trong CheckBox
<HTML>
<BODY>
<script language=vbscript>
Sub HT
IF vb.checked=true Then Msgbox "VB đã được chọn"
IF asp.checked=true Then msgbox "ASP đã được chọn"
End Sub
</SCRIPT>
<Input type=button value ="Click đây !" onclick="HT" />
VB : <Input name="VB" type=checkbox checked /> <br />
ASP <Input name ="ASP" type=checkbox /> <br />
http://www.ebook.edu.vn 8
</BODY>
</HTML>
http://www.ebook.edu.vn 9
PhÇn II : ASP
I. ASP là g× ?
II. CÊu tróc cña mét file ASP
<%@ Language = "VBScript"%>
… C¸c thÎ HTML….
<%
…….. C¸c c©u lÖnh viÕt theo có ph¸p tùa Visual Basic ……
%>
… C¸c thÎ HTML….
<%
…….. C¸c c©u lÖnh viÕt theo có ph¸p tùa Visual Basic ……
%>
… C¸c thÎ HTML….
<%
…….. C¸c c©u lÖnh viÕt theo có ph¸p tùa Visual Basic ……
%>
… C¸c thÎ HTML….
2. Mét sè l−u ý:
- PhÇn më réng cña file ph¶i lµ ASP
- Cã thÓ viÕt nhiÒu ®o¹n <% … %> trong mét file aSP
- Trong ®o¹n <% … %> ph¶i lµ c¸c c©u lÖnh asp, kh«ng ®−îc chøa c¸c thÎ. NÕu muèn in C¸c thÎ -
§−a vµo c©u lÖnh response.write.
- C¸c c©u lÖnh n»m trong phÇn <% …. %> lµ c¸c c©u lÖnh viÕt gièng nh− Visual Basic.(Vßng lÆp for,
do while, do … loop, c¸c hµm nh− Left, right, month, abs, year, mid, …..sö dông gièng nh− trong
VB)
§Ó "READ" trong ASP sö dông ®èi t−îng REQUEST
§Ó "WRITE" trong ASP - Sö dông ®èi t−îng RESPONSE
§èi t−îng Response
0. VÊn ®Ò giao tiÕp (nhËp xuÊt) gi÷a ng−êi dïng vµ webserver.
1. Chøc n¨ng (ChÝnh)
Dïng ®Ó tr¶ (write) kÕt qu¶ vÒ cho m¸y kh¸ch (Tr×nh duyÖt)
2. Mét sè ph−¬ng thøc dïng:
2.1 Ph−¬ng thøc write
ViÕt kÕt qu¶ tr¶ vÒ cho tr×nh duyÖt (m¸y kh¸ch).
+ Có ph¸p : Response.write(<X©u>/BiÓu thøc)
Trong ®ã <X©u> lµ mét x©u ký tù, cã thÓ chøa c¸c thÎ HTML.
BiÓu thøc cã thÓ lµ h»ng, biÕn, hµm, biÓu thøc chøa c¶ h»ng, biÕn, hµm ….
+VÝ dô:
Göi x©u “Hello world” vÒ cho tr×nh duyÖt.
<%@ Language = vbscript %>
<HTML>
http://www.ebook.edu.vn 10
<BODY>
<%
Response.write(“Hello world”)
%>
</BODY>
</HTML>
T−¬ng ®−¬ng víi:
<%@ Language = vbscript %>
<HTML>
<BODY>
Hello world
</BODY>
</HTML>
2.2 Ph−¬ng thøc Redirect
H−íng ng−êi dïng sang mét trang web kh¸c. VÝ dô khi ng−êi dïng gâ www.abc.com/Trang1.asp th×
chóng ta cã thÓ h−íng (më) sang trang Trang2.asp ®Ó hiÓn thÞ.
+ Có ph¸p:
Response.Redirect URL (§Þa chØ/ siªu liªn kÕt)
+ VÝ dô:
Khi ng−êi dïng nhËp vµo trang Trang1.asp, ta sÏ hiÓn thÞ trang Trang2.Asp. Khi ®ã néi dung
cña trang1.asp sÏ nh− sau:
<%@ Language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Redirect</title>
</head>
<BODY>
.... B¹n ph¶i th¨m trang2.asp tr−íc ®· ! <BR>
<%
'..............
Response.redirect "Trang2.asp"
'..............
%>
</BODY>
</HTML>
Mét vÝ dô cÇn sö dông ®Õn ph−¬ng thøc nµy ®ã lµ, khi ng−êi dïng ch−a thùc hiÖn ®¨ng nhËp vµ vµo
ngay trang thao t¸c víi CSDL th× ta cÇn redirect ®Õn trang ®¨ng nhËp.
®èi t−îng Request
M« h×nh nhËp liÖu tõ ng−êi dïng vµ tiÕp nhËn d÷ liÖu cña webserver: 2 con ®−êng.
1. POST: Göi c¶ mét form nhËp d÷ liÖu tíi webserver
2. GET : Göi th«ng qua liªn kÕt URL
1. Chøc n¨ng
NhËn (lÊy / ®äc) vÒ c¸c gi¸ trÞ khi ng−êi dïng Submit (göi) ®i. (VÝ dô khi ng−êi dïng ®iÒn c¸c th«ng
tin ®¨ng ký tµi kho¶n vµ nhÊn vµo nót Submit th× th«ng tin ®ã sÏ ®−îc nhËn vÒ th«ng qua ®èi t−îng
Request).
http://www.ebook.edu.vn 11
Cã hai c¸ch ®Ó ng−êi dïng göi th«ng tin ®i Cã 2 c¸ch t−¬ng øng ®Ó tiÕp nhËn (®äc) .
C¸ch 1: Ng−êi dïng nhËp th«ng tin trong c¸c textbox, sau ®ã göi c¸c th«ng tin trong c¸c textbox nµy
tíi mét trang asp kh¸c. Khi ®ã ng−êi ta gäi c¸ch göi ®ã lµ göi theo kiÓu “POST”.
C¸ch 2: Th«ng tin cã thÓ göi tíi mét trang kh¸c b»ng c¸ch g¾n vµo sau mçi URL cña trang ®ã. VÝ dô
®Ó göi hai th«ng tin lµ HoTen vµ Tuoi víi gi¸ trÞ t−¬ng øng lµ T08A vµ 2 cho trang XuLy.asp th× cã
thÓ thùc hiÖn nh− sau:
XuLy.asp?HoTen=T08A&Tuoi=2
Có ph¸p ®Ó g¾n vµo sau trang nhËn nh− sau:
TrangNhan.asp ? Thuéc_TÝnh 1 = Gi¸ trÞ1 & Thuéc_TÝnh 2 = Gi¸ trÞ 2 & ….
C¸ch göi nµy gäi lµ ph−¬ng thøc göi kiÓu ”GET”
2. Mét sè thuéc tÝnh vµ ph−¬ng thøc th−êng dïng
2.1 Thuéc tÝnh Form
Dïng ®Ó lÊy gi¸ trÞ cña tõng thuéc tÝnh mµ trang kh¸c göi tíi b»ng ph−¬ng thøc POST
Có ph¸p:
Request.Form(“Tªn_Thuéc_TÝnh_CÇn_LÊy”)
VÝ dô: Trang1.asp cã 2 « textbox tªn lµ HoTen vµ Tuoi. cho phÐp ng−êi dïng nhËp vµo vµ khi ng−êi
dïng göi ®i (Submit) tíi trang Trang2.asp. th× trang2.asp sÏ hiÓn thÞ lêi chµo tíi ng−êi ®ã. Néi dung
2 file nµy sÏ nh− sau:
Trang1.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Göi d÷ liÖu sang trang kh¸c</title>
</head>
<BODY>
Trang nhËp th«ng tin : <br>
<FORM name="NhapLieu" action ="Trang2.asp"
method="post">
Hä và tªn : <Input type ="text" name="HoTen"> <br>
Tuæi : <Input type="text" name ="Tuoi"> <br>
<Input type="Submit" value="Göi ®i" name="cmdGui">
</FORM>
</BODY>
</HTML>
Trang2.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>NhËn d÷ liÖu göi tõ trang kh¸c </title>
</head>
http://www.ebook.edu.vn 12
<BODY>
<%
Dim HT , Tuoi
HT = Request.Form(“HoTen”)
Tuoi = Request.Form(“Tuoi”)
Response.write(“Chào b¹n “ & HT &”. Tuæi cña b¹n : “ &Tuoi)
%>
</BODY>
</HTML>
Chó ý:
+ Muèn göi th«ng tin trong c¸c ®iÒu khiÓn (c¸c textbox, textarea, checkbox, list…) ®i th× c¸c ®iÒu
khiÓn ®ã ph¶i ®Æt trong mét Form (cÆp thÎ <Form> …. </Form>) nµo ®ã.
+ Trang web tiÕp nhËn th«ng tin ®ã sÏ ®−îc ®Æt trong thuéc tÝnh Action cña Form.
+ Ph−¬ng thøc göi ®i ®−îc chØ ®Þnh th«ng qua thuéc tÝnh method. §Æt cho thuéc tÝnh nµy gi¸ trÞ hoÆc
lµ POST hoÆc lµ GET.
+ Mét trang cã thÓ göi (Post) ®Õn chÝnh trang ®ã. §iÒu nµy th−êng ®−îc ¸p dông khi néi dung trang
web lµ ®¬n gi¶n (vÝ dô trang Login), cßn ®èi víi c¸c trang phøc t¹p (nhiÒu xö lý) th× nªn göi ®Õn mét
trang riªng.
VÝ dô 2: Cho ng−êi dïng nhËp vµo n¨m sinh, sau ®ã tÝnh to¸n vµ hiÓn thÞ tuæi cña ng−êi ®ã. C¸ch
thøc ë ®©y lµ : Trang cho ng−êi dïng nhËp n¨m sinh vµ trang ®Ó hiÓn thÞ kÕt qu¶ lµ gièng nhau.
Trang TinhTuoi.asp - Version 1
<%@language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Tinh tuoi</title>
</head>
<BODY>
<%
IF Request.Form("NamSinh")="" THEN
Response.write (“<form name=Form1 action='TinhTuoi.asp' method=POST>”)
Response.write (“Nhap nam sinh cua ban : <Input type=text name=’NamSinh’>”)
Response.write (“<Input type=Submit value=’Gui di’>”)
Response.write (“</form>”)
ELSE
Response.write ("Tuoi cua ban la : " & (year(now) - Request.Form("NamSinh")))
END IF
%>
</BODY>
</HTML>
http://www.ebook.edu.vn 13
Trang TinhTuoi.asp - Version 2
<%@language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Tinh tuoi</title>
</head>
<BODY>
<%
IF Request.Form("NamSinh")="" THEN
%>
<FORM name=Form1 action="TinhTuoi.asp" method=POST>
Nhap nam sinh cua ban : <Input type=text name="NamSinh" >
<Input type=Submit value="Gui di">
</FORM>
<table>
<%
ELSE
Response.write("Tuoi cua ban la : " & (year(now) - Request.Form("NamSinh")))
END IF
%>
</BODY>
</HTML>
Version 3 – Sö dông c¸c trang xö lý riªng biÖt
- ý t−ëng: Ta t¸ch lµm 2 trang, mét trang "Chuyªn" hiÓn thÞ form nhËp n¨m sinh, sau ®ã göi tíi
mét trang "chuyªn" xö lý vµ hiÓn thÞ kÕt qu¶.
- Trang hiÓn thÞ form nhËp do kh«ng cã xö lý g×, do vËy ta chØ cÇn t¹o trang ®ã lµ trang HTM
th«ng th−êng – NhapNamSinh.htm.
- Trang xö lý do ph¶i dïng c¸c c©u lÖnh ASP nªn ta sÏ t¹o trang ASP- TinhTuoi.asp
Trang NhapNamSinh.htm
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Nhap nam sinh </title>
</head>
<BODY>
<FORM Action="TinhTuoi.asp" method=POST>
Nhap nam sinh cua ban : <Input type=text name=NamSinh>
<Input type=Submit value="Gui di">
</FORM>
</BODY>
</HTML>
Trang TinhTuoi.asp
<%@language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Tinh tuoi</title>
</head>
http://www.ebook.edu.vn 14
<BODY>
<%
IF Request.Form("NamSinh")= "" THEN
Response.Redirect("NhapNamSinh.htm")
ELSE
Response.write ("Tuoi cua ban la: " & (year(now)-Request.Form("NamSinh")))
END IF
%>
</BODY>
</HTML>
C¸ch (version) nµo dÔ dµng h¬n ®èi víi b¹n ? 3 version cã −u vµ nh−îc ®iÓm g× ? rót KL !
2.2 Thuéc tÝnh QueryString
Dïng ®Ó ®äc d÷ liÖu do trang kh¸c göi tíi th«ng qua ph−¬ng thøc GET (Th−êng lµ göi d÷ liÖu b»ng
c¸ch g¾n vµo ngay sau liªn kÕt - URL).
+ Có ph¸p ®äc d÷ liÖu göi ®Õn th«ng qua ph−¬ng thøc nµy nh− sau:
Request.QueryString("Tªn_Thuéc_TÝnh_CÇn_LÊy")
+ VÝ dô 1 : Göi tíi trang TinhTuoi.ASP n¨m sinh (®Æt tªn lµ NamSinh) cã gi¸ trÞ lµ 1980 ë d¹ng GET.
Khi ®ã, Hyperlink göi ®i cã d¹ng :
http://www.T08A.com/TinhTuoi.asp?NamSinh=1980
Dßng ®Þa chØ trªn cã thÓ t¹m dÞch lµ "Göi mét th«ng tin cã tªn lµ NamSinh víi gi¸ trÞ 1980
®Õn trang TinhTuoi.ASP
Chó ý: §Ó göi d÷ liÖu theo kiÓu GET th× cã thÓ göi b»ng c¸ch gâ trùc tiÕp vµo hép ®Þa chØ (address)
cña tr×nh duyÖt hoÆc cã thÓ x©y dùng mét trang riªng, sau ®ã míi göi.
§Ó tiÕp nhËn vµ xö lý d÷ liÖu nµy, néi dung trang TinhTuoi.asp sÏ nh− sau:
TinhTuoi.asp - Version 1
<%@language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Tinh tuoi</title>
</head>
<BODY>
<%
IF Request.QueryString("NamSinh")= "" THEN
Response.write ("B¹n gâ ®Þa chØ cã d¹ng: Domain/TinhTuoi.asp?NamSinh=So")
ELSE
Response.write ("Tuæi cña b¹n: " &(year(now)-Request.QueryString("NamSinh")))
END IF
%>
</BODY>
</HTML>
Víi phiªn b¶n nµy, râ rµng khi muèn göi d÷ liÖu cho mét trang chóng ta ph¶i gâ mét c¸ch thñ c«ng !
Cã thÓ göi theo c¸ch nµy nh−ng dÔ dµng ®−îc h¬n kh«ng ? VÝ dô nh− cho ng−êi dïng nhËp vµo
c¸c « textbox ch¼ng h¹n ?
http://www.ebook.edu.vn 15
TinhTuoi.asp - Version 2
<%@language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8">
<title>Tinh tuoi</title>
</head>
<BODY>
<%
IF Request.QueryString("NamSinh") = "" THEN
%>
<FORM name=Form1 action="TinhTuoi.asp" method=GET>
Nhap nam sinh cua ban : <Input type=text name="NamSinh" >
<Input type=SUBMIT value="Gui di">
</FORM>
<%
ELSE
Response.write ("Tuæi cña b¹n : " & (year(now)-Request.QueryString("NamSinh")))
END IF
%>
</BODY>
</HTML>
KÕt qu¶ hiÓn thÞ trªn tr×nh duyÖt:
Khi lÇn ®Çu tiªn më trang TinhTuoi.asp
Sau khi nhËp 1977 vµo « textbox (h·y ®Ó ý trªn thanh ®Þa chØ)
VÝ dô 2: Gi¶ lËp mét øng dông ®Ó hiÓn thÞ c¸c s¶n phÈm vµ cho phÐp ng−êi dïng xem chi tiÕt mÆt
hµng khi ng−êi dïng click chän hyperlink t−¬ng øng.
http://www.ebook.edu.vn 16
Trong øng dông gi¶ lËp nµy, ta sÏ hiÓn thÞ 3 ®Çu môc s¶n phÈm cã d¹ng :
HDD Seagate 40 GB Xem chi tiÕt
HDD Seagate 80 GB Xem chi tiÕt
HDD Seagate 160 GB Xem chi tiÕt
Khi ng−êi dïng click vµo Hyperlink "Xem chi tiÕt" ë bªn c¹nh mçi s¶n phÈm th× ta hiÓn thÞ th«ng tin
t−¬ng øng vÒ s¶n phÈm ®ã.
Khi ng−êi dïng chän mét môc th× cÇn ph¶i cã th«ng tin göi tr¶ l¹i trang xö lý ®Ó biÕt hä ®· chän
s¶n phÈm nµo ®Ó hiÓn thÞ th«ng tin phï hîp Èn chøa trong mçi Hyperlink ph¶i cã nh÷ng th«ng tin
cÇn thiÕt, vÝ dô mét m· s¶n phÈm (MaSanPham) ch¼ng h¹n Dïng h×nh thøc göi GET lµ phï hîp !
Trang ShowProduct.asp - Hiển thị sản phẩm và chi tiết sản phẩm: 2 in 1
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Hien thi san pham</title>
</head>
<BODY>
<%
IF Request.QueryString("MaSanPham") = "" THEN
%>
<table border=0 cols=2 width="100%">
<TR>
<TD>HDD Seagate 20 GB </td>
<TD> <a href="ShowProduct.asp?MaSanPham=hdd20">Xem chi tiÕt</a>
</td>
</TR>
<TR>
<TD>HDD Seagate 40 GB </td>
<TD> <a href="ShowProduct.asp?MaSanPham=hdd40">Xem chi tiÕt</a>
</td>
</TR>
<TR>
<TD>HDD Seagate 80 GB </td>
<TD> <a href="ShowProduct.asp?MaSanPham=hdd80">Xem chi tiÕt</a>
</td>
</TR>
</table>
<%
ELSE
SELECT CASE Request.QueryString("MaSanPham")
CASE "hdd20"
Response.write("æ c ng Seagate 20 GB, gi¸ 40 $")
CASE "hdd40"
Response.write("æ c ng Seagate 40 GB, gi¸ 80 $")
CASE "hdd80"
Response.write("æ c ng Seagate 80 GB, gi¸ 100 $")
END SELECT
END IF
%>
</BODY>
</HTML>
http://www.ebook.edu.vn 17
??? Request.QueryString("MaSanPham") = "" cã nghÜa g× ?
Phiªn b¶n ë trªn : Sö dông mét trang võa hiÓn thÞ võa xö lý d÷ liÖu göi ®Õn (kiÓu 2 in 1).
Ta cã thÓ sö dông c¬ chÕ 1 in 1, tøc lµ: Trang hiÓn thÞ riªng vµ trang hiÓn thÞ chi tiÕt riªng:
Trang HienThiSP.htm
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>HiÓn thÞ s¶n phÈm</title>
</head>
<BODY>
<table border=0 cols=2 width="100%">
<TR>
<TD>HDD Seagate 20 GB </td>
<TD> <a href=" ShowDetail.asp?MaSanPham=hdd20">Xem chi tiÕt</a> </td>
</TR>
<TR>
<TD>HDD Seagate 40 GB </td>
<TD> <a href=" ShowDetail.asp?MaSanPham=hdd40">Xem chi tiÕt</a> </td>
</TR>
<TR>
<TD>HDD Seagate 80 GB </td>
<TD> <a href=" ShowDetail.asp?MaSanPham=hdd80">Xem chi tiÕt</a> </td>
</TR>
</table>
</BODY>
</HTML>
Trang ShowDetail.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>HiÓn thÞ chi tiÕt s¶n phÈm </title>
</head>
<BODY>
<%
IF Request.QueryString("MaSanPham") <> "" THEN
SELECT CASE Request.QueryString("MaSanPham")
CASE "hdd20"
Response.write("æ cøng Reagate 20 GB, gi¸ 40 $")
CASE "hdd40"
Response.write("æ cøng Seagate 40 GB, gi¸ 80 $")
CASE "hdd80"
Response.write("æ cøng Seagate 80 GB, gi¸ 100 $")
END SELECT
ELSE
Response.write("B¹n vào trang ShowProduct.asp tr−íc ®· ! <BR>")
Response.write ("<a href = 'HienThiSP.htm'> &lt; &lt Quay trë l¹i </a>")
http://www.ebook.edu.vn 18
END IF
%>
</BODY>
</HTML>
NhËn xÐt : Göi d÷ liÖu theo kiÓu POST khi nµo ? vµ GET khi nµo ?
Mét sè bµi tËp: (Sö dông c¶ ph−¬ng ph¸p göi POST vµ GET)
1. ViÕt trang web tra cøu tõ ®iÓn. Cho ng−êi dïng nhËp vµo mét tõ tiÕng Anh, trang web sÏ hiÓn
thÞ nghÜa tiÕng viÖt t−¬ng øng.
2. ViÕt trang web thùc hiÖn tÝnh to¸n víi c¸c phÐp to¸n, hµm ®¬n gi¶n.
®èi t−îng server
Lµ mét ®èi t−îng cung cÊp mét sè hµm th−êng dïng trong øng dông. Cã 2 ph−¬ng thøc ®−îc cung
cÊp bëi ®èi t−îng server lµ Mappath vµ CreateObject.
1. Ph−¬ng thøc Mappath
Tr¶ vÒ ®−êng dÉn vËt lý tõ ®−êng dÉn (th− môc) ¶o.
+ Có ph¸p: Server.Mappath(“§−êng dÉn ¶o/ t−¬ng ®èi”)
+ VÝ dô: Cã mét ®Þa chØ nh− sau: http://localhost/HienThiSP.htm
VÞ trÝ ¶o cña tÖp Hienthisp.htm trªn webserver
Trang web HienThiSP.htm cã ®−êng dÉn ¶o lµ Localhost/HienThiSP.htm.
§−êng dÉn vËt lý (n»m trªn æ cøng cña trang nµy) lµ: c:inetpubwwwrootHienThisp.htm
http://www.ebook.edu.vn 19
VÞ trÝ vËt lý cña tÖp Hienthisp.htm trªn æ cøng.
Trong tr−êng hîp nµy, Server.Mappath(“HienThiSP.htm”) sÏ cho ta kÕt qu¶ lµ
c:inetpubwwwrootHienThisp.htm.
Nh− vËy hµm Mappath thùc hiÖn ¸nh x¹ tõ ®−êng dÉn ¶o ®−êng dÉn vËt lý.
Hµm nµy ®Æc biÖt hay dïng khi chóng ta tham chiÕu ®Õn ®−êng dÉn vËt lý cña c¸c tÖp CSDL khi kÕt
nèi.
VÝ dô:
Trang Mappath_Demo.asp
<%@ language = vbscript %>
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Mappath</title>
</head>
<BODY>
Duong dan vat ly cua mot so trang web : <br>
<%
Response.write (server.mappath("HienThiSP.htm"))
Response.write ("<BR>")
Response.write (server.mappath("/HienThiSP.htm"))
Response.write ("<BR>")
Response.write (server.mappath("/data/nwind.mdb"))
Response.write ("<BR>")
%>
</BODY>
</HTML>
http://www.ebook.edu.vn 20
KÕt qu¶:
KÕt qu¶
L−u ý: NÕu tÖp kh«ng tån t¹i hoÆc ®−êng dÉn ¶o ®−a vµo sai th× hµm tr¶ vÒ sÏ lµ mét x©u gåm ®−êng
dÉn tíi th− môc wwwroot céng víi x©u ®Æt trong mappath.
Hái : Kh«ng cÇn dïng ®Õn Mappath cã ®−îc kh«ng ?
2. Ph−¬ng thøc CreateObject
T¹o ra mét sè ®èi t−îng. VÝ dô t¹o ra c¸c ®èi t−îng truy xuÊt ®Õn CSDL.
+ Có ph¸p:
Set <Tªn_BiÕn> = Server.CreateObject(“X©u m« t¶ ®èi t−îng cÇn t¹o”)
X©u th−êng dïng (®èi t−îng th−êng ®−îc t¹o): ADODB.Connection vµ
ADODB.Recordset.
+ VÝ dô :
T¹o mét ®èi t−îng Connection vµ ®èi t−îng Recordset
Dim Conn, Rs
Set Conn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
®èi t−îng session – biÕn sesstion
§èi t−îng Session : Dïng ®Ó qu¶n lý c¸c th«ng tin liªn quan ®Õn mét phiªn lµm viÖc.
Mét phiªn (Session) lµm viÖc lµ g× ?: Mçi khi më tr×nh duyÖt (lÇn ®Çu tiªn) vµo website øng dông, ta
®· t¹o ra mét phiªn lµm viÖc. Phiªn lµm viÖc kÕt thóc khi ta ra khái website øng dông hoÆc khi tÊt c¶
c¸c cöa sæ tr×nh duyÖt bÞ ®ãng.
1. BiÕn Sesstion
Khi vµo mét website, ng−êi dïng cã thÓ duyÖt rÊt nhiÒu trang web cña website ®ã. NÕu muèn
l−u tr÷ th«ng tin vÒ kh¸ch th¨m nµy trong c¶ phiªn lµm viÖc th× cã thÓ l−u vµo c¸c biÕn, gäi lµ biÕn
Session.
2. §èi t−îng Session
Lµ ®èi t−îng dïng ®Ó qu¶n lý (t¹o, ®äc, ghi) c¸c biÕn sesstion vµ mét sè th«ng sè kh¸c.
+ Có ph¸p ®Ó t¹o biÕn Session nh− sau:
Session(“Tªn_BiÕn”) = <Gi¸ trÞ>
L−u ý: Tªn biÕn ph¶i ®Æt trong cÆp dÊu nh¸y kÐp. <Gi¸ trÞ> cã thÓ lµ x©u ký tù hoÆc sè.
VÝ dô : T¹o mét biÕn tªn lµ MaNguoiDung vµ g¸n gi¸ trÞ lµ T08A
http://www.ebook.edu.vn 21
Session(“MaNguoiDung”) = “T08A”
+ Có ph¸p ®Ó ®äc gi¸ trÞ cña mét biÕn sesstion nh− sau:
Session(“Tªn_BiÕn”)
+ Có ph¸p ®Ó ghi (thay ®æi) gi¸ trÞ cña biÕn session:
Session(“Tªn_BiÕn”) = <Gi¸ trÞ>
VÝ dô:
Response.write(“M· ng−êi dïng lµ : “ &Session(“MaNguoiDung”))
Riªng víi ®èi t−îng Session, nã cßn cã c¸c sù kiÖn. C¸c sù kiÖn nµy tù ®éng ®−îc gäi mçi khi
mét phiªn lµm viÖc ®−îc t¹o ra. C¸c sù kiÖn nµy cã tªn lµ On_Start vµ On_End. C¸c sù kiÖn nµy
®−îc ®Æt trong file Global.asa.
File Global.asa
<script LANGUAGE = "VBScript" RUNAT = Server>
'/// Thñ tôc nµy ®−îc gäi khi b¾t ®Çu mét phiªn
SUB Session_OnStart
'........
Session("MaNguoiDung") = "Kh¸ch_L¹"
'.........
END SUB
'/// Thñ tôc nµy ®−îc gäi khi kÕt thóc mét phiªn
SUB Session_OnEnd
'........
END SUB
</SCRIPT>
VÝ dô ®äc gi¸ trÞ biÕn Session:
File Session_Demo.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>§äc gi¸ trÞ cña biÕn Session cã tªn lµ MaNguoiDung</title>
</head>
<BODY>
<%
Response.write("<BR>B¹n lµ : " &Session("MaNguoiDung"))
%>
</BODY>
</HTML>
VÝ dô: ChØ hiÓn thÞ c¸c trang chñ (Home.asp) nÕu ng−êi dïng cã tªn (UserName) lµ T08A vµ mËt
khÈu lµ 123456. NÕu kh«ng th× hiÓn thÞ trang Login.asp ®Ó ng−êi dïng ®¨ng nhËp.
Trang Global.asa
<script LANGUAGE = "VBScript" RUNAT = Server>
'/// Thu tuc nay duoc goi khi bat dau mot phien
SUB Session_OnStart
'........
http://www.ebook.edu.vn 22
Session("MaNguoiDung") = ""
Session("MatKhau") = ""
Session("TrangThaiDangNhap") = "ch−a"
'.........
END SUB
'/// Thu tuc nay duoc goi khi ket thuc phien lam viec
SUB Session_OnEnd
'........
END SUB
</SCRIPT>
http://www.ebook.edu.vn 23
Trang Login.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Dang nhap</title>
</head>
<BODY>
<%
IF Request.Form("MaNguoiDung")= "T08A" and Request.Form("MatKhau")="123456" THEN
Session("MaNguoiDung") = Request.Form("MaNguoiDung")
Session("MatKhau") = Request.Form("MatKhau")
Session("TrangThaiDangNhap") = "råi"
Response.write("B¹n ®· ®¨ng nhËp thµnh c«ng ! B¹n cã thÓ vµo ")
Response.write("<a href = 'Home.asp'>Trang chñ </a>")
ELSE ‘/// T¹o form ®¨ng nhËp
Session("TrangThaiDangNhap") = "ch−a"
Response.write("<form action='Login.asp' method = 'Post'>")
Response.write("Tªn ®¨ng nhËp: <Input type = text name = MaNguoiDung> <BR>")
Response.write("MËt khÈu : <Input type = password name = MatKhau> <BR>")
Response.write("<Input type = Submit value = '§¨ng nhËp'>")
Response.write("</form>")
END IF
%>
</BODY>
</HTML>
Trang Home.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Trang chñ</title>
</head>
<BODY>
<%
IF Session("TrangThaiDangNhap") = "råi" THEN
Response.write("<h2>§©y lµ trang chñ cña líp T08A !</h2>")
Response.write("<h1>Chµo mõng b¹n ®· ghÐ th¨m website cña chóng t«i !")
ELSE
Response.write("B¹n ch−a ®¨ng nhËp ! <a href = 'Login.asp'> §¨ng nhËp.
</a>")
END IF
%>
</BODY>
</HTML>
*L−u ý: Cã thÓ t¹o biÕn Session ë bÊt kú ®©u chø kh«ng nhÊt thiÕt ë trong file Global.asa
??? Dïng biÕn Session khi nµo ?
®èi t−îng application
Dïng ®Ó qu¶n lý c¸c biÕn cã ph¹m vi toµn øng dông.
1. Kh¸i niÖm biÕn toµn øng dông
BiÕn toµn øng dông lµ biÕn cã t¸c dông ®èi víi mäi ng−êi dïng truy cËp vµo website.
http://www.ebook.edu.vn 24
2. §èi t−îng Application
Dïng ®Ó qu¶n lý (T¹o, ®äc, ghi) c¸c biÕn cã ph¹m vi toµn øng dông.
+ Có ph¸p t¹o biÕn Application:
Application(“Tªn_BiÕn”) = <Gi¸ trÞ>
+ VÝ dô: T¹o biÕn So_Nguoi_Truy_Cap
Application(“So_Nguoi_Truy_Cap”) = 0
+ VÝ dô : §äc vµ ghi biÕn Application
Application(“So_Nguoi_Truy_Cap”)= Application(“So_Nguoi_Truy_Cap”) + 1
Response.write(“B¹n lµ vÞ kh¸ch thø: “ & Application(“So_Nguoi_Truy_Cap”))
L−u ý: Khi biÕn ®· tån t¹i th× lÖnh trªn ®−îc hiÓu lµ g¸n gi¸ trÞ míi, cßn nÕu ch−a tån t¹i th× ®−îc
hiÓu lµ t¹o biÕn.
§èi t−îng Application còng cã 2 sù kiÖn ®ã lµ Application_OnStart vµ Application_OnEnd. Sù kiÖn
OnStart chØ ®−îc kÝch ho¹t duy nhÊt mét lÇn khi yªu cÇu ®Çu tiªn ph¸t sinh. Sù kiÖn OnEnd ®−îc
kÝch ho¹t khi dÞch vô web dõng (unload).
§èi t−îng Application cã 2 ph−¬ng thøc lµ Lock vµ Unlock. Khi gäi ph−¬ng thøc Lock (khãa) th× tÊt
c¶ c¸c øng dông kh«ng ®−îc phÐp thay ®æi c¸c gi¸ trÞ Application. §Ó c¸c øng dông kh¸c ®−îc phÐp
thay ®æi c¸c biÕn Application th× gäi ph−¬ng thøc Unlock.
M· lÖnh viÕt cho 2 sù kiÖn nµy còng ®−îc ®Æt trong file Global.asa.
3. VÝ dô tæng hîp
Mçi khi ng−êi dïng truy cËp vµo website th× hiÓn thÞ cho ng−êi ®ã biÕt lµ vÞ kh¸ch thø bao nhiªu –
ch¼ng h¹n hiÓn thÞ trong trang Home.asp.
Trang Global.asa
<script LANGUAGE = "VBScript" RUNAT = Server>
'/// Thu tuc nay duoc goi duy nhat mot lan
SUB Application_OnStart
Application("SoKhachTruyCap") = 0
END SUB
'/// Thu tuc nay duoc goi khi IIS stop
SUB Application_OnEnd
Application("SoKhachTruyCap") = 0
END SUB
'/// Thu tuc nay duoc goi khi bat dau mot phien
SUB Session_OnStart
'........
Application("SoKhachTruyCap") = Application("SoKhachTruyCap") + 1
'.........
END SUB
</SCRIPT>
Trang Home.asp
<HTML>
<head>
http://www.ebook.edu.vn 25
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Trang chu</title>
</head>
<BODY>
<%
Response.write("<h2>Day la trang chu cua lop T08A !</h2>")
Response.write("<h1>Chao mung ban da ghe tham website cua chung toi !")
Response.write("<hr>")
Response.write("Ban la vi khach thu : " &application("SoKhachTruyCap"))
%>
</BODY>
</HTML>
chÌn file vμo trang asp
1. ý nghÜa: RÊt nhiÒu trang cã nh÷ng phÇn th«ng tin gièng hÖt nhau (VÝ dô phÇn §Çu trang, ch©n
trang hay phÇn kÕt nèi ®Õn CSDL) §Ó nhanh chãng, dÔ dµng söa ®æi, b¶o tr×, ASP cho phÐp ng−êi
dïng chÌn mét trang vµo trang web hiÖn t¹i.
2. Có ph¸p chÌn file:
<!-- #include Lo¹i_§−êng_DÉn = Tªn_File -->
+ Lo¹i_§−êng_DÉn cã thÓ lµ File hoÆc Virtual.
NÕu Lo¹i_§−êng_DÉn = File th× Tªn_File lµ ®−êng dÉn t−¬ng ®èi tÝnh tõ th− môc hiÖn hµnh.
NÕu Lo¹i_§−êng_DÉn = Virtual th× Tªn_File sÏ lµ ®−êng dÉn ¶o ®Çy ®ñ.
VÝ dô 1:
<!-- #include File = “Home.asp” -->
VÝ dô 2 :
<!-- #include Virtual = “/Data/KetNoi.asp” -->
3. VÝ dô tæng hîp
T¹o mét trang web chøa footer cung cÊp th«ng tin liªn hÖ. Footer nµy xuÊt hiÖn trong tÊt c¶ c¸c
trang, trong ®ã cã trang Home.asp.
C¸c b−íc tiÕn hµnh: T¹o mét trang chøa néi dung footer, ®Æt tªn lµ Footer.asp
Sau ®ã Include vµo c¸c trang – vÝ dô trang Home.asp
Trang Footer.asp
<hr>
<h4 style="text-align:center">
&copy by T08A - UTEHY 2009. Telephone: 0321-123456/ Fax: 0321-713015; E-Mail:
T08A@googlegroups.com
</h4>
L−u ý:
- Th−êng th× c¸c trang ®−îc Include nh− thÕ nµy cã ®u«i më réng lµ *.inc
- Néi dung c¸c trang Include cã thÓ chøa c¶ thÎ HTML vµ c¶ m· lÖnh asp
http://www.ebook.edu.vn 26
Trang Home.asp (Cã Include trang Footer.asp)
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Trang chu</title>
</head>
<BODY>
<%
Response.write("<h2>Day la trang chu cua lop T08A !</h2>")
Response.write("<h1>Chao mung ban da ghe tham website cua chung toi !")
Response.write("<BR>")
Response.write("Ban la vi khach thu : " &application("SoKhachTruyCap"))
%>
<!-- #include file = "Footer.asp" -->
</BODY>
</HTML>
KÕt qu¶ khi hiÓn thÞ trang home.asp
kÕt nèi vμ thao t¸c víi csdl trong asp
1. Qui t¾c chung
- T¹o ®èi t−îng Connection vµ Recordset sö dông ph−¬ng thøc Server.CreateObject
- KÕt nèi ®Õn CSDL
- Thùc thi c¸c c©u lÖnh SQL th«ng qua ph−¬ng thøc Execute cña ®/t−îng Connection
- §äc d÷ liÖu tõ Recordset sö dông vßng lÆp
- KÕt hîp víi ®èi t−îng Response ®Ó göi tr¶ kÕt qu¶ vÒ cho tr×nh duyÖt.
2. T¹o ®èi t−îng Connection vµ kÕt nèi ®Õn CSDL
Qui −íc: TÖp c¬ së d÷ liÖu dïng trong suèt c¸c vÝ dô lµ tÖp nwind.mdb vµ ®−îc ®Æt t¹i th− môc gèc
cña øng dông.
Trang KetNoi.asp
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Utf-8">
<title>Ket noi </title>
http://www.ebook.edu.vn 27
</head>
<BODY>
<%
Dim Conn
'// T¹o ®èi t−îng Connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " &
Server.Mappath("nwind.mdb")
Conn.CursorLocation = 3
on error resume next
'/// Më kÕt nèi
Conn.Open
IF Conn.State = 1 THEN
Response.write("Da ket noi thanh cong !")
ELSE
Response.write("Khong the ket noi den CSDL !")
END IF
'/// §ãng kÕt nèi
cn.Close
%>
</BODY>
</HTML>
§èi t−îng Connection nµy gièng nh− ®èi t−îng Connection trong Visual Basic.
§Ó thùc hiÖn c¸c c©u lÖnh SQL, sö dông có ph¸p:
Cn.Execute (<C©u lÖnh SQL>); víi Cn lµ mét ®èi t−îng Connection
3. T¹o ®èi t−îng Recordset
Dim Rs
Set Rs = Server.createObject(“ADODB.Recordset”)
§èi t−îng Recordset nµy gièng nh− ®èi t−îng Recordset trong Visual Basic.
ViÖc phèi hîp gi÷a ®èi t−îng Connection vµ Recordset còng gièng nh− trong VB.
3.2 Thùc thi c©u lÖnh SQL:
<BiÕn_Connection>.Execute ("C©u_LÖnh_SQL")
+ C©u lÖnh SQL : Select ®Ó ®äc (Chän) ra c¸c b¶n ghi
+ C©u lÖnh : Insert ®Ó chÌn thªm c¸c b¶n ghi
+ C©u lÖnh: Delete ®Ó xãa b¶n ghi
+ C©u lÖnh Update ®Ó cËp nhËt c¸c b¶n ghi.
4. Mét sè vÝ dô
4.1 HiÓn thÞ toµn bé tªn nhµ cung cÊp (CompanyName) trong b¶ng Suppliers
<HTML>
<head>
http://www.ebook.edu.vn 28
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Danh sach nha cung cap </title>
</head>
<BODY>
<%
Dim Conn, Rs
'// T¹o ®èi t−îng Connection
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " &
Server.Mappath("nwind.mdb")
Conn.CursorLocation = 3
'//// Më kÕt nèi ®Õn CSDL
on error resume next
Conn.Open
'/// T¹o mét biÕn Recordset
Set Rs = Server.CreateObject("ADODB.Recordset")
'/// L−u kÕt qu¶ select vµo biÕn Recordset : RS
Set Rs = Conn.Execute("SELECT CompanyName from Suppliers")
'/// DuyÖt c¸c b¶n ghi trong biÕn kÕt qu¶ RS vµ write ra tr×nh duyÖt
Do while not Rs.eof
Response.write(Rs("CompanyName"))
Response.write ("<BR>")
Rs.MoveNext
loop
Conn.Close
%>
</BODY>
</HTML>
Version 2:
KÕt nèi vµ ®äc d÷ liÖu sö dông ph−¬ng thøc Open cña ®èi t−îng Recordset.
§äc d÷ liÖu th«ng qua ph−¬ng thøc Open
<HTML>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Danh sach nha cung cap </title>
</head>
<BODY>
<%
Dim Conn, Rs
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " &
Server.Mappath("nwind.mdb")
Conn.CursorLocation = 3
on error resume next
http://www.ebook.edu.vn 29
Conn.Open
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open "SELECT CompanyName from Suppliers", Conn, 1,3
Do while not Rs.eof
Response.write(Rs("CompanyName"))
Response.write ("<BR>")
Rs.MoveNext
Loop
Conn.Close
%>
</BODY>
</HTML>
Dïng c¸ch nµy, vÒ sau ta cã thÓ thªm vµ cËp nhËt CSDL th«ng qua Rs.
4.2.1 HiÓn thÞ danh s¸ch c¸c s¶n phÈm trong mét b¶ng
Th«ng tin hiÓn thÞ gåm: Tªn s¶n phÈm, gi¸, …
4.2.2 Thªm b¶n ghi vµo trong CSDL
X©y dùng trang asp cho phÐp ng−êi dïng thªm c¸c nhµ cung cÊp vµo
4.3 HiÓn thÞ danh s¸ch c¸c nhµ cung cÊp trong mét ComboBox
4.4 HiÓn thÞ Tªn c¸c nhµ cung cÊp (Companyname), vµ bªn c¹nh tªn nhµ cung cÊp cã thªm cét
“Xem c¸c s¶n phÈm” do nhµ cung cÊp ®ã s¶n xuÊt ra. Khi ng−êi dïng click vµo Hyperlink nµy th×
hiÓn thÞ tªn c¸c s¶n phÈm do nhµ cung cÊp ®ã ®· s¶n xuÊt ra.
4.5 T¹o mét form nhËp ®Ó cho phÐp ng−êi dïng nhËp thªm nhµ cung cÊp.
4.6 T¹o mét form ®Ó t×m kiÕm th«ng tin chi tiÕt nhµ cung cÊp. Th«ng tin nhËp vµo lµ m· nhµ cung
cÊp (SupplierID)
4.7 T¹o mét trang cËp nhËt th«ng tin vÒ nhµ cung cÊp (b¶ng Suppliers)
4.8 T¹o mét trang cho phÐp xãa b¶n ghi trong b¶ng Suppliers
4.9 T¹o mét trang hiÓn thÞ thªm 3 cét “Add”, “Update”, “Delete” ®Ó cho ng−êi dïng cã thÓ thªm,
söa ®æi vµ xãa b¶n ghi trong b¶ng Suppliers.
4.10 T¹o mét b¶ng Users, chøa tµi kho¶n ng−êi dïng. Sau ®ã x©y dùng trang Login.asp thùc hiÖn
viÖc ®¨ng nhËp.
4.10 T¹o mét trang hiÓn thÞ danh môc c¸c lo¹i s¶n phÈm, mçi khi ng−êi dïng click vµo mét chñng
lo¹i th× hiÓn thÞ c¸c s¶n phÈm thuéc chñng lo¹i ®ã.
4.11 HiÓn thÞ danh s¸ch s¶n phÈm theo tõng trang – 10 b¶n ghi / 1 trang.
http://www.ebook.edu.vn 30
PHô LôC 1:
DANH S¸CH C¸C THÎ TRONG JAVASCRIPT
- Các thuộc tính áp dụng cho Font chữ
Thuộc tính Các giá trị hợp lệ Ví dụ
font-family [Tên font hoặc kiểu] font-family: Verdana,
Arial;
font-style normal hoặc italic font-style:italic;
font-variant normal hoặc small-caps font-variant:small-caps;
font-weight normal ho bold font-weight:bold;
font-size [ xx-large | x-large | large | medium | small | x-small
| xx-small ] | [ larger | smaller ] | phần trăm hoặc
length
font-size:12pt;
Font [ font-style || font-variant || font-weight ] ? font-size
[ / line-height ] ? font-family
font: bold 12pt Arial;
- Các thuộc tính màu và nền (Color and background properties)
Thuộc tính Các giá trị hợp lệ Ví dụ
Color Màu color: red
background-color Màu hoặc transparent background-color: yellow
background-image Địa chỉ (url) hoặc Không đặt gì background-image:
url(house.jpg)
background-repeat repeat | repeat-x | repeat-y | no-repeat background-repeat: no-repeat
background-attachment scroll hoặc fixed background-attachment: fixed
background-position [ position | length ] | {1,2} | [ top |
center | bottom ] || [ left | center |
right ]
background-position: top center
background transparent | color || url || repeat ||
scroll || position
background: silver
url(house.jpg) repeat-y
* Lưu ý: Các giá trị in nghiêng khi sử dụng bạn phải thay bằng giá trị cụ thể, ví dụ viết phần trăm
hay lenght thì bạn phải thay các giá trị dạng phần trăm, ví dụ 50% đối với thuộc tính phần trăm
(percentage) và 10, 20 .... cho thuộc tính length.
http://www.ebook.edu.vn 31
- Các thuộc tính áp dụng cho Text
Thuộc tính Giá trị hợp lệ Ví dụ
Letter-spacing normal | length letter-spacing:5pt
text-decoration none | underline | overline | line-through text-decoration:underline
vertical-align Sub | super | vertical-align:sub
text-transform capitalize | uppercase | lowercase | none text-transform:lowercase
text-align left | right | center | justify text-align:center
text-indent length | percentage text-indent:25px
line-height normal | number | length | percentage line-height:15pt
- Các thuộc tính áp dụng cho các ô trong một bảng
Thuộc tính Giá trị hợp lệ Ví dụ
margin-top length | percentage | auto margin-top:5px
margin-right length | percentage | auto margin-right:5px
margin-bottom length | percentage | auto margin-bottom:1em
margin-left length | percentage | auto margin-left:5pt
Margin length | percentage | auto {1,4} margin: 10px 5px 10px 5px
padding-top length | percentage padding-top:10%
padding-right length | percentage padding-right:15px
padding-bottom length | percentage padding-bottom:1.2em
padding-left length | percentage padding-left:10pt; }
Padding length | percentage {1,4} padding: 10px 10px 10px 15px
border-top-width thin | medium | thick | length border-top-width:thin
border-right-width thin | medium | thick | length border-right-width:medium
border-bottom-width thin | medium | thick | length border-bottom-width:thick
border-left-width thin | medium | thick | length border-left-width:15px
border-width thin | medium | thick | length {1,4} border-width: 3px 5px 3px 5px
border-top-color color border-top-color:navajowhite
border-right-color Color border-right-color:whitesmoke
border-bottom-color Color border-bottom-color:black
border-left-color Color border-left-color:#C0C0C0
border-color color {1,4} border-color: green red white
blue; }
border-top-style none | solid | double | groove | ridge |
inset | outset
border-top-style:solid
border-right-style none | solid | double | groove | ridge | border-right-style:double
http://www.ebook.edu.vn 32
inset | outset
border-bottom-style none | solid | double | groove | ridge |
inset | outset
border-bottom-style:groove
border-left-style none | solid | double | groove | ridge |
inset | outset
border-left-style:none
border-style none | solid | double | groove | ridge |
inset | outset
border-style:ridge; }
border-top border-width | border-style | border-
color
border-top: medium outset red
border-right border-width | border-style | border-
color
border-right: thick inset maroon
border-bottom border-width | border-style | border-
color
border-bottom: 10px ridge gray
border-left border-width | border-style | border-
color
border-left: 1px groove red
Border border-width | border-style | border-
color
border: thin solid blue
Float none | left | right float:none
clear none | left | right | both clear:left
- Các thuộc tính phân loại - classification Properties
Thuộc tính Giá trị hợp lệ Ví dụ
Display none | block | inline | list-item display:none
list-style-type disk | circle | square | decimal | lower-
roman | upper-roman | lower-alpha |
upper-alpha | none
list-style-type:upper-alpha
list-style-image url | none list-style-image:url(icFile.gif)
list-style-position inside | outside list-style-position:inside
list-style keyword || position || url list-style: square outside
url(icFolder.gif)
- Các thuộc tính định vị trí cho các phần tử
Thuộc tính Giá trị hợp lệ Ví dụ Có thể áp dụng cho
Clip Toạ độ của một hình
chữ nhật| auto
clip:rect(0px 200px 200px
0px)
tất cả các phần tử (all
elements)
Height length | auto height:200px DIV, SPAN và các ptử bị thay
thế
Left length | percentage |
auto
left:0px Các phần tử được định vị tuyệt
đối và tương đối
Overflow visible | hidden | scroll
| auto
overflow:scroll tất cả các phần tử
position absolute| relative | position:absolute tất cả các phần tử
http://www.ebook.edu.vn 33
static
Top length | percentage |
auto
top:0px Các phần tử được định vị tuyệt
đối và tương đối
Visibility visible | hidden |
inherit
visibility:visible tất cả các phần tử
Width length | percentage |
auto
width:80% DIV, SPAN and replaced
elements
z-index auto | integer z-index:-1 Các phần tử được định vị tuyệt
đối và tương đối
- Thuộc tính liên quan đến in ấn - Printing Properties
Thuộc tính Giá trị hợp lệ Ví dụ
page-break-before auto | always || left | right page-break-before:always
page-break-after auto | always || left | right page-break-before:auto
-Pseudo Classes
Thuộc tính Giá trị hợp lệ Ví dụ
Cursor auto | crosshair | default | hand | move | e-resize
| ne-resize | nw-resize | n-resize | se-resize | sw-
resize | s-resize | w-resize | text | wait | help
{ cursor:hand; }
Active, hover, link,
visited
n/a a:hover { color:red; }
first-letter, first-line any font manipulating declaration p:first-letter{
float:left;color:blue
}
Một số ví dụ áp dụng:
Ví dụ 1: Tạo một dòng văn bản “Welcome to CSS” có font chữ là Arial, in nghiêng và kích thước
font chữ là 16 point.
<HTML>
<HEAD> </HEADS>
<BODY>
<P style=“font-family:arial; font-style:italic; font-size:16pt”>Welcome to </P>
</BODY>
</HTML>
<Xem kết quả>
Ví dụ 2: Tạo một textbox với màu nền là màu tím (magenta).
<HTML>
<HEAD> </HEADS>
<BODY>
<Input type = text style = “background-color:magenta”>
</BODY>
</HTML>
<Xem kết quả>
Ví dụ 3: Đặt 3 file ảnh nền tương ứng vào tài liệu, vào textbox và vào textarea
<HTML>
<HEAD> </HEAD>
<BODY style="background-image:url('anh1.jpg');background-repeat:no-repeat">
http://www.ebook.edu.vn 34
<Input style = "background-image:url('anh2.jpg');background-repeat:repeat-x; width:100%">
<P>
<textarea style = "background-image:url('anh3.jpg');background-repeat:repeat-y" cols = 80 rows = 25>
</textarea>
</BODY>
</HTML>
<Xem kết quả>
*Ghi chú:
-Khi ta đặt là repeat-x thì ta có một dãy ảnh được xếp liên tiếp theo chiều ngang
-Khi ta đặt là repeat-y thì ta có một dãy ảnh được xếp liên tiếp theo chiều dọc
Ví dụ 4: Tạo một dòng văn bản, chứa xâu: "Trang chu cua HY-Aptech", trong đó từ "Trang chu" có
màu xanh (blue) và khi người dùng di chuyển chuột đến chữ "Trang chu" thì chuột chuyển thành
hình bàn tay, và khi chuột click lên chữ này thì trang http://www.aptech.ute sẽ được mở.
<HTML>
<HEAD> </HEAD>
<BODY>
<TITLE>Tạo liên kết và xử lý sự kiện</TITLE>
<font style ="cursor:hand;color:blue" onclick="window.open('http://www.aptech.ute');">Trang chu
</font> cua HY-Aptech
</BODY>
</HTML> ===> Xem kết quả
Ghi chú: Khi muốn áp dụng các kiểu cho một số phần tử các bạn chỉ cần viết :
style="Tên_Thuộc_tính : Giá_Trị;" trong định nghĩa thẻ. Trong đó cặp "Tên_Thuộc_tính : Giá_Trị;"
có thể viết như cột ví dụ đã chỉ ra ở các bảng trên.
PHô lôc 2:
DANH S¸CH C¸C HμM TRONG VBSCRIPT
Language Element Description
Abs Function Returns the absolute value of a number.
Array Function Returns a Variant containing an array.
Asc Function Returns the ANSI character code corresponding to the first letter in a string.
Atn Function Returns the arctangent of a number.
CBool Function Returns an expression that has been converted to a Variant of subtype Boolean.
CByte Function Returns an expression that has been converted to a Variant of subtype Byte.
CCur Function Returns an expression that has been converted to a Variant of subtype Currency.
CDate Function Returns an expression that has been converted to a Variant of subtype Date.
CDbl Function Returns an expression that has been converted to a Variant of subtype Double.
Chr Function Returns the character associated with the specified ANSI character code.
CInt Function Returns an expression that has been converted to a Variant of subtype Integer.
CLng Function Returns an expression that has been converted to a Variant of subtype Long.
Cos Function Returns the cosine of an angle.
CreateObject Function Creates and returns a reference to an Automation object.
CSng Function Returns an expression that has been converted to a Variant of subtype Single.
CStr Function Returns an expression that has been converted to a Variant of subtype String.
Date Function Returns the current system date.
DateAdd Function Returns a date to which a specified time interval has been added.
DateDiff Function Returns the number of intervals between two dates.
DatePart Function Returns the specified part of a given date.
DateSerial Function Returns a Variant of subtype Date for a specified year, month, and day.
DateValue Function Returns a Variant of subtype Date.
Day Function Returns a whole number between 1 and 31, inclusive, representing the day of the month.
http://www.ebook.edu.vn 35
Eval Function Evaluates an expression and returns the result.
Exp Function Returns e (the base of natural logarithms) raised to a power.
Filter Function Returns a zero-based array containing subset of a string array based on a specified filter
criteria.
Fix Function Returns the integer portion of a number.
FormatCurrency Function Returns an expression formatted as a currency value using the currency symbol defined in
the system control panel.
FormatDateTime Function Returns an expression formatted as a date or time.
FormatNumber Function Returns an expression formatted as a number.
FormatPercent Function Returns an expression formatted as a percentage (multiplied by 100) with a trailing %
character.
GetLocale Function Returns the current locale ID value.
GetObject Function Returns a reference to an Automation object from a file.
GetRef Function Returns a reference to a procedure that can be bound to an event.
Hex Function Returns a string representing the hexadecimal value of a number.
Hour Function Returns a whole number between 0 and 23, inclusive, representing the hour of the day.
InputBox Function Displays a prompt in a dialog box, waits for the user to input text or click a button, and
returns the contents of the text box.
InStr Function Returns the position of the first occurrence of one string within another.
InStrRev Function Returns the position of an occurrence of one string within another, from the end of string.
Int Function Returns the integer portion of a number.
IsArray Function Returns a Boolean value indicating whether a variable is an array.
IsDate Function Returns a Boolean value indicating whether an expression can be converted to a date.
IsEmpty Function Returns a Boolean value indicating whether a variable has been initialized.
IsNull Function Returns a Boolean value that indicates whether an expression contains no valid data (Null).
IsNumeric Function Returns a Boolean value indicating whether an expression can be evaluated as a number.
IsObject Function Returns a Boolean value indicating whether an expression references a valid Automation
object.
Join Function Returns a string created by joining a number of substrings contained in an array.
LBound Function Returns the smallest available subscript for the indicated dimension of an array.
LCase Function Returns a string that has been converted to lowercase.
Left Function Returns a specified number of characters from the left side of a string.
Len Function Returns the number of characters in a string or the number of bytes required to store a
variable.
LoadPicture Function Returns a picture object. Available only on 32-bit platforms.
Log Function Returns the natural logarithm of a number.
LTrim Function Returns a copy of a string without leading spaces.
Mid Function Returns a specified number of characters from a string.
Minute Function Returns a whole number between 0 and 59, inclusive, representing the minute of the hour.
Month Function Returns a whole number between 1 and 12, inclusive, representing the month of the year.
MonthName Function Returns a string indicating the specified month.
MsgBox Function Displays a message in a dialog box, waits for the user to click a button, and returns a value
indicating which button the user clicked.
Now Function Returns the current date and time according to the setting of your computer's system date
and time.
Oct Function Returns a string representing the octal value of a number.
Replace Function Returns a string in which a specified substring has been replaced with another substring a
specified number of times.
RGB Function Returns a whole number representing an RGB color value.
Right Function Returns a specified number of characters from the right side of a string.
Rnd Function Returns a random number.
http://www.ebook.edu.vn 36
Round Function Returns a number rounded to a specified number of decimal places.
RTrim Function Returns a copy of a string without trailing spaces.
ScriptEngine Function Returns a string representing the scripting language in use.
ScriptEngineBuildVersion
Function
Returns the build version number of the scripting engine in use.
ScriptEngineMajorVersion
Function
Returns the major version number of the scripting engine in use.
ScriptEngineMinorVersion
Function
Returns the minor version number of the scripting engine in use.
Second Function Returns a whole number between 0 and 59, inclusive, representing the second of the minute.
SetLocale Function Sets the global locale and returns the previous locale.
Sgn Function Returns an integer indicating the sign of a number.
Sin Function Returns the sine of an angle.
Space Function Returns a string consisting of the specified number of spaces.
Split Function Returns a zero-based, one-dimensional array containing a specified number of substrings.
Sqr Function Returns the square root of a number.
StrComp Function Returns a value indicating the result of a string comparison.
String Function Returns a repeating character string of the length specified.
StrReverse Function Returns a string in which the character order of a specified string is reversed.
Tan Function Returns the tangent of an angle.
Time Function Returns a Variant of subtype Date indicating the current system time.
Timer Function Returns the number of seconds that have elapsed since 12:00 AM (midnight).
TimeSerial Function Returns a Variant of subtype Date containing the time for a specific hour, minute, and
second.
TimeValue Function Returns a Variant of subtype Date containing the time.
Trim Function Returns a copy of a string without leading or trailing spaces.
TypeName Function Returns a string that provides Variant subtype information about a variable.
UBound Function Returns the largest available subscript for the indicated dimension of an array.
UCase Function Returns a string that has been converted to uppercase.
VarType Function Returns a value indicating the subtype of a variable.
Weekday Function Returns a whole number representing the day of the week.
WeekdayName Function Returns a string indicating the specified day of the week.
Year Function Returns a whole number representing the year.
PHô LôC 3:
MéT Sè C¢U LÖNH SQL TH¦êng dïNG Vμ VÝ Dô
*** C¬ së d÷ liÖu ®−îc sö dông lµ nwind.mdb (Cã s½n khi cµi Office hoÆc lÊy trªn AptechServer)
*** §Ó ch¹y c¸c c©u lÖnh ë d−íi, më nwind.mdb trong MS Access vµ vµo phÇn Query.
I. §äc th«ng tin (C©u lÖnh SELECT)
1. Chän tÊt c¶ c¸c s¶n phÈm trong b¶ng Products
SELECT * from Products
2. Chän tªn s¶n phÈm (Productname) vµ gi¸ (UnitPrice) trong b¶ng products
SELECT Productname, UnitPrice FROM Products
3. Chän ra tªn c«ng ty cña nhµ cung cÊp (CompanyName) vµ tªn c¸c s¶n phÈm (ProductName) mµ
nhµ cung cÊp ®ã ®· s¶n xuÊt.
http://www.ebook.edu.vn 37
SELECT CompanyName, ProductName FROM Suppliers, Products WHERE
Suppliers.SupplierID=Products.SupplierID
4. §−a ra th«ng tin cña s¶n phÈm cã m· s¶n phÈm (ProductID) lµ 3
SELECT * FROM Products WHERE ProductID=3
5. §−a ra th«ng tin vÒ s¶n phÈm cã ProductID < 10
SELECT * FROM Products WHERE ProductID < 10
6. §−a ra th«ng tin vÒ s¶n phÈm mµ tªn cña nã (ProductName) cã Chøa tõ "Coffee"
SELECT * FROM Products WHERE ProductName LIKE '*Coffee*'
7. §Õm sè b¶n ghi (sè l−îng s¶n phÈm) trong b¶ng Products)
SELECT Count(*) from Products
8. TÝnh tæng sè l−îng ®¬n vÞ s¶n phÈm cã trong b¶ng Products
SELECT SUM(UnitsInStock) from Products
II. ChÌn thªm b¶n ghi (Bæ sung) – C©u lÖnh Insert into
1. Bæ sung thªm mét nhµ cung cÊp cã CompanyName lµ FPT vµ Address lµ Hµ Néi vµo b¶ng
Suppliers.
INSERT INTO Suppliers(CompanyName, Address) VALUES ('Cong ty FPT','Ha Noi')
2. Bæ sung thªm mét s¶n phÈm cã (SupplierID=30, ProductName lµ "M¸y tÝnh", UnitPrice lµ 500,
UnitsInstock lµ 10) vµo b¶ng Products
INSERT INTO Products(SupplierID, ProductName, UnitPrice, UnitsInstock) VALUES (30, 'May
tinh', 500, 10)
III. Xãa b¶n ghi – C©u lÖnh Delete
1. Xãa s¶n phÈm cã m· s¶n phÈm (ProductID) b»ng 78
DELETE FROM Products WHERE ProductID = 78
2. Xãa c¸c s¶n phÈm cã tªn s¶n phÈm (ProductName) lµ "May tinh"
DELETE FROM Products WHERE ProductName = 'May tinh'
IV. CËp nhËt b¶n ghi – C©u lÖnh Update
1. Thay ProductName = 'Cocacola' ®èi víi nh÷ng s¶n phÈm cã m· s¶n phÈm b»ng 1
UPDATE Products SET ProductName = 'Cocacola' where ProductID = 1
2. T¨ng thªm 5 $ cho tÊt c¶ c¸c s¶n phÈm
UPDATE Products SET UnitPrice = UnitPrice+5
3. T¨ng 5 $ cho nh÷ng s¶n phÈm cã UnitPrice <20 vµ t¨ng 3 $ cho nh÷ng s¶n phÈm cã UnitPrice
>= 20.
- UPDATE Products SET UnitPrice = UnitPrice+5 where UnitPrice < 20
- UPDATE Products SET UnitPrice = UnitPrice+3 where UnitPrice >= 20
http://www.ebook.edu.vn 38
PHô LôC 4:
CμI §ÆT IIS (WEBSERVER) Vμ CH¹Y C¸C TRANG ASP
I. Cµi ®Æt Internet Information service (IIS) – web server
Click start Setting Control panel Add/Remove programs Add/remove windows
components
Chọn IIS
II. CÊu h×nh tr×nh duyÖt ®Ó ch¹y c¸c file ASP
1. Máy tính ở nhà:
B1. Mở Internet explorer
B2. Vào Menu tools Internet options
http://www.ebook.edu.vn 39
Đóng các cửa sổ lại.
2. Máy tính ở phòng thực hành
- Nếu mỗi máy đều cài đặt IIS, thì tiến hành cấu hình IE như phần I
- Nếu chỉ có một máy cài IIS chung cho cả phòng thì tiến hành như sau:
+ Giả sử máy tính đó có địa chỉ IP là 192.168.1.1
B1: Mở IE
B2: Vào menu Tools Internet options
Bỏ lựa chọn
này nếu có
http://www.ebook.edu.vn 40
Gõ giá trị như hình : Chọn OK , OK để đóng các cửa sổ
(Hoặc để trống như phần I).
III. Copy c¸c file ASP võa so¹n th¶o vµo th− môc web ®Ó ch¹y.
B1: Chọn các file (thư mục) cần copy và nhấn Ctrl-C (Copy)
B2: Chuyển đến thư mục C:inetpubwwwroot
B3: Nhấn Ctrl-P (Paste)
http://www.ebook.edu.vn 41
IV.Ch¹y file ASP
*** Lưu ý: Không Click đúp chuột để chạy như những file thông thường !!!
B1: Mở trình duyệt IE
B2: + Gõ vào địa chỉ sau: http://127.0.0.1 (ở nhà)
+ Gõ vào địa chỉ sau: http://192.168.9.251 (Nếu thông qua máy khác)
B3: Click chọn file cần chạy
phô lôc 5
h−íng dÉn t¹o domain trong m¸y côc bé
§Ó cã thÓ lµm viÖc gièng nh− hÖ thèng thËt (Cã tªn miÒn d¹ng www.abc.com.cn, ....) nh−ng l¹i
kh«ng cã ®iÒu kiÖn kÕt nèi internet hay cã server riªng, th× hoµn toµn cã thÓ thùc hiÖn ®−îc b»ng c¸c
b−íc sau ®©y (Gi¶ sö muèn t¹o tªn miÒn www.T08A.com):
Më Control Panel
Click chọn
file cần chạy
http://www.ebook.edu.vn 42
Më Administative tools
Click ®óp chuét vµo IIS
(NÕu b¸o lçi th× vÒ desktop, click chuét ph¶i vµo My computer Manage)
Click chuét ph¶i vµ chän Properties
http://www.ebook.edu.vn 43
Chän Advance
Chän Edit ®Ó ®Æt tªn miÒn mong muèn
http://www.ebook.edu.vn 44
NhËp tªn miÒn theo së thÝch
Chän OK ë c¸c hép tho¹i ®ang më .
Khi ®· t¹o tªn miÒn nh− trªn Ph¶i cÊu h×nh (thiÕt lËp th«ng sè) cho tr×nh duyÖt !
B1: Më IE
B2. Vµo menu Tools Internet options
§Æt Proxy ®Ó tªn miÒn võa ®Æt cã t¸c dông
Gâ tªn miÒn tïy ý !
http://www.ebook.edu.vn 45
§Ó domain www.T08A.com cã t¸c dông th× b¾t buéc
Ph¶i ®Æt th«ng sè Proxy trong Lan Settings lµ 127.0.0.1 hoÆc Localhost
Chän OK ®Ó ®ãng c¸c hép tho¹i.
B3. Test thö
Më IE vµ nhËp ®Þa chØ:
Më website võa ®Æt trong cöa sæ tr×nh duyÖt
http://www.ebook.edu.vn 46
phô lôc 6:
cμi ®Æt ftp ®Ó ®−a trang web lªn server
Trong tr−êng hîp khi web server kh«ng ph¶i lµ m¸y côc bé mµ cã thÓ lµ trªn Internet th× viÖc ®−a c¸c
trang web lªn ®ã th−êng dïng mét phÇn mÒm riªng biÖt, gäi lµ phÇn mÒm FTP Client. HiÖn nay cã
kh¸ nhiÒu phÇn mÒm nh− vËy nh−ng hay dïng lµ CuteFTP.
I. Cµi ®Æt cuteFTP
Ch¹y file CuteFTP.Exe (NÕu kh«ng cã th× download trªn m¹ng hoÆc vµo Aptechserver ®Ó lÊy) vµ lµm
theo c¸c h−íng dÉn trong qu¸ tr×nh cµi ®Æt.
II. Sö dông FTP
- §Ó cã thÓ ®−a c¸c trang web lªn web server th× b¹n cÇn ph¶i ®−îc cÊp mét tµi kho¶n (bao gåm user
name vµ Password). Tµi kho¶n nµy do ng−êi qu¶n trÞ cung cÊp hoÆc do Nhµ cung cÊp dÞch vô Hosting
cung cÊp khi mua. Ngoµi ra, b¹n cßn ph¶i biÕt chÝnh x¸c ®Þa chØ vµ sè hiÖu cæng cña server mµ ta sÏ
®−a trang web lªn.
Gi¶ sö, b¹n ®· ®−îc cung cÊp c¸c sè liÖu nh− sau:
STT Th«ng sè Gi¸ trÞ
1 user name utehy
2 password utehyaptech
3 ftp Server Address (®Þa chØ) utehy.vn (hoÆc ®Þa chØ IP)
4 ftp Port (Sè hiÖu cæng) 21 (§©y lµ gi¸ trÞ mÆc ®Þnh)
Sau khi ®· cã ®Çy ®ñ c¸c th«ng sè nµy, ta míi cã thÓ tiÕn hµnh c¸c b−íc tiÕp theo sau ®©y:
- Ch¹y FTP Client
- Vµo menu File, chän new FTP site hoÆc nhÊn phÝm t¾t Ctrl-N
T¹o mét kÕt nèi ®Õn FTP server
http://www.ebook.edu.vn 47
Mét hép tho¹i sÏ më ra ®Ó b¹n nhËp c¸c th«ng tin ë trªn vµo
B¹n nhËp c¸c th«ng tin trong b¶ng trªn nh− sau:
§Æt c¸c th«ng sè kÕt nèi.
*** Riªng sè hiÖu cæng, mÆc ®Þnh lµ 21 nªn kh«ng ph¶i nhËp. NÕu nhµ cung cÊp ®−a cho ta sè hiÖu
kh¸c th× chän tab bªn c¹nh ("Type"), sau ®ã ®Æt l¹i sè hiÖu cæng.
http://www.ebook.edu.vn 48
T¹i ®©y, ng−êi sö dông dÔ dµng thùc hiÖn viÖc upload, download
ViÖc Upload (®−a lªn) hay download (lÊy vÒ) ®¬n gi¶n nh− trong cöa sæ Explorer
KÓ c¶ c¸c thao t¸c nh− T¹o th− môc, xãa file, ®æi tªn file,....
http://www.ebook.edu.vn 49
PhÇn III: Thùc hμnh
BμI THùC hμNH Sè 1
MỤC TIÊU: Kết thúc bài thực hành sinh viên có thể
• Xây dựng trang Web theo cấu trúc Frame
• Hiển thị trang web trong một frame chỉ định
• Tạo các hiệu ứng cho liên kết
NỘI DUNG:
Yêu cầu: Tạo một trang Web có 3 frame với tên lần lượt là : frameTren, frameTrai, framePhai.
frameTren sẽ nạp trang Banner.htm, frameTrai sẽ nạp trang Menu.htm, framePhai dùng để hiển thị
trang Web mà liên kết được đặt trong frameTrai, ban đầu frame này sẽ nạp trang GioiThieu.htm.
Tạo trang Banner.htm
1. Mở chương trình soạn thảo, ví dụ FrontPage
2. Gõ nội dung như sau
<HTML>
<HEAD>
<TITLE>Trang Banner.htm</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</HEAD>
<BODY>
<H1 STYLE="width:100%; filter:glow(); text-align:center;">Siêu thị máy tính </H1>
</BODY>
</HTML>
Tạo trang GioiThieu.htm
<HTML>
<HEAD>
<TITLE>Trang Giới thiệu</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</HEAD>
<BODY>
<H1 Style="text-align:center;">Giới thiệu về công ty tại đây</H1>
<H1 Style=”text-align:center”>Tham khảo các trang Web trên mạng </H1>
</BODY>
</HTML>
http://www.ebook.edu.vn 50
Trang Menu.htm (Minh hoạ tạo 2 liên kết đến trang GioiThieu.htm và SanPham.asp)
<HTML>
<HEAD>
<TITLE>Trang Liên kết</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</HEAD>
<BODY>
<A Href = “GioiThieu.htm” Target = “Main”>Giới thiệu </A>
<A Href =”SanPham.asp” Target = “Main”>Sản phẩm </A>
</BODY>
</HTML>
Trang Menu.htm (Version 2 - tạo hiệu ứng)
<HTML>
<HEAD>
<TITLE>Trang liên kết - tạo hiệu ứng</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
</HEAD>
<Style Type = “Text/CSS”>
A { Text-decoration: None} // Bỏ gạch chân dưới mỗi liên kết
.MenuThuong {color : Blue; Background-color: White} // Định nghĩa lớp
.MenuKichHoat {color : White; Background-color : Red} // Định nghĩa lớp
</Style>
<BODY>
<A onMouseOver="this.className='MenuKichHoat'"
onMouseOut ="this.className='MenuThuong' "
href = “GioiThieu.htm” Target = “Main”>Giới thiệu
</A>
<BR>
<A onMouseOver="this.className='MenuKichHoat' "
onMouseOut ="this.className='MenuThuong' "
href = “SanPham.asp” Target = “Main”>Sản phẩm
</A>
</BODY>
</HTML>
Trang Index.htm (Chú ý : Thêm các thẻ <BODY>
<Frameset rows = "20%,*">
<Frame name = Banner Src = "Banner.htm">
<FrameSet Cols= "20%,*">
<Frame name = Menu Src = "Menu.htm">
<Frame name = Main Src = "GioiThieu.htm">
</FrameSet>
</FrameSet>
http://www.ebook.edu.vn 51
bμi thùc hμnh sè 2
MỤC TIÊU: Sau bài thực hành này Sinh viên có thể
- Viết lệnh đọc và hiển thị dữ liệu trong một bảng trên trang Web
- Bổ sung dữ liệu vào trong bảng CSDL
- Cập nhật dữ liệu vào trong bảng CSDL
- Truyền dữ liệu giữa các trang bằng URL (Dạng Request.QueryString(…))
NỘI DUNG THỰC HÀNH
Tạo CSDL tên là Book.mdb, CSDL này có 1 bảng là tblSach gồm các trường như sau:
1. Đọc dữ liệu trong bảng CSDL và hiển thị trên trang Web
Tạo một trang HienThiSach.asp có nội dung như sau:
<%@LANGUAGE="VBSCRIPT" %>
<HTML>
<title>Đọc dữ liệu từ file CSDL</title>
<body style="font-family:arial">
<%
Dim Cn, Rs
Dim strCn
'///// Tạo kết nối đến CSDL /////////////////////////////////////////////////////////
Set Cn = Server.CreateObject("ADODB.Connection") '/// Tạo đối tượng Connection
Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &Server.Mappath("Book.mdb")
Cn.CursorLocation = 3
Cn.Open '/// Thực sự mở kết nối đến CSDL Book.mdb
Set Rs = Cn.Execute("Select * from tblSach") '/// Mở bảng và lưu trong biến RS
'//// Đọc dữ liệu và hiển thị ra Bảng////////////////////////////////////////////
Response.Write("<Table border = 1 style='width:100%'>")
Response.Write("<TR><TH>Mô tả <TH>Tên sách <TH> Tên Tác giả <TD>”)
Response.Write(“Tên NXB <TD> Năm XB <TD>Số trang <TD> Giá ")
Do while not Rs.EOF
Response.Write("<TR>")
Response.Write("<TD><img width=100px src='" & Rs("DuongDan") &"'>")
Response.Write("<TD>" &Rs("TenSach"))
Response.Write("<TD>" &Rs("TenTacgia"))
Response.Write("<TD>" &Rs("TenNXB"))
Response.Write("<TD>" &Rs("NamXB"))
Response.Write("<TD>" &Rs("SoTrang"))
Response.Write("<TD>" &Rs("Gia"))
Rs.MoveNext
Loop
Response.Write("</Table>") '/// Đóng thẻ Table
</BODY>
</HTML>
http://www.ebook.edu.vn 52
2. Cập nhật dữ liệu (Cập nhật thông tin về một cuốn sách nào đó)
Ý tưởng: Để cập nhật dữ liệu cho thuận tiện, chúng ta sẽ xây dựng 3 trang: Một trang gọi là
“DanhMucSach.asp” để hiển thị các sách hiện có. Mỗi một cuốn sách trong trang này sẽ có một
liên kết tên là “Cập nhật”, liên kết này chỉ đến trang “SoanThao.asp”, Khi người dùng click vào liên
kết thì trong liên kết có chứa “MaSach” sẽ được gửi đến trang “SoanThao.asp”. Trang
“SoanTHao.asp” sẽ hiển thị các thông tin trong các textbox về cuốn sách có mã bằng mã do trang
“DanhMucSach.asp” gửi tới và cho người dùng thay đổi tại đây. Thông tin soạn xong sẽ được gửi
đến trang “Capnhat.asp” để thực hiện việc cập nhật. Sơ đồ mô tả như hình dưới đây:
File: DanhMucSach.asp
<%@LANGUAGE="VBSCRIPT" %>
<title>Danh mục sách trong file CSDL</title>
<body style="font-family:arial">
<!-- #Include file= "KetNoi.inc" --> ‘/// Nội dung file Ketnoi.inc xin xem ở phần dưới
<h1 align="center">Danh mục sách trong kho </h1>
<%
Set Rs = Cn.Execute("Select * from tblSach") '/// Mở bảng và lưu trong biến RS
'//// Đọc dữ liệu và hiển thị ra Bảng////////////////////////////////////////////
Response.Write("<Table border = 1 style='width:100%'>")
Response.Write("<TR> <TH>Mô tả <TH>Tên sách <TH> Tên Tác giả <TD>Tên NXB <TD> Sửa đổi")
do while not Rs.EOF
Response.Write("<TR>")
Response.Write("<TD><img width=100px src='" & Rs("DuongDan") &"'>")
Response.Write("<TD>" &Rs("TenSach"))
Response.Write("<TD>" &Rs("TenTacgia"))
Response.Write("<TD>" &Rs("TenNXB"))
Response.Write("<TD><A href = 'SoanThao.asp?MaSach=" &Rs("MaSach") &"'>Sửa")
Rs.MoveNext
Loop
Response.Write("</Table>") '/// Đóng thẻ Table
%>
</BODY>
</HTML>
File: “KetNoi.inc”
<% Dim Cn, Rs
Dim strCn
Set Cn = Server.CreateObject("ADODB.Connection") ' /// Tạo đối tượng Connection
Cn.ConnectionString= "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.Mappath("Book.mdb")
Cn.CursorLocation = 3
Cn.Open ' /// Thực sự mở kết nối đến CSDL Book.mdb
%>
TênS TGiả ~~
Pascal QTN ~~
~~~ ~~~ ~~
DanhMucSach.asp
Mã sách:
Tên sách:
Tên tác giả:
~~~~~~~~
~~~~~~~~
SoanThao.asp
Dim Tensach
TenSach=
Request.QueryString
(“TenSach”)
……………..
tblSach
CapNhat.asp
http://www.ebook.edu.vn 53
File: SoanThao.asp
<%@LANGUAGE="VBSCRIPT" %>
<HTML>
<head>
<title>Hiển thị dữ liệu cho người dùng soạn thảo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="font-family:arial">
<!-- #Include file= "KetNoi.inc" --> ‘// File KetNoi.inc xin xem ở trang trên
<h1 align="center">Thay đổi các trường và nhấn nút "Cập nhật"</h1>
<%
Dim MaSach
MaSach = Request.QueryString("MaSach") ‘// Lấy mã sách do trang DanhMucSach gửi tới
'Chọn sách có Mã sách = Mã sách mà người dùng muốn sửa đổi
Set Rs = Cn.Execute("Select * from tblSach where Masach = '" &Masach & "'")
Response.Write("<FORM Action = 'CapNhat.asp' method = Post>")
Response.Write("Mã sách : <Input type=text value ='" &Rs("MaSach") &"' name = MaSach> <BR>")
Response.Write("Tên sách : <Input type=text value='" &Rs("TenSach") &"' name = TenSach> <BR>")
Response.Write("Tên tác giả : <Input type=text value='" &Rs("TenTacGia") &"' name = TenTacGia>
<BR>")
Response.Write("Tên nhà xuất bản: <Input type=text value='" &Rs("TenNXB") &"' name= TenNXB>
<BR>")
Response.Write("<Input type = Submit value = 'Cập nhật'>")
Response.Write("</FORM>")
%>
</BODY>
</HTML>
File: CapNhat.asp
<%@LANGUAGE="VBSCRIPT" %>
<HTML>
<head>
<title>Cập nhật dữ liệu từ file CSDL</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<BODY style="font-family:arial">
<!-- #Include file= "KetNoi.inc" --> ‘// File KetNoi.inc xin xem ở trang trên
<%
Dim MaSach, TenSach, TenTacGia, TenNXB
MaSach = Request.Form("MaSach") '// Lấy mã sách mà người dùng muốn
TenSach = Request.Form("TenSach")
TenTacGia = Request.Form("TenTacGia")
TenNXB = Request.Form("TenNXB")
Cn.execute "Update tblSach Set TenSach = '" &TenSach & "', TenTacGia = '" & TenTacGia & "',TenNXB = '"
&TenNXB & "' Where MaSach = '" &MaSach & "'"
Response.Write("Thông tin đã được cập nhật ! <a href=DanhMucSach.asp>Danh mục sách</A>")
%>
</BODY>
</HTML>
http://www.ebook.edu.vn 54
bμi thùc hμnh sè 3
MỤC TIÊU: Sau bài thực hành này Sinh viên có thể
- Khai báo và sử dụng biến Session và biến Application
- Sử dụng biến toàn cục Application để đếm số lượng người truy cập
- Sử dụng biến Session để lưu tình trạng đăng nhập của người dùng
- Tạo trang đăng nhập cho người dùng
NỘI DUNG THỰC HÀNH
I. Tạo biến toàn cục
1. Biến Application
Biến Application là biến có phạm vi ảnh hưởng đến tất cả mọi người dùng. Nó tồn tại từ khi IIS
Server chạy. Biến này thường được dùng để lưu các thông tin mang ý nghĩa toàn cục, ví dụ như số
lượng người truy cập v.v…
Bài 01: Tạo biến toàn cục có tên là SoNguoiTruyCap, và hiển thị giá trị của nó trong trang có tên là :
Test.asp
Bước 1: Tạo trang Global.asa có nội dung như sau (Lưu ý: Tên phải là Global.asa):
Bước 2: Tạo trang Test.asp để hiển thị và thay đổi giá trị của biến toàn cục, có nội dung như sau :
<Script language = VBScript Runat = Server>
Sub Application_OnStart
Application(“SoNguoiTruyCap”) = 0 ‘// Tạo biến toàn cục tên là SoNguoiTruyCap
End Sub
</SCRIPT>
Trang Global.asa
<%@ Language = VBScript %>
<HTML>
<BODY>
<%
Response. Write("Giá tr c a bi n toàn c c là : " &Application("SoNguoiTruyCap"))
Applicathon("SoNfuoiTruyCap") = Application("SoNguoiTruyCap") + 1
Response. Write("<BR> Giá tr c a bi n bây gi là : " &Application("SoNguoiTruyCap"))
%>
</BODY>
</HTML>
Trang Test.asp
http://www.ebook.edu.vn 55
*** Nhận xét***:
- Vì SoNguoiTruyCap là một biến toàn cục, do vậy nó vẫn tồn tại ngay cả khi bạn đã đóng tất cả
các cửa sổ trình duyệt. Sự thay đổi này có tác dụng đối với mọi người dùng truy nhập vào Website.
- Để tạo một biến toàn cục, chúng ta viết: Application("<Tên biến>") = <Giá trị> như ở trên.
- Thủ tục sự kiện Application_OnStart và Session_OnStart được gọi mỗi khi một trang ASP được
mở, trong các thủ tục này chúng ta có thể viết các câu lệnh ASP, kể cả việc truy cập vào CSDL.
Bài 02: Đếm số lượt người truy cập vào Website
Yêu cầu: Xây dựng một trang Web có tên là Index.asp. Trong trang này sẽ hiển thị số lượng người
đã truy cập.
Lưu ý: Vì mỗi một khách vào thăm trang Web thì thủ tục sự kiện Session_OnStart được gọi một
lần, do vậy để đếm số lượng người truy cập thì trong thủ tục này ta chỉ cần tăng biến toàn cục
SoNguoiTruyCap lên 1 đơn vị là đủ. Tức là trong tệp Global.asa bạn cần thêm các câu lệnh sau:
2. Biến Session
Biến Session là biến toàn cục dùng để lưu thông tin hoặc trạng thái của một người dùng cụ thể nào đó
trong một phiên làm việc, Ví dụ: Dùng để lưu trạng thái đăng nhập (Thành công hay không thành
công) của một người dùng.
<%@ Language = VBScript %>
<HTML>
<BODY>
<H1 Align = Center> Chào m ng b n ã n v i Website c a l p chúng tôi ! </H1>
<BR><BR><HR>
<%
Response. Write("<H2> B n là v khách th " &Application("SoNguoiTruyCap"))
%>
</BODY>
</HTML>
Trang Index.asp
<Script language = VBScript Runat = Server>
Sub Application_OnStart
Application(“SoNguoiTruyCap”) = 0 ‘/// Tạo biến toàn cục tên là SoNguoiTruyCap
End Sub
Sub Sesstion_OnStart '/// Thủ tục này được gọi khi có 1 người mới viếng thăm
Application(“SoNguoiTruyCap”) = Application(“SoNguoiTruyCap”) + 1
End Sub
</SCRIPT>
Trang Global.asa
http://www.ebook.edu.vn 56
Biến Session chỉ tồn tại trong thời gian Session được tạo ra, nó không ảnh hưởng đến các Session
khác. Để tạo biến Session, cần đặt câu lệnh trong file Global.asa và trong thủ tục Sub Session_OnStart
lệnh sau: Session(“<Tên biến>”) = <Giá trị>
Sau đây chúng ta sẽ sử dụng biến Session để lưu trạng thái đăng nhập của người dùng. Và tạo 1
trang đăng nhập.
Bài 02: Xây dựng 2 trang ASP có tên lần lượt là : Xoa.asp và trang Login.asp.
Trang xoá có nội dung như sau (Thực tế giống như trang Xoa.asp trong Project01): “Loại bỏ sản phẩm “. Và
trang này chỉ hiển thị nếu người dùng đã đăng nhập với Tên là “tk33” và mật khẩu là “123”. Nếu
người dùng chưa đăng nhập thì mở trang Login.asp để đăng nhập.
Khai báo biến Session(“DaDangNhap”) trong file Global.asa như sau:
Xây dựng trang Login.asp
<HTML>
<TITLE>Đăng nhập hệ thống </TITLE>
<BODY>
<FORM ACTION="Login.asp" METHOD="POST">
<TABLE BGCOLOR="#FF9966" ALIGN="CENTER">
<TR STYLE="color:white" BGCOLOR="#660000">
<TD COLSPAN="2" ALIGN="CENTER"> Thông tin đăng nhập</TR>
<TR> <TD>Tên đăng nhập : <TD> <Input TYPE="TEXT" NAME="UserName">
<TR> <TD>Mật khẩu: <TD> <Input TYPE="PASSWORD" name = Password>
<TR> <TD>&nbsp; <TD> <Input TYPE="SUBMIT" VALUE="Đăng nhập">
</TABLE>
</FORM>
<%
IF Request.Form(“UserName”) = “tk33” And Request.Form(“Password”) = “123” Then
Session(“DaDangNhap”) = “roi” ‘// Ghi nhớ lại là đã đăng nhập thành công rồi.
Response.write(“Bạn đã đăng nhập thành công ! <a href = ‘index.htm’>Về trang chủ </a>”)
Else
Response.write(“Tên và mật khẩu sai ! Xin hãy nhập lại.”)
End IF
%>
</BODY>
</HTML>
Thực tế, việc kiểm tra người dùng ở trên, chúng ta sẽ so sánh với chi tiết người dùng trong CSDL.
<Script language = VBScript Runat = Server>
Sub Sesstion_OnStart '/// Thủ tục này được gọi khi có 1 người mới viếng thăm
Session(“DaDangNhap”) = “chua” ‘/// Biến Đã đăng nhập khởi tạo = “chưa”
End Sub
</SCRIPT>
Trang Global.asaFile Global.asa
http://www.ebook.edu.vn 57
Trang Xoa.asp
Nâng cấp trang Login.asp
<HTML>
<TITLE>Đăng nhập hệ thống </TITLE>
<BODY>
<FORM ACTION="Login.asp" METHOD="POST">
<TABLE BGCOLOR="#FF9966" ALIGN="CENTER">
<TR STYLE="color:white" BGCOLOR="#660000">
<TD COLSPAN="2" ALIGN="CENTER"> Thông tin đăng nhập</TR>
<TR> <TD>Tên đăng nhập : <TD> <Input TYPE="TEXT" NAME="UserName">
<TR> <TD>Mật khẩu: <TD> <Input TYPE="PASSWORD" name = Password>
<TR> <TD>&nbsp; <TD> <Input TYPE="SUBMIT" VALUE="Đăng nhập">
</TABLE>
</FORM>
<!-- #Include File = “KetNoi.Inc” -->
<%
Dim Ten, MatKhau, strSQL
Ten = Request.Form(“UserName”)
MatKhau = Request.Form(“Password”)
IF Ten <> “” Then ' /// Chỉ kiểm tra nếu người dùng đã nhập Username & Password
strSQL =“Select* from tblUserDetail Where Ten=’” &Ten & “’ AND MatKhau =’“ &MatKhau &”’”
Set Rs = Cn.Execute(strSQL)
IF Rs.RecordCount > 0 Then
Session(“DaDangNhap”) = “roi”
Response.write(“Bạn đã đăng nhập thành công ! <a href = ‘index.htm’>Về trang chủ </a>”)
Else
Response.write(“Tên và mật khẩu sai ! Xin hãy nhập lại.”)
End IF
End IF
%>
</BODY>
</HTML>
trang Login.asp
<HTML> <BODY>
<%
IF Session(“DaDangNhap”) = “roi” Then ‘// Thực hiện các câu lệnh ở đây
Response.write(“Bản ghi đã bị xoá ! “)
Response.write(“Bạn muốn xoá tiếp hay không ?”)
Else
Response.write(“Bạn chưa đăng nhập. <a href =’Login.asp’>Login</a>”)
End IF
%>
</BODY> </HTML>
Trang Global.asaXoa.sp
Bai giang-lap-trinh-web-bang-asp
Bai giang-lap-trinh-web-bang-asp
Bai giang-lap-trinh-web-bang-asp
Bai giang-lap-trinh-web-bang-asp

More Related Content

What's hot

Giáo trình nhập môn tin học đỗ thị mơ[bookbooming.com]
Giáo trình nhập môn tin học   đỗ thị mơ[bookbooming.com]Giáo trình nhập môn tin học   đỗ thị mơ[bookbooming.com]
Giáo trình nhập môn tin học đỗ thị mơ[bookbooming.com]bookbooming1
 
Giáo trình lập trình mạng đh đà lạt[bookbooming.com]
Giáo trình lập trình mạng   đh đà lạt[bookbooming.com]Giáo trình lập trình mạng   đh đà lạt[bookbooming.com]
Giáo trình lập trình mạng đh đà lạt[bookbooming.com]bookbooming1
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITNguynMinh294
 
đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892
đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892
đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892nataliej4
 
Giao trinh visual studio[bookbooming.com]
Giao trinh visual studio[bookbooming.com]Giao trinh visual studio[bookbooming.com]
Giao trinh visual studio[bookbooming.com]bookbooming1
 
Bai giang asp.net full
Bai giang asp.net fullBai giang asp.net full
Bai giang asp.net fullLy hai
 
Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Cao Toa
 
Sách ôn tập Vật Lý
Sách ôn tập Vật LýSách ôn tập Vật Lý
Sách ôn tập Vật LýVuKirikou
 
36 Ke Nhan Hoa(Q2) 792
36 Ke Nhan Hoa(Q2)  79236 Ke Nhan Hoa(Q2)  792
36 Ke Nhan Hoa(Q2) 792bstuananh
 
Lap trinh website dotnet c#
Lap trinh website dotnet c#Lap trinh website dotnet c#
Lap trinh website dotnet c#thanh nguyen
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vntailieumienphi
 

What's hot (13)

Giáo trình nhập môn tin học đỗ thị mơ[bookbooming.com]
Giáo trình nhập môn tin học   đỗ thị mơ[bookbooming.com]Giáo trình nhập môn tin học   đỗ thị mơ[bookbooming.com]
Giáo trình nhập môn tin học đỗ thị mơ[bookbooming.com]
 
Giáo trình lập trình mạng đh đà lạt[bookbooming.com]
Giáo trình lập trình mạng   đh đà lạt[bookbooming.com]Giáo trình lập trình mạng   đh đà lạt[bookbooming.com]
Giáo trình lập trình mạng đh đà lạt[bookbooming.com]
 
Luận văn tốt nghiệp: Nhà làm việc đại sứ quán nước ngoài, HAY
Luận văn tốt nghiệp: Nhà làm việc đại sứ quán nước ngoài, HAYLuận văn tốt nghiệp: Nhà làm việc đại sứ quán nước ngoài, HAY
Luận văn tốt nghiệp: Nhà làm việc đại sứ quán nước ngoài, HAY
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTIT
 
đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892
đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892
đồ áN thiết kế phân xưởng sản xuất phenol công suất 78000 tấn năm 3547892
 
Giao trinh visual studio[bookbooming.com]
Giao trinh visual studio[bookbooming.com]Giao trinh visual studio[bookbooming.com]
Giao trinh visual studio[bookbooming.com]
 
Bai giang asp.net full
Bai giang asp.net fullBai giang asp.net full
Bai giang asp.net full
 
Bai giang he thong nhung 2010
Bai giang he thong nhung 2010Bai giang he thong nhung 2010
Bai giang he thong nhung 2010
 
Sách ôn tập Vật Lý
Sách ôn tập Vật LýSách ôn tập Vật Lý
Sách ôn tập Vật Lý
 
36 Ke Nhan Hoa(Q2) 792
36 Ke Nhan Hoa(Q2)  79236 Ke Nhan Hoa(Q2)  792
36 Ke Nhan Hoa(Q2) 792
 
Lap trinh website dotnet c#
Lap trinh website dotnet c#Lap trinh website dotnet c#
Lap trinh website dotnet c#
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 

Viewers also liked

Asp net
Asp netAsp net
Asp netquanvn
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Unit 4 Project
Unit 4 ProjectUnit 4 Project
Unit 4 Projectlilmxdkid
 
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua NgocSinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua NgocNgoc Dao
 
Testing C# and ASP.net using Ruby
Testing C# and ASP.net using RubyTesting C# and ASP.net using Ruby
Testing C# and ASP.net using RubyBen Hall
 
Giao trinh-asp-net-w2008
Giao trinh-asp-net-w2008Giao trinh-asp-net-w2008
Giao trinh-asp-net-w2008Son Duong Hoang
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#MasterCode.vn
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 

Viewers also liked (11)

Asp
AspAsp
Asp
 
Asp net
Asp netAsp net
Asp net
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Unit 4 Project
Unit 4 ProjectUnit 4 Project
Unit 4 Project
 
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua NgocSinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
Sinh hoat CLB tin hoc Komaba lan 2 - Phat bieu cua Ngoc
 
Tìm hiểu về website
Tìm hiểu về websiteTìm hiểu về website
Tìm hiểu về website
 
Testing C# and ASP.net using Ruby
Testing C# and ASP.net using RubyTesting C# and ASP.net using Ruby
Testing C# and ASP.net using Ruby
 
Giao trinh-asp-net-w2008
Giao trinh-asp-net-w2008Giao trinh-asp-net-w2008
Giao trinh-asp-net-w2008
 
Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#Bài 2 - Công nghệ ADO.NET với C#
Bài 2 - Công nghệ ADO.NET với C#
 
Bai tap thuc hanh
Bai tap thuc hanhBai tap thuc hanh
Bai tap thuc hanh
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 

Similar to Bai giang-lap-trinh-web-bang-asp

Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITNguynMinh294
 
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...https://www.facebook.com/garmentspace
 
huong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbookhuong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbookTrần Minh Đức
 
Bai giang asp.net full
Bai giang asp.net fullBai giang asp.net full
Bai giang asp.net fullBoom Su
 
Linq vnese
Linq vneseLinq vnese
Linq vnesechienhm
 
Phan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tinPhan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tinHuy Lee
 
Diameter trong ims
Diameter trong imsDiameter trong ims
Diameter trong imsHung413793
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT NguynMinh294
 
Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...
Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...
Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...nataliej4
 
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tếBáo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tếducnguyenhuu
 
Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)
Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)
Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)Trung tâm Advance Cad
 
Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]bookbooming1
 
Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0Vu Huynh Van
 

Similar to Bai giang-lap-trinh-web-bang-asp (20)

Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTIT
 
Code igniter v1
Code igniter v1Code igniter v1
Code igniter v1
 
Php
PhpPhp
Php
 
Bài giảng excel 2010
Bài giảng excel 2010Bài giảng excel 2010
Bài giảng excel 2010
 
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
Luận án tiến sĩ phân tích thủy động lực học và thiết kế hệ thống điều khiển t...
 
Bao cao
Bao caoBao cao
Bao cao
 
huong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbookhuong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbook
 
Bai giang asp.net full
Bai giang asp.net fullBai giang asp.net full
Bai giang asp.net full
 
Bai giang asp.net full
Bai giang asp.net full Bai giang asp.net full
Bai giang asp.net full
 
Luận văn: Ứng dụng phần mềm Lingo tính toán chi phí vận hành cho nhà máy lọc ...
Luận văn: Ứng dụng phần mềm Lingo tính toán chi phí vận hành cho nhà máy lọc ...Luận văn: Ứng dụng phần mềm Lingo tính toán chi phí vận hành cho nhà máy lọc ...
Luận văn: Ứng dụng phần mềm Lingo tính toán chi phí vận hành cho nhà máy lọc ...
 
Linq vnese
Linq vneseLinq vnese
Linq vnese
 
Phan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tinPhan tich va thiet ke he thong tin
Phan tich va thiet ke he thong tin
 
Diameter trong ims
Diameter trong imsDiameter trong ims
Diameter trong ims
 
Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT Phân tích thiết kế hệ thống thông tin PTIT
Phân tích thiết kế hệ thống thông tin PTIT
 
Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...
Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...
Biện pháp đẩy mạnh chăm sóc khách hàng tại Bưu điện Trung tâm 1 – Bưu điện th...
 
Đồ án tốt nghiệp: Triển khai CRM thực tế
Đồ án tốt nghiệp: Triển khai CRM thực tếĐồ án tốt nghiệp: Triển khai CRM thực tế
Đồ án tốt nghiệp: Triển khai CRM thực tế
 
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tếBáo cáo khóa luận tốt nghiệp triển khai CRM thực tế
Báo cáo khóa luận tốt nghiệp triển khai CRM thực tế
 
Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)
Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)
Hướng dẫn sử dụng Autocad PI&D 20014 (Demo)
 
Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]Giao trinhvisualbasic6.0[bookbooming.com]
Giao trinhvisualbasic6.0[bookbooming.com]
 
Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0Giao trinhvisualbasic6.0
Giao trinhvisualbasic6.0
 

Recently uploaded

[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào môBryan Williams
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...PhcTrn274398
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Học viện Kstudy
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdfdong92356
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhvanhathvc
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11zedgaming208
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiTruongThiDiemQuynhQP
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 

Recently uploaded (20)

[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
[GIẢI PHẪU BỆNH] Tổn thương cơ bản của tb bào mô
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
 
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
Slide Webinar Hướng dẫn sử dụng ChatGPT cho người mới bắt đầ...
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA GIỮA HỌC KÌ + CUỐI HỌC KÌ 2 NĂ...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf200 câu hỏi trắc nghiệm ôn tập  PLDC.pdf
200 câu hỏi trắc nghiệm ôn tập PLDC.pdf
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhhôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
ôn tập lịch sử hhhhhhhhhhhhhhhhhhhhhhhhhh
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 

Bai giang-lap-trinh-web-bang-asp

  • 1. môc lôc môc lôc............................................................................................................................................ 1 PHÇN 1: c¬ b¶n vÒ html vμ VBSCRIPT............................................................................... 3 I. C¸C THÎ §Ó T¹O PHÇN Tö HTML C¥ B¶N........................................................................ 3 1. Có ph¸p chung: ............................................................................................................................. 3 2. T¹o mét sè phÇn tö c¬ b¶n ............................................................................................................ 3 II. Ng«n ng÷ VBScript (ng...................................................................................................... 6 1. Nhóng c©u lÖnh VBSCRIPT vµo trang web................................................................................... 6 2. G¾n kÕt m· lÖnh VBSCRIPT lªn c¸c sù kiÖn ................................................................................ 6 3. Ghi vµ ®äc d÷ liÖu trong TextBox ................................................................................................. 7 4. §äc d÷ liÖu trong ComboBox: Gièng nh− Listbox ....................................................................... 7 5. §äc / Ghi gi¸ trÞ trong CheckBox ................................................................................................. 7 PhÇn II : ASP .................................................................................................................................... 9 I. ASP là g× ? ..................................................................................................................................... 9 II. CÊu tróc cña mét file ASP ............................................................................................................ 9 2. Mét sè l−u ý:................................................................................................................................. 9 §èi t−îng Response ................................................................................................................. 9 0. VÊn ®Ò giao tiÕp (nhËp xuÊt) gi÷a ng−êi dïng vµ webserver. ....................................................... 9 1. Chøc n¨ng (ChÝnh) ........................................................................................................................ 9 2. Mét sè ph−¬ng thøc dïng: ............................................................................................................ 9 2.1 Ph−¬ng thøc write ................................................................................................................... 9 T−¬ng ®−¬ng víi:........................................................................................................................ 10 2.2 Ph−¬ng thøc Redirect............................................................................................................ 10 ®èi t−îng Request ................................................................................................................. 10 1. Chøc n¨ng ................................................................................................................................... 10 2. Mét sè thuéc tÝnh vµ ph−¬ng thøc th−êng dïng.......................................................................... 11 2.1 Thuéc tÝnh Form.................................................................................................................... 11 2.2 Thuéc tÝnh QueryString......................................................................................................... 14 ®èi t−îng server.................................................................................................................... 18 1. Ph−¬ng thøc Mappath ................................................................................................................. 18 2. Ph−¬ng thøc CreateObject........................................................................................................... 20 ®èi t−îng session – biÕn sesstion................................................................................. 20 1. BiÕn Sesstion ............................................................................................................................... 20 2. §èi t−îng Session ....................................................................................................................... 20 ®èi t−îng application ........................................................................................................ 23 1. Kh¸i niÖm biÕn toµn øng dông.................................................................................................... 23 2. §èi t−îng Application................................................................................................................. 24 3. VÝ dô tæng hîp ............................................................................................................................ 24 chÌn file vμo trang asp..................................................................................................... 25 1. ý nghÜa:........................................................................................................................................ 25 2. Có ph¸p chÌn file: ....................................................................................................................... 25 3. VÝ dô tæng hîp ............................................................................................................................ 25 kÕt nèi vμ thao t¸c víi csdl trong asp.................................................................. 26 1. Qui t¾c chung.............................................................................................................................. 26 2. T¹o ®èi t−îng Connection vµ kÕt nèi ®Õn CSDL......................................................................... 26 3. T¹o ®èi t−îng Recordset ............................................................................................................. 27 4. Mét sè vÝ dô ................................................................................................................................ 27 4.1 HiÓn thÞ toµn bé tªn nhµ cung cÊp (CompanyName) trong b¶ng Suppliers .......................... 27
  • 2. http://www.ebook.edu.vn 2 4.2.1 HiÓn thÞ danh s¸ch c¸c s¶n phÈm trong mét b¶ng.............................................................. 29 PHô LôC 1: DANH S¸CH C¸C THÎ TRONG JAVASCRIPT ............................................... 30 PHô lôc 2: DANH S¸CH C¸C HμM TRONG VBSCRIPT.................................................... 34 PHô LôC 3: MéT Sè C¢U LÖNH SQL TH¦êng dïNG Vμ VÝ Dô.................................... 36 I. §äc th«ng tin (C©u lÖnh SELECT) .............................................................................................. 36 II. ChÌn thªm b¶n ghi (Bæ sung) – C©u lÖnh Insert into.................................................................. 37 III. Xãa b¶n ghi – C©u lÖnh Delete ................................................................................................. 37 IV. CËp nhËt b¶n ghi – C©u lÖnh Update......................................................................................... 37 PHô LôC 4: CμI §ÆT IIS (WEBSERVER) Vμ CH¹Y C¸C TRANG ASP........................... 38 I. Cµi ®Æt Internet Information service (IIS) – web server............................................................... 38 II. CÊu h×nh tr×nh duyÖt ®Ó ch¹y c¸c file ASP................................................................................. 38 III. Copy c¸c file ASP võa so¹n th¶o vµo th− môc web ®Ó ch¹y..................................................... 40 IV.Ch¹y file ASP............................................................................................................................. 41 phô lôc 5 h−íng dÉn t¹o domain trong m¸y côc bé ....................................... 41 phô lôc 6: cμi ®Æt ftp ®Ó ®−a trang web lªn server........................................ 46 I. Cµi ®Æt cuteFTP............................................................................................................................ 46 II. Sö dông FTP ............................................................................................................................... 46 PhÇn III: Thùc hμnh BμI THùC hμNH Sè 1...................................................................... 49 bμi thùc hμnh sè 2................................................................................................................... 51 bμi thùc hμnh sè 3................................................................................................................... 54 bμi thùc hμnh sè 4................................................................................................................... 58
  • 3. http://www.ebook.edu.vn 3 PHÇN 1: c¬ b¶n vÒ html vμ VBSCRIPT I. C¸C THÎ §Ó T¹O PHÇN Tö HTML C¥ B¶N 1. Có ph¸p chung: <Tên_Loại_Phần_Tử <Thuộc tính 1> = “Giá trị” <Thuộc Tính> = “Giá trị”… > <Tên_Loại_Phần_Tử Style = “Thuộc_tính: giá_trị; thuộc_tính : giá trị ;….; > Kết hợp cả hai cách. Trong đó : Tên loại phần tử HTML Thuộc tính Button Name Text VALUE File MAXLENGTH Hidden ReadOnly Select Disable TextArea Cols, Rows CheckBox Multiple TYPE Phần “giá trị” có thể đặt trong cặp ngoặc kép hoặc cặp ngoặc đơn hoặc không cần !! Nếu đặt thuộc tính theo cách 2, thì có thể tham chiếu bảng sau (gọi là theo cú pháp CSS) 2. T¹o mét sè phÇn tö c¬ b¶n Tạo nút nhấn <Input name="KiemTra" TYPE="button" VALUE="Kiểm tra dữ liệu"> <Input TYPE="Submit" VALUE="Đăng nhập"> Tạo ô nhập <Input name="HoVaTen" TYPE="text" VALUE="Nguyễn Văn A" size="20" MAXLENGTH="30"> <Input name="Khoa" TYPE="text" VALUE="Khoa Công nghệ thông tin" size="40" MAXLENGTH="50" readonly="true"> <Input name="Truong" TYPE="text" VALUE="Trường Đại học sư phạm kỹ thuật Hưng Yên" size="40" MAXLENGTH="50" Disabled="true"> Tạo vùng nhập (Textarea) <textarea name="GhiChu" cols="50" rows="5"> Nội dung ghi chú: </textarea> Tạo ô nhập Password <Input name="MatKhau" type="password" value="123456" size="10" maxlength="20"> Tạo listbox <select name="MonHoc" size="5" > <option>Visual Basic</option> <option>Lập trình .NET</option> <option>Lập trình ASP</option>
  • 4. http://www.ebook.edu.vn 4 </select> Tạo ComboBox (chỉ cần bỏ thuộc tính size) <select name="Mon" size = 1 onChange="Call DocGiaTriListBox"> <option value = "Visual Basic">Visual Basic</option> <option value = "DOT_NET">Lập trình .NET</option> <option value = "ASP">Lập trình ASP</option> </select> Tạo hộp kiểm <Input name="chkVB" type="checkbox" value="Visual Basic" checked> Visual Basic <Input name="chkASP" type="checkbox" value="ASP "> Active Server Pages Tạo nút Radio <Input name="GioiTinh" type="radio" value="Nam" checked> <Input name="GioiTinh" type="radio" value="Nữ" > <Input name="TinhTrang" type="radio" value="Đã lập gia đình" > <Input name="TinhTrang" type="radio" value="Độc thân" checked > Tên giống nhau thì sẽ thuộc về cùng một nhóm (Groups) Phần tử chọn File <Input name="ChonFile" type="file" size="30"> Tạo textbox ẩn (Hidden). <Input name="PhanTuAn" type="hidden" value=""> Tạo các phần tử và đặt thuộc tính: + Tạo một textbox và đặt thuộc tính font: <FONT FACE = “Times New Roman”> <Input type = text value = “Font chữ Unicode đây !”> </FONT> + Tạo một textbox và đặt thuộc tính thông qua phong cách CSS: <Input type = text value = “Font Unicode” Style = “Font-Family:Times new roman”> + Tạo một nhãn có font chữ xanh, có hiệu ứng: <P Style =”Color:Blue; font-size:20; Text-Align:center”>Xin chào </p> + Tạo một nút nhấn có màu nền đỏ: <Input type = button style=”font-family:arial; background-color:red” value = “Đỏ”>
  • 6. http://www.ebook.edu.vn 6 II. Ng«n ng÷ VBScript (ng 1. Nhóng c©u lÖnh VBSCRIPT vµo trang web Sử dụng thẻ <script Language = VBScript> Ví dụ 1: <script language="VBScript"> MsgBox "Xin chào các bạn lớp T08A !" </SCRIPT> Ví dụ 2: <script language="VBScript"> Sub Chao MsgBox "Xin chào các bạn lớp T08A!" End Sub '/// Gọi thủ tục Chao. Viết là Call Chao hoặc Chao đều được Call Chao </SCRIPT> Ví dụ 3: <script language="VBScript"> Function Tong(a, b) Tong = a + b End Function Msgbox "Tổng của 2 + 3 = " & Tong(2,3) </SCRIPT> *** Chú ý: Trong cặp thẻ <Script> …. </Script> Chỉ có thể chứa các câu lệnh VBScript, không được chứa các thẻ HTML. 2. G¾n kÕt m∙ lÖnh VBSCRIPT lªn c¸c sù kiÖn Mỗi phần tử trên form có thể có các sự kiện như OnClick, OnChange, OnKeyUp … Khi đó ta có thể yêu cầu trình duyệt thực thi các câu lệnh hoặc thủ tục VBScript khi các sự kiện này xảy ra. Cú pháp: <…. Tên_Sự_Kiện = "Câu lệnh VBScript" ….> - Câu lệnh có thể là một lệnh đơn hoặc một lời gọi Hàm/ thủ tục - Thông thường, ta nên gọi một thủ tục hoặc hàm Ví dụ 1: Đưa ra lời chào khi người dùng click vào nút nhấn: <Input type = Button Value = "Click here..." OnClick = 'MsgBox "Xin chào lớp T08A !" '> Ví dụ 2: Thực hiện đưa ra lời chào khi người dùng click bằng việc gọi thủ tục <script language="VBScript"> Sub Chao MsgBox "Xin chào các bạn lớp T08A!" End Sub </SCRIPT> <Input type = Button Value = "Click here..." OnClick = "Chao"> HOẶC
  • 7. http://www.ebook.edu.vn 7 <Input type = Button Value = "Click here..." OnClick = "Call Chao"> I. Đọc và ghi dữ liệu trong các phần tử HTML Nhìn chung, để đọc hay thay đổi nội dung của một phần tử HTML, thông thường ta đọc hay thay đổi thuộc tính Value của nó. Cú pháp là : Đọc : <Tên>.Value Ghi (Thay đổi): <Tên>.Value [= Giá trị mới] Chú ý: Để đọc / ghi giá trị nằm trong phần tử HTML thì bắt buộc khi tạo phần tử đó cần có thuộc tính NAME 3. Ghi vµ ®äc d÷ liÖu trong TextBox <Input type = Text name = “HoVaTen” Value = “Nguyễn Văn A”> <script language="VBScript"> HoVaten.Value = "Trần Thị B" '// Ghi Msgbox "Giá trị trong hộp HoVaTen bây giờ là : " &HoVaTen.Value '// Đọc </SCRIPT> 1. Đọc dữ liệu trong Listbox <script language="VBScript"> '/// thủ tục này được gọi khi người dùng Click chọn ListBox Sub DocGiaTriListBox Dim MucChon MucChon = Mon.Value Msgbox "Bạn đã chọn mục : " & MucChon End Sub </SCRIPT> <select name="Mon" size = 1 onChange="Call DocGiaTriListBox"> <option value = "Visual Basic">Visual Basic</option> <option value = "DOT_NET">Lập trình .NET</option> <option value = "ASP">Lập trình ASP</option> </select> <Input type="button" value="Đọc giá trị trong Listbox" onClick="DocGiaTriListBox"> 4. §äc d÷ liÖu trong ComboBox: Gièng nh− Listbox 5. §äc / Ghi gi¸ trÞ trong CheckBox <HTML> <BODY> <script language=vbscript> Sub HT IF vb.checked=true Then Msgbox "VB đã được chọn" IF asp.checked=true Then msgbox "ASP đã được chọn" End Sub </SCRIPT> <Input type=button value ="Click đây !" onclick="HT" /> VB : <Input name="VB" type=checkbox checked /> <br /> ASP <Input name ="ASP" type=checkbox /> <br />
  • 9. http://www.ebook.edu.vn 9 PhÇn II : ASP I. ASP là g× ? II. CÊu tróc cña mét file ASP <%@ Language = "VBScript"%> … C¸c thÎ HTML…. <% …….. C¸c c©u lÖnh viÕt theo có ph¸p tùa Visual Basic …… %> … C¸c thÎ HTML…. <% …….. C¸c c©u lÖnh viÕt theo có ph¸p tùa Visual Basic …… %> … C¸c thÎ HTML…. <% …….. C¸c c©u lÖnh viÕt theo có ph¸p tùa Visual Basic …… %> … C¸c thÎ HTML…. 2. Mét sè l−u ý: - PhÇn më réng cña file ph¶i lµ ASP - Cã thÓ viÕt nhiÒu ®o¹n <% … %> trong mét file aSP - Trong ®o¹n <% … %> ph¶i lµ c¸c c©u lÖnh asp, kh«ng ®−îc chøa c¸c thÎ. NÕu muèn in C¸c thÎ - §−a vµo c©u lÖnh response.write. - C¸c c©u lÖnh n»m trong phÇn <% …. %> lµ c¸c c©u lÖnh viÕt gièng nh− Visual Basic.(Vßng lÆp for, do while, do … loop, c¸c hµm nh− Left, right, month, abs, year, mid, …..sö dông gièng nh− trong VB) §Ó "READ" trong ASP sö dông ®èi t−îng REQUEST §Ó "WRITE" trong ASP - Sö dông ®èi t−îng RESPONSE §èi t−îng Response 0. VÊn ®Ò giao tiÕp (nhËp xuÊt) gi÷a ng−êi dïng vµ webserver. 1. Chøc n¨ng (ChÝnh) Dïng ®Ó tr¶ (write) kÕt qu¶ vÒ cho m¸y kh¸ch (Tr×nh duyÖt) 2. Mét sè ph−¬ng thøc dïng: 2.1 Ph−¬ng thøc write ViÕt kÕt qu¶ tr¶ vÒ cho tr×nh duyÖt (m¸y kh¸ch). + Có ph¸p : Response.write(<X©u>/BiÓu thøc) Trong ®ã <X©u> lµ mét x©u ký tù, cã thÓ chøa c¸c thÎ HTML. BiÓu thøc cã thÓ lµ h»ng, biÕn, hµm, biÓu thøc chøa c¶ h»ng, biÕn, hµm …. +VÝ dô: Göi x©u “Hello world” vÒ cho tr×nh duyÖt. <%@ Language = vbscript %> <HTML>
  • 10. http://www.ebook.edu.vn 10 <BODY> <% Response.write(“Hello world”) %> </BODY> </HTML> T−¬ng ®−¬ng víi: <%@ Language = vbscript %> <HTML> <BODY> Hello world </BODY> </HTML> 2.2 Ph−¬ng thøc Redirect H−íng ng−êi dïng sang mét trang web kh¸c. VÝ dô khi ng−êi dïng gâ www.abc.com/Trang1.asp th× chóng ta cã thÓ h−íng (më) sang trang Trang2.asp ®Ó hiÓn thÞ. + Có ph¸p: Response.Redirect URL (§Þa chØ/ siªu liªn kÕt) + VÝ dô: Khi ng−êi dïng nhËp vµo trang Trang1.asp, ta sÏ hiÓn thÞ trang Trang2.Asp. Khi ®ã néi dung cña trang1.asp sÏ nh− sau: <%@ Language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Redirect</title> </head> <BODY> .... B¹n ph¶i th¨m trang2.asp tr−íc ®· ! <BR> <% '.............. Response.redirect "Trang2.asp" '.............. %> </BODY> </HTML> Mét vÝ dô cÇn sö dông ®Õn ph−¬ng thøc nµy ®ã lµ, khi ng−êi dïng ch−a thùc hiÖn ®¨ng nhËp vµ vµo ngay trang thao t¸c víi CSDL th× ta cÇn redirect ®Õn trang ®¨ng nhËp. ®èi t−îng Request M« h×nh nhËp liÖu tõ ng−êi dïng vµ tiÕp nhËn d÷ liÖu cña webserver: 2 con ®−êng. 1. POST: Göi c¶ mét form nhËp d÷ liÖu tíi webserver 2. GET : Göi th«ng qua liªn kÕt URL 1. Chøc n¨ng NhËn (lÊy / ®äc) vÒ c¸c gi¸ trÞ khi ng−êi dïng Submit (göi) ®i. (VÝ dô khi ng−êi dïng ®iÒn c¸c th«ng tin ®¨ng ký tµi kho¶n vµ nhÊn vµo nót Submit th× th«ng tin ®ã sÏ ®−îc nhËn vÒ th«ng qua ®èi t−îng Request).
  • 11. http://www.ebook.edu.vn 11 Cã hai c¸ch ®Ó ng−êi dïng göi th«ng tin ®i Cã 2 c¸ch t−¬ng øng ®Ó tiÕp nhËn (®äc) . C¸ch 1: Ng−êi dïng nhËp th«ng tin trong c¸c textbox, sau ®ã göi c¸c th«ng tin trong c¸c textbox nµy tíi mét trang asp kh¸c. Khi ®ã ng−êi ta gäi c¸ch göi ®ã lµ göi theo kiÓu “POST”. C¸ch 2: Th«ng tin cã thÓ göi tíi mét trang kh¸c b»ng c¸ch g¾n vµo sau mçi URL cña trang ®ã. VÝ dô ®Ó göi hai th«ng tin lµ HoTen vµ Tuoi víi gi¸ trÞ t−¬ng øng lµ T08A vµ 2 cho trang XuLy.asp th× cã thÓ thùc hiÖn nh− sau: XuLy.asp?HoTen=T08A&Tuoi=2 Có ph¸p ®Ó g¾n vµo sau trang nhËn nh− sau: TrangNhan.asp ? Thuéc_TÝnh 1 = Gi¸ trÞ1 & Thuéc_TÝnh 2 = Gi¸ trÞ 2 & …. C¸ch göi nµy gäi lµ ph−¬ng thøc göi kiÓu ”GET” 2. Mét sè thuéc tÝnh vµ ph−¬ng thøc th−êng dïng 2.1 Thuéc tÝnh Form Dïng ®Ó lÊy gi¸ trÞ cña tõng thuéc tÝnh mµ trang kh¸c göi tíi b»ng ph−¬ng thøc POST Có ph¸p: Request.Form(“Tªn_Thuéc_TÝnh_CÇn_LÊy”) VÝ dô: Trang1.asp cã 2 « textbox tªn lµ HoTen vµ Tuoi. cho phÐp ng−êi dïng nhËp vµo vµ khi ng−êi dïng göi ®i (Submit) tíi trang Trang2.asp. th× trang2.asp sÏ hiÓn thÞ lêi chµo tíi ng−êi ®ã. Néi dung 2 file nµy sÏ nh− sau: Trang1.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Göi d÷ liÖu sang trang kh¸c</title> </head> <BODY> Trang nhËp th«ng tin : <br> <FORM name="NhapLieu" action ="Trang2.asp" method="post"> Hä và tªn : <Input type ="text" name="HoTen"> <br> Tuæi : <Input type="text" name ="Tuoi"> <br> <Input type="Submit" value="Göi ®i" name="cmdGui"> </FORM> </BODY> </HTML> Trang2.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>NhËn d÷ liÖu göi tõ trang kh¸c </title> </head>
  • 12. http://www.ebook.edu.vn 12 <BODY> <% Dim HT , Tuoi HT = Request.Form(“HoTen”) Tuoi = Request.Form(“Tuoi”) Response.write(“Chào b¹n “ & HT &”. Tuæi cña b¹n : “ &Tuoi) %> </BODY> </HTML> Chó ý: + Muèn göi th«ng tin trong c¸c ®iÒu khiÓn (c¸c textbox, textarea, checkbox, list…) ®i th× c¸c ®iÒu khiÓn ®ã ph¶i ®Æt trong mét Form (cÆp thÎ <Form> …. </Form>) nµo ®ã. + Trang web tiÕp nhËn th«ng tin ®ã sÏ ®−îc ®Æt trong thuéc tÝnh Action cña Form. + Ph−¬ng thøc göi ®i ®−îc chØ ®Þnh th«ng qua thuéc tÝnh method. §Æt cho thuéc tÝnh nµy gi¸ trÞ hoÆc lµ POST hoÆc lµ GET. + Mét trang cã thÓ göi (Post) ®Õn chÝnh trang ®ã. §iÒu nµy th−êng ®−îc ¸p dông khi néi dung trang web lµ ®¬n gi¶n (vÝ dô trang Login), cßn ®èi víi c¸c trang phøc t¹p (nhiÒu xö lý) th× nªn göi ®Õn mét trang riªng. VÝ dô 2: Cho ng−êi dïng nhËp vµo n¨m sinh, sau ®ã tÝnh to¸n vµ hiÓn thÞ tuæi cña ng−êi ®ã. C¸ch thøc ë ®©y lµ : Trang cho ng−êi dïng nhËp n¨m sinh vµ trang ®Ó hiÓn thÞ kÕt qu¶ lµ gièng nhau. Trang TinhTuoi.asp - Version 1 <%@language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Tinh tuoi</title> </head> <BODY> <% IF Request.Form("NamSinh")="" THEN Response.write (“<form name=Form1 action='TinhTuoi.asp' method=POST>”) Response.write (“Nhap nam sinh cua ban : <Input type=text name=’NamSinh’>”) Response.write (“<Input type=Submit value=’Gui di’>”) Response.write (“</form>”) ELSE Response.write ("Tuoi cua ban la : " & (year(now) - Request.Form("NamSinh"))) END IF %> </BODY> </HTML>
  • 13. http://www.ebook.edu.vn 13 Trang TinhTuoi.asp - Version 2 <%@language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Tinh tuoi</title> </head> <BODY> <% IF Request.Form("NamSinh")="" THEN %> <FORM name=Form1 action="TinhTuoi.asp" method=POST> Nhap nam sinh cua ban : <Input type=text name="NamSinh" > <Input type=Submit value="Gui di"> </FORM> <table> <% ELSE Response.write("Tuoi cua ban la : " & (year(now) - Request.Form("NamSinh"))) END IF %> </BODY> </HTML> Version 3 – Sö dông c¸c trang xö lý riªng biÖt - ý t−ëng: Ta t¸ch lµm 2 trang, mét trang "Chuyªn" hiÓn thÞ form nhËp n¨m sinh, sau ®ã göi tíi mét trang "chuyªn" xö lý vµ hiÓn thÞ kÕt qu¶. - Trang hiÓn thÞ form nhËp do kh«ng cã xö lý g×, do vËy ta chØ cÇn t¹o trang ®ã lµ trang HTM th«ng th−êng – NhapNamSinh.htm. - Trang xö lý do ph¶i dïng c¸c c©u lÖnh ASP nªn ta sÏ t¹o trang ASP- TinhTuoi.asp Trang NhapNamSinh.htm <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Nhap nam sinh </title> </head> <BODY> <FORM Action="TinhTuoi.asp" method=POST> Nhap nam sinh cua ban : <Input type=text name=NamSinh> <Input type=Submit value="Gui di"> </FORM> </BODY> </HTML> Trang TinhTuoi.asp <%@language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Tinh tuoi</title> </head>
  • 14. http://www.ebook.edu.vn 14 <BODY> <% IF Request.Form("NamSinh")= "" THEN Response.Redirect("NhapNamSinh.htm") ELSE Response.write ("Tuoi cua ban la: " & (year(now)-Request.Form("NamSinh"))) END IF %> </BODY> </HTML> C¸ch (version) nµo dÔ dµng h¬n ®èi víi b¹n ? 3 version cã −u vµ nh−îc ®iÓm g× ? rót KL ! 2.2 Thuéc tÝnh QueryString Dïng ®Ó ®äc d÷ liÖu do trang kh¸c göi tíi th«ng qua ph−¬ng thøc GET (Th−êng lµ göi d÷ liÖu b»ng c¸ch g¾n vµo ngay sau liªn kÕt - URL). + Có ph¸p ®äc d÷ liÖu göi ®Õn th«ng qua ph−¬ng thøc nµy nh− sau: Request.QueryString("Tªn_Thuéc_TÝnh_CÇn_LÊy") + VÝ dô 1 : Göi tíi trang TinhTuoi.ASP n¨m sinh (®Æt tªn lµ NamSinh) cã gi¸ trÞ lµ 1980 ë d¹ng GET. Khi ®ã, Hyperlink göi ®i cã d¹ng : http://www.T08A.com/TinhTuoi.asp?NamSinh=1980 Dßng ®Þa chØ trªn cã thÓ t¹m dÞch lµ "Göi mét th«ng tin cã tªn lµ NamSinh víi gi¸ trÞ 1980 ®Õn trang TinhTuoi.ASP Chó ý: §Ó göi d÷ liÖu theo kiÓu GET th× cã thÓ göi b»ng c¸ch gâ trùc tiÕp vµo hép ®Þa chØ (address) cña tr×nh duyÖt hoÆc cã thÓ x©y dùng mét trang riªng, sau ®ã míi göi. §Ó tiÕp nhËn vµ xö lý d÷ liÖu nµy, néi dung trang TinhTuoi.asp sÏ nh− sau: TinhTuoi.asp - Version 1 <%@language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Tinh tuoi</title> </head> <BODY> <% IF Request.QueryString("NamSinh")= "" THEN Response.write ("B¹n gâ ®Þa chØ cã d¹ng: Domain/TinhTuoi.asp?NamSinh=So") ELSE Response.write ("Tuæi cña b¹n: " &(year(now)-Request.QueryString("NamSinh"))) END IF %> </BODY> </HTML> Víi phiªn b¶n nµy, râ rµng khi muèn göi d÷ liÖu cho mét trang chóng ta ph¶i gâ mét c¸ch thñ c«ng ! Cã thÓ göi theo c¸ch nµy nh−ng dÔ dµng ®−îc h¬n kh«ng ? VÝ dô nh− cho ng−êi dïng nhËp vµo c¸c « textbox ch¼ng h¹n ?
  • 15. http://www.ebook.edu.vn 15 TinhTuoi.asp - Version 2 <%@language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/HTML; charset=utf-8"> <title>Tinh tuoi</title> </head> <BODY> <% IF Request.QueryString("NamSinh") = "" THEN %> <FORM name=Form1 action="TinhTuoi.asp" method=GET> Nhap nam sinh cua ban : <Input type=text name="NamSinh" > <Input type=SUBMIT value="Gui di"> </FORM> <% ELSE Response.write ("Tuæi cña b¹n : " & (year(now)-Request.QueryString("NamSinh"))) END IF %> </BODY> </HTML> KÕt qu¶ hiÓn thÞ trªn tr×nh duyÖt: Khi lÇn ®Çu tiªn më trang TinhTuoi.asp Sau khi nhËp 1977 vµo « textbox (h·y ®Ó ý trªn thanh ®Þa chØ) VÝ dô 2: Gi¶ lËp mét øng dông ®Ó hiÓn thÞ c¸c s¶n phÈm vµ cho phÐp ng−êi dïng xem chi tiÕt mÆt hµng khi ng−êi dïng click chän hyperlink t−¬ng øng.
  • 16. http://www.ebook.edu.vn 16 Trong øng dông gi¶ lËp nµy, ta sÏ hiÓn thÞ 3 ®Çu môc s¶n phÈm cã d¹ng : HDD Seagate 40 GB Xem chi tiÕt HDD Seagate 80 GB Xem chi tiÕt HDD Seagate 160 GB Xem chi tiÕt Khi ng−êi dïng click vµo Hyperlink "Xem chi tiÕt" ë bªn c¹nh mçi s¶n phÈm th× ta hiÓn thÞ th«ng tin t−¬ng øng vÒ s¶n phÈm ®ã. Khi ng−êi dïng chän mét môc th× cÇn ph¶i cã th«ng tin göi tr¶ l¹i trang xö lý ®Ó biÕt hä ®· chän s¶n phÈm nµo ®Ó hiÓn thÞ th«ng tin phï hîp Èn chøa trong mçi Hyperlink ph¶i cã nh÷ng th«ng tin cÇn thiÕt, vÝ dô mét m· s¶n phÈm (MaSanPham) ch¼ng h¹n Dïng h×nh thøc göi GET lµ phï hîp ! Trang ShowProduct.asp - Hiển thị sản phẩm và chi tiết sản phẩm: 2 in 1 <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Hien thi san pham</title> </head> <BODY> <% IF Request.QueryString("MaSanPham") = "" THEN %> <table border=0 cols=2 width="100%"> <TR> <TD>HDD Seagate 20 GB </td> <TD> <a href="ShowProduct.asp?MaSanPham=hdd20">Xem chi tiÕt</a> </td> </TR> <TR> <TD>HDD Seagate 40 GB </td> <TD> <a href="ShowProduct.asp?MaSanPham=hdd40">Xem chi tiÕt</a> </td> </TR> <TR> <TD>HDD Seagate 80 GB </td> <TD> <a href="ShowProduct.asp?MaSanPham=hdd80">Xem chi tiÕt</a> </td> </TR> </table> <% ELSE SELECT CASE Request.QueryString("MaSanPham") CASE "hdd20" Response.write("æ c ng Seagate 20 GB, gi¸ 40 $") CASE "hdd40" Response.write("æ c ng Seagate 40 GB, gi¸ 80 $") CASE "hdd80" Response.write("æ c ng Seagate 80 GB, gi¸ 100 $") END SELECT END IF %> </BODY> </HTML>
  • 17. http://www.ebook.edu.vn 17 ??? Request.QueryString("MaSanPham") = "" cã nghÜa g× ? Phiªn b¶n ë trªn : Sö dông mét trang võa hiÓn thÞ võa xö lý d÷ liÖu göi ®Õn (kiÓu 2 in 1). Ta cã thÓ sö dông c¬ chÕ 1 in 1, tøc lµ: Trang hiÓn thÞ riªng vµ trang hiÓn thÞ chi tiÕt riªng: Trang HienThiSP.htm <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>HiÓn thÞ s¶n phÈm</title> </head> <BODY> <table border=0 cols=2 width="100%"> <TR> <TD>HDD Seagate 20 GB </td> <TD> <a href=" ShowDetail.asp?MaSanPham=hdd20">Xem chi tiÕt</a> </td> </TR> <TR> <TD>HDD Seagate 40 GB </td> <TD> <a href=" ShowDetail.asp?MaSanPham=hdd40">Xem chi tiÕt</a> </td> </TR> <TR> <TD>HDD Seagate 80 GB </td> <TD> <a href=" ShowDetail.asp?MaSanPham=hdd80">Xem chi tiÕt</a> </td> </TR> </table> </BODY> </HTML> Trang ShowDetail.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>HiÓn thÞ chi tiÕt s¶n phÈm </title> </head> <BODY> <% IF Request.QueryString("MaSanPham") <> "" THEN SELECT CASE Request.QueryString("MaSanPham") CASE "hdd20" Response.write("æ cøng Reagate 20 GB, gi¸ 40 $") CASE "hdd40" Response.write("æ cøng Seagate 40 GB, gi¸ 80 $") CASE "hdd80" Response.write("æ cøng Seagate 80 GB, gi¸ 100 $") END SELECT ELSE Response.write("B¹n vào trang ShowProduct.asp tr−íc ®· ! <BR>") Response.write ("<a href = 'HienThiSP.htm'> &lt; &lt Quay trë l¹i </a>")
  • 18. http://www.ebook.edu.vn 18 END IF %> </BODY> </HTML> NhËn xÐt : Göi d÷ liÖu theo kiÓu POST khi nµo ? vµ GET khi nµo ? Mét sè bµi tËp: (Sö dông c¶ ph−¬ng ph¸p göi POST vµ GET) 1. ViÕt trang web tra cøu tõ ®iÓn. Cho ng−êi dïng nhËp vµo mét tõ tiÕng Anh, trang web sÏ hiÓn thÞ nghÜa tiÕng viÖt t−¬ng øng. 2. ViÕt trang web thùc hiÖn tÝnh to¸n víi c¸c phÐp to¸n, hµm ®¬n gi¶n. ®èi t−îng server Lµ mét ®èi t−îng cung cÊp mét sè hµm th−êng dïng trong øng dông. Cã 2 ph−¬ng thøc ®−îc cung cÊp bëi ®èi t−îng server lµ Mappath vµ CreateObject. 1. Ph−¬ng thøc Mappath Tr¶ vÒ ®−êng dÉn vËt lý tõ ®−êng dÉn (th− môc) ¶o. + Có ph¸p: Server.Mappath(“§−êng dÉn ¶o/ t−¬ng ®èi”) + VÝ dô: Cã mét ®Þa chØ nh− sau: http://localhost/HienThiSP.htm VÞ trÝ ¶o cña tÖp Hienthisp.htm trªn webserver Trang web HienThiSP.htm cã ®−êng dÉn ¶o lµ Localhost/HienThiSP.htm. §−êng dÉn vËt lý (n»m trªn æ cøng cña trang nµy) lµ: c:inetpubwwwrootHienThisp.htm
  • 19. http://www.ebook.edu.vn 19 VÞ trÝ vËt lý cña tÖp Hienthisp.htm trªn æ cøng. Trong tr−êng hîp nµy, Server.Mappath(“HienThiSP.htm”) sÏ cho ta kÕt qu¶ lµ c:inetpubwwwrootHienThisp.htm. Nh− vËy hµm Mappath thùc hiÖn ¸nh x¹ tõ ®−êng dÉn ¶o ®−êng dÉn vËt lý. Hµm nµy ®Æc biÖt hay dïng khi chóng ta tham chiÕu ®Õn ®−êng dÉn vËt lý cña c¸c tÖp CSDL khi kÕt nèi. VÝ dô: Trang Mappath_Demo.asp <%@ language = vbscript %> <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Mappath</title> </head> <BODY> Duong dan vat ly cua mot so trang web : <br> <% Response.write (server.mappath("HienThiSP.htm")) Response.write ("<BR>") Response.write (server.mappath("/HienThiSP.htm")) Response.write ("<BR>") Response.write (server.mappath("/data/nwind.mdb")) Response.write ("<BR>") %> </BODY> </HTML>
  • 20. http://www.ebook.edu.vn 20 KÕt qu¶: KÕt qu¶ L−u ý: NÕu tÖp kh«ng tån t¹i hoÆc ®−êng dÉn ¶o ®−a vµo sai th× hµm tr¶ vÒ sÏ lµ mét x©u gåm ®−êng dÉn tíi th− môc wwwroot céng víi x©u ®Æt trong mappath. Hái : Kh«ng cÇn dïng ®Õn Mappath cã ®−îc kh«ng ? 2. Ph−¬ng thøc CreateObject T¹o ra mét sè ®èi t−îng. VÝ dô t¹o ra c¸c ®èi t−îng truy xuÊt ®Õn CSDL. + Có ph¸p: Set <Tªn_BiÕn> = Server.CreateObject(“X©u m« t¶ ®èi t−îng cÇn t¹o”) X©u th−êng dïng (®èi t−îng th−êng ®−îc t¹o): ADODB.Connection vµ ADODB.Recordset. + VÝ dô : T¹o mét ®èi t−îng Connection vµ ®èi t−îng Recordset Dim Conn, Rs Set Conn = Server.CreateObject("ADODB.Connection") Set Rs = Server.CreateObject("ADODB.Recordset") ®èi t−îng session – biÕn sesstion §èi t−îng Session : Dïng ®Ó qu¶n lý c¸c th«ng tin liªn quan ®Õn mét phiªn lµm viÖc. Mét phiªn (Session) lµm viÖc lµ g× ?: Mçi khi më tr×nh duyÖt (lÇn ®Çu tiªn) vµo website øng dông, ta ®· t¹o ra mét phiªn lµm viÖc. Phiªn lµm viÖc kÕt thóc khi ta ra khái website øng dông hoÆc khi tÊt c¶ c¸c cöa sæ tr×nh duyÖt bÞ ®ãng. 1. BiÕn Sesstion Khi vµo mét website, ng−êi dïng cã thÓ duyÖt rÊt nhiÒu trang web cña website ®ã. NÕu muèn l−u tr÷ th«ng tin vÒ kh¸ch th¨m nµy trong c¶ phiªn lµm viÖc th× cã thÓ l−u vµo c¸c biÕn, gäi lµ biÕn Session. 2. §èi t−îng Session Lµ ®èi t−îng dïng ®Ó qu¶n lý (t¹o, ®äc, ghi) c¸c biÕn sesstion vµ mét sè th«ng sè kh¸c. + Có ph¸p ®Ó t¹o biÕn Session nh− sau: Session(“Tªn_BiÕn”) = <Gi¸ trÞ> L−u ý: Tªn biÕn ph¶i ®Æt trong cÆp dÊu nh¸y kÐp. <Gi¸ trÞ> cã thÓ lµ x©u ký tù hoÆc sè. VÝ dô : T¹o mét biÕn tªn lµ MaNguoiDung vµ g¸n gi¸ trÞ lµ T08A
  • 21. http://www.ebook.edu.vn 21 Session(“MaNguoiDung”) = “T08A” + Có ph¸p ®Ó ®äc gi¸ trÞ cña mét biÕn sesstion nh− sau: Session(“Tªn_BiÕn”) + Có ph¸p ®Ó ghi (thay ®æi) gi¸ trÞ cña biÕn session: Session(“Tªn_BiÕn”) = <Gi¸ trÞ> VÝ dô: Response.write(“M· ng−êi dïng lµ : “ &Session(“MaNguoiDung”)) Riªng víi ®èi t−îng Session, nã cßn cã c¸c sù kiÖn. C¸c sù kiÖn nµy tù ®éng ®−îc gäi mçi khi mét phiªn lµm viÖc ®−îc t¹o ra. C¸c sù kiÖn nµy cã tªn lµ On_Start vµ On_End. C¸c sù kiÖn nµy ®−îc ®Æt trong file Global.asa. File Global.asa <script LANGUAGE = "VBScript" RUNAT = Server> '/// Thñ tôc nµy ®−îc gäi khi b¾t ®Çu mét phiªn SUB Session_OnStart '........ Session("MaNguoiDung") = "Kh¸ch_L¹" '......... END SUB '/// Thñ tôc nµy ®−îc gäi khi kÕt thóc mét phiªn SUB Session_OnEnd '........ END SUB </SCRIPT> VÝ dô ®äc gi¸ trÞ biÕn Session: File Session_Demo.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>§äc gi¸ trÞ cña biÕn Session cã tªn lµ MaNguoiDung</title> </head> <BODY> <% Response.write("<BR>B¹n lµ : " &Session("MaNguoiDung")) %> </BODY> </HTML> VÝ dô: ChØ hiÓn thÞ c¸c trang chñ (Home.asp) nÕu ng−êi dïng cã tªn (UserName) lµ T08A vµ mËt khÈu lµ 123456. NÕu kh«ng th× hiÓn thÞ trang Login.asp ®Ó ng−êi dïng ®¨ng nhËp. Trang Global.asa <script LANGUAGE = "VBScript" RUNAT = Server> '/// Thu tuc nay duoc goi khi bat dau mot phien SUB Session_OnStart '........
  • 22. http://www.ebook.edu.vn 22 Session("MaNguoiDung") = "" Session("MatKhau") = "" Session("TrangThaiDangNhap") = "ch−a" '......... END SUB '/// Thu tuc nay duoc goi khi ket thuc phien lam viec SUB Session_OnEnd '........ END SUB </SCRIPT>
  • 23. http://www.ebook.edu.vn 23 Trang Login.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Dang nhap</title> </head> <BODY> <% IF Request.Form("MaNguoiDung")= "T08A" and Request.Form("MatKhau")="123456" THEN Session("MaNguoiDung") = Request.Form("MaNguoiDung") Session("MatKhau") = Request.Form("MatKhau") Session("TrangThaiDangNhap") = "råi" Response.write("B¹n ®· ®¨ng nhËp thµnh c«ng ! B¹n cã thÓ vµo ") Response.write("<a href = 'Home.asp'>Trang chñ </a>") ELSE ‘/// T¹o form ®¨ng nhËp Session("TrangThaiDangNhap") = "ch−a" Response.write("<form action='Login.asp' method = 'Post'>") Response.write("Tªn ®¨ng nhËp: <Input type = text name = MaNguoiDung> <BR>") Response.write("MËt khÈu : <Input type = password name = MatKhau> <BR>") Response.write("<Input type = Submit value = '§¨ng nhËp'>") Response.write("</form>") END IF %> </BODY> </HTML> Trang Home.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Trang chñ</title> </head> <BODY> <% IF Session("TrangThaiDangNhap") = "råi" THEN Response.write("<h2>§©y lµ trang chñ cña líp T08A !</h2>") Response.write("<h1>Chµo mõng b¹n ®· ghÐ th¨m website cña chóng t«i !") ELSE Response.write("B¹n ch−a ®¨ng nhËp ! <a href = 'Login.asp'> §¨ng nhËp. </a>") END IF %> </BODY> </HTML> *L−u ý: Cã thÓ t¹o biÕn Session ë bÊt kú ®©u chø kh«ng nhÊt thiÕt ë trong file Global.asa ??? Dïng biÕn Session khi nµo ? ®èi t−îng application Dïng ®Ó qu¶n lý c¸c biÕn cã ph¹m vi toµn øng dông. 1. Kh¸i niÖm biÕn toµn øng dông BiÕn toµn øng dông lµ biÕn cã t¸c dông ®èi víi mäi ng−êi dïng truy cËp vµo website.
  • 24. http://www.ebook.edu.vn 24 2. §èi t−îng Application Dïng ®Ó qu¶n lý (T¹o, ®äc, ghi) c¸c biÕn cã ph¹m vi toµn øng dông. + Có ph¸p t¹o biÕn Application: Application(“Tªn_BiÕn”) = <Gi¸ trÞ> + VÝ dô: T¹o biÕn So_Nguoi_Truy_Cap Application(“So_Nguoi_Truy_Cap”) = 0 + VÝ dô : §äc vµ ghi biÕn Application Application(“So_Nguoi_Truy_Cap”)= Application(“So_Nguoi_Truy_Cap”) + 1 Response.write(“B¹n lµ vÞ kh¸ch thø: “ & Application(“So_Nguoi_Truy_Cap”)) L−u ý: Khi biÕn ®· tån t¹i th× lÖnh trªn ®−îc hiÓu lµ g¸n gi¸ trÞ míi, cßn nÕu ch−a tån t¹i th× ®−îc hiÓu lµ t¹o biÕn. §èi t−îng Application còng cã 2 sù kiÖn ®ã lµ Application_OnStart vµ Application_OnEnd. Sù kiÖn OnStart chØ ®−îc kÝch ho¹t duy nhÊt mét lÇn khi yªu cÇu ®Çu tiªn ph¸t sinh. Sù kiÖn OnEnd ®−îc kÝch ho¹t khi dÞch vô web dõng (unload). §èi t−îng Application cã 2 ph−¬ng thøc lµ Lock vµ Unlock. Khi gäi ph−¬ng thøc Lock (khãa) th× tÊt c¶ c¸c øng dông kh«ng ®−îc phÐp thay ®æi c¸c gi¸ trÞ Application. §Ó c¸c øng dông kh¸c ®−îc phÐp thay ®æi c¸c biÕn Application th× gäi ph−¬ng thøc Unlock. M· lÖnh viÕt cho 2 sù kiÖn nµy còng ®−îc ®Æt trong file Global.asa. 3. VÝ dô tæng hîp Mçi khi ng−êi dïng truy cËp vµo website th× hiÓn thÞ cho ng−êi ®ã biÕt lµ vÞ kh¸ch thø bao nhiªu – ch¼ng h¹n hiÓn thÞ trong trang Home.asp. Trang Global.asa <script LANGUAGE = "VBScript" RUNAT = Server> '/// Thu tuc nay duoc goi duy nhat mot lan SUB Application_OnStart Application("SoKhachTruyCap") = 0 END SUB '/// Thu tuc nay duoc goi khi IIS stop SUB Application_OnEnd Application("SoKhachTruyCap") = 0 END SUB '/// Thu tuc nay duoc goi khi bat dau mot phien SUB Session_OnStart '........ Application("SoKhachTruyCap") = Application("SoKhachTruyCap") + 1 '......... END SUB </SCRIPT> Trang Home.asp <HTML> <head>
  • 25. http://www.ebook.edu.vn 25 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Trang chu</title> </head> <BODY> <% Response.write("<h2>Day la trang chu cua lop T08A !</h2>") Response.write("<h1>Chao mung ban da ghe tham website cua chung toi !") Response.write("<hr>") Response.write("Ban la vi khach thu : " &application("SoKhachTruyCap")) %> </BODY> </HTML> chÌn file vμo trang asp 1. ý nghÜa: RÊt nhiÒu trang cã nh÷ng phÇn th«ng tin gièng hÖt nhau (VÝ dô phÇn §Çu trang, ch©n trang hay phÇn kÕt nèi ®Õn CSDL) §Ó nhanh chãng, dÔ dµng söa ®æi, b¶o tr×, ASP cho phÐp ng−êi dïng chÌn mét trang vµo trang web hiÖn t¹i. 2. Có ph¸p chÌn file: <!-- #include Lo¹i_§−êng_DÉn = Tªn_File --> + Lo¹i_§−êng_DÉn cã thÓ lµ File hoÆc Virtual. NÕu Lo¹i_§−êng_DÉn = File th× Tªn_File lµ ®−êng dÉn t−¬ng ®èi tÝnh tõ th− môc hiÖn hµnh. NÕu Lo¹i_§−êng_DÉn = Virtual th× Tªn_File sÏ lµ ®−êng dÉn ¶o ®Çy ®ñ. VÝ dô 1: <!-- #include File = “Home.asp” --> VÝ dô 2 : <!-- #include Virtual = “/Data/KetNoi.asp” --> 3. VÝ dô tæng hîp T¹o mét trang web chøa footer cung cÊp th«ng tin liªn hÖ. Footer nµy xuÊt hiÖn trong tÊt c¶ c¸c trang, trong ®ã cã trang Home.asp. C¸c b−íc tiÕn hµnh: T¹o mét trang chøa néi dung footer, ®Æt tªn lµ Footer.asp Sau ®ã Include vµo c¸c trang – vÝ dô trang Home.asp Trang Footer.asp <hr> <h4 style="text-align:center"> &copy by T08A - UTEHY 2009. Telephone: 0321-123456/ Fax: 0321-713015; E-Mail: T08A@googlegroups.com </h4> L−u ý: - Th−êng th× c¸c trang ®−îc Include nh− thÕ nµy cã ®u«i më réng lµ *.inc - Néi dung c¸c trang Include cã thÓ chøa c¶ thÎ HTML vµ c¶ m· lÖnh asp
  • 26. http://www.ebook.edu.vn 26 Trang Home.asp (Cã Include trang Footer.asp) <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Trang chu</title> </head> <BODY> <% Response.write("<h2>Day la trang chu cua lop T08A !</h2>") Response.write("<h1>Chao mung ban da ghe tham website cua chung toi !") Response.write("<BR>") Response.write("Ban la vi khach thu : " &application("SoKhachTruyCap")) %> <!-- #include file = "Footer.asp" --> </BODY> </HTML> KÕt qu¶ khi hiÓn thÞ trang home.asp kÕt nèi vμ thao t¸c víi csdl trong asp 1. Qui t¾c chung - T¹o ®èi t−îng Connection vµ Recordset sö dông ph−¬ng thøc Server.CreateObject - KÕt nèi ®Õn CSDL - Thùc thi c¸c c©u lÖnh SQL th«ng qua ph−¬ng thøc Execute cña ®/t−îng Connection - §äc d÷ liÖu tõ Recordset sö dông vßng lÆp - KÕt hîp víi ®èi t−îng Response ®Ó göi tr¶ kÕt qu¶ vÒ cho tr×nh duyÖt. 2. T¹o ®èi t−îng Connection vµ kÕt nèi ®Õn CSDL Qui −íc: TÖp c¬ së d÷ liÖu dïng trong suèt c¸c vÝ dô lµ tÖp nwind.mdb vµ ®−îc ®Æt t¹i th− môc gèc cña øng dông. Trang KetNoi.asp <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=Utf-8"> <title>Ket noi </title>
  • 27. http://www.ebook.edu.vn 27 </head> <BODY> <% Dim Conn '// T¹o ®èi t−îng Connection Set Conn = Server.CreateObject("ADODB.Connection") Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " & Server.Mappath("nwind.mdb") Conn.CursorLocation = 3 on error resume next '/// Më kÕt nèi Conn.Open IF Conn.State = 1 THEN Response.write("Da ket noi thanh cong !") ELSE Response.write("Khong the ket noi den CSDL !") END IF '/// §ãng kÕt nèi cn.Close %> </BODY> </HTML> §èi t−îng Connection nµy gièng nh− ®èi t−îng Connection trong Visual Basic. §Ó thùc hiÖn c¸c c©u lÖnh SQL, sö dông có ph¸p: Cn.Execute (<C©u lÖnh SQL>); víi Cn lµ mét ®èi t−îng Connection 3. T¹o ®èi t−îng Recordset Dim Rs Set Rs = Server.createObject(“ADODB.Recordset”) §èi t−îng Recordset nµy gièng nh− ®èi t−îng Recordset trong Visual Basic. ViÖc phèi hîp gi÷a ®èi t−îng Connection vµ Recordset còng gièng nh− trong VB. 3.2 Thùc thi c©u lÖnh SQL: <BiÕn_Connection>.Execute ("C©u_LÖnh_SQL") + C©u lÖnh SQL : Select ®Ó ®äc (Chän) ra c¸c b¶n ghi + C©u lÖnh : Insert ®Ó chÌn thªm c¸c b¶n ghi + C©u lÖnh: Delete ®Ó xãa b¶n ghi + C©u lÖnh Update ®Ó cËp nhËt c¸c b¶n ghi. 4. Mét sè vÝ dô 4.1 HiÓn thÞ toµn bé tªn nhµ cung cÊp (CompanyName) trong b¶ng Suppliers <HTML> <head>
  • 28. http://www.ebook.edu.vn 28 <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Danh sach nha cung cap </title> </head> <BODY> <% Dim Conn, Rs '// T¹o ®èi t−îng Connection Set Conn = Server.CreateObject("ADODB.Connection") Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " & Server.Mappath("nwind.mdb") Conn.CursorLocation = 3 '//// Më kÕt nèi ®Õn CSDL on error resume next Conn.Open '/// T¹o mét biÕn Recordset Set Rs = Server.CreateObject("ADODB.Recordset") '/// L−u kÕt qu¶ select vµo biÕn Recordset : RS Set Rs = Conn.Execute("SELECT CompanyName from Suppliers") '/// DuyÖt c¸c b¶n ghi trong biÕn kÕt qu¶ RS vµ write ra tr×nh duyÖt Do while not Rs.eof Response.write(Rs("CompanyName")) Response.write ("<BR>") Rs.MoveNext loop Conn.Close %> </BODY> </HTML> Version 2: KÕt nèi vµ ®äc d÷ liÖu sö dông ph−¬ng thøc Open cña ®èi t−îng Recordset. §äc d÷ liÖu th«ng qua ph−¬ng thøc Open <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Danh sach nha cung cap </title> </head> <BODY> <% Dim Conn, Rs Set Conn = Server.CreateObject("ADODB.Connection") Conn.ConnectionString = "Provider=Microsoft.Jet.oledb.4.0; Data Source = " & Server.Mappath("nwind.mdb") Conn.CursorLocation = 3 on error resume next
  • 29. http://www.ebook.edu.vn 29 Conn.Open Set Rs = Server.CreateObject("ADODB.Recordset") Rs.Open "SELECT CompanyName from Suppliers", Conn, 1,3 Do while not Rs.eof Response.write(Rs("CompanyName")) Response.write ("<BR>") Rs.MoveNext Loop Conn.Close %> </BODY> </HTML> Dïng c¸ch nµy, vÒ sau ta cã thÓ thªm vµ cËp nhËt CSDL th«ng qua Rs. 4.2.1 HiÓn thÞ danh s¸ch c¸c s¶n phÈm trong mét b¶ng Th«ng tin hiÓn thÞ gåm: Tªn s¶n phÈm, gi¸, … 4.2.2 Thªm b¶n ghi vµo trong CSDL X©y dùng trang asp cho phÐp ng−êi dïng thªm c¸c nhµ cung cÊp vµo 4.3 HiÓn thÞ danh s¸ch c¸c nhµ cung cÊp trong mét ComboBox 4.4 HiÓn thÞ Tªn c¸c nhµ cung cÊp (Companyname), vµ bªn c¹nh tªn nhµ cung cÊp cã thªm cét “Xem c¸c s¶n phÈm” do nhµ cung cÊp ®ã s¶n xuÊt ra. Khi ng−êi dïng click vµo Hyperlink nµy th× hiÓn thÞ tªn c¸c s¶n phÈm do nhµ cung cÊp ®ã ®· s¶n xuÊt ra. 4.5 T¹o mét form nhËp ®Ó cho phÐp ng−êi dïng nhËp thªm nhµ cung cÊp. 4.6 T¹o mét form ®Ó t×m kiÕm th«ng tin chi tiÕt nhµ cung cÊp. Th«ng tin nhËp vµo lµ m· nhµ cung cÊp (SupplierID) 4.7 T¹o mét trang cËp nhËt th«ng tin vÒ nhµ cung cÊp (b¶ng Suppliers) 4.8 T¹o mét trang cho phÐp xãa b¶n ghi trong b¶ng Suppliers 4.9 T¹o mét trang hiÓn thÞ thªm 3 cét “Add”, “Update”, “Delete” ®Ó cho ng−êi dïng cã thÓ thªm, söa ®æi vµ xãa b¶n ghi trong b¶ng Suppliers. 4.10 T¹o mét b¶ng Users, chøa tµi kho¶n ng−êi dïng. Sau ®ã x©y dùng trang Login.asp thùc hiÖn viÖc ®¨ng nhËp. 4.10 T¹o mét trang hiÓn thÞ danh môc c¸c lo¹i s¶n phÈm, mçi khi ng−êi dïng click vµo mét chñng lo¹i th× hiÓn thÞ c¸c s¶n phÈm thuéc chñng lo¹i ®ã. 4.11 HiÓn thÞ danh s¸ch s¶n phÈm theo tõng trang – 10 b¶n ghi / 1 trang.
  • 30. http://www.ebook.edu.vn 30 PHô LôC 1: DANH S¸CH C¸C THÎ TRONG JAVASCRIPT - Các thuộc tính áp dụng cho Font chữ Thuộc tính Các giá trị hợp lệ Ví dụ font-family [Tên font hoặc kiểu] font-family: Verdana, Arial; font-style normal hoặc italic font-style:italic; font-variant normal hoặc small-caps font-variant:small-caps; font-weight normal ho bold font-weight:bold; font-size [ xx-large | x-large | large | medium | small | x-small | xx-small ] | [ larger | smaller ] | phần trăm hoặc length font-size:12pt; Font [ font-style || font-variant || font-weight ] ? font-size [ / line-height ] ? font-family font: bold 12pt Arial; - Các thuộc tính màu và nền (Color and background properties) Thuộc tính Các giá trị hợp lệ Ví dụ Color Màu color: red background-color Màu hoặc transparent background-color: yellow background-image Địa chỉ (url) hoặc Không đặt gì background-image: url(house.jpg) background-repeat repeat | repeat-x | repeat-y | no-repeat background-repeat: no-repeat background-attachment scroll hoặc fixed background-attachment: fixed background-position [ position | length ] | {1,2} | [ top | center | bottom ] || [ left | center | right ] background-position: top center background transparent | color || url || repeat || scroll || position background: silver url(house.jpg) repeat-y * Lưu ý: Các giá trị in nghiêng khi sử dụng bạn phải thay bằng giá trị cụ thể, ví dụ viết phần trăm hay lenght thì bạn phải thay các giá trị dạng phần trăm, ví dụ 50% đối với thuộc tính phần trăm (percentage) và 10, 20 .... cho thuộc tính length.
  • 31. http://www.ebook.edu.vn 31 - Các thuộc tính áp dụng cho Text Thuộc tính Giá trị hợp lệ Ví dụ Letter-spacing normal | length letter-spacing:5pt text-decoration none | underline | overline | line-through text-decoration:underline vertical-align Sub | super | vertical-align:sub text-transform capitalize | uppercase | lowercase | none text-transform:lowercase text-align left | right | center | justify text-align:center text-indent length | percentage text-indent:25px line-height normal | number | length | percentage line-height:15pt - Các thuộc tính áp dụng cho các ô trong một bảng Thuộc tính Giá trị hợp lệ Ví dụ margin-top length | percentage | auto margin-top:5px margin-right length | percentage | auto margin-right:5px margin-bottom length | percentage | auto margin-bottom:1em margin-left length | percentage | auto margin-left:5pt Margin length | percentage | auto {1,4} margin: 10px 5px 10px 5px padding-top length | percentage padding-top:10% padding-right length | percentage padding-right:15px padding-bottom length | percentage padding-bottom:1.2em padding-left length | percentage padding-left:10pt; } Padding length | percentage {1,4} padding: 10px 10px 10px 15px border-top-width thin | medium | thick | length border-top-width:thin border-right-width thin | medium | thick | length border-right-width:medium border-bottom-width thin | medium | thick | length border-bottom-width:thick border-left-width thin | medium | thick | length border-left-width:15px border-width thin | medium | thick | length {1,4} border-width: 3px 5px 3px 5px border-top-color color border-top-color:navajowhite border-right-color Color border-right-color:whitesmoke border-bottom-color Color border-bottom-color:black border-left-color Color border-left-color:#C0C0C0 border-color color {1,4} border-color: green red white blue; } border-top-style none | solid | double | groove | ridge | inset | outset border-top-style:solid border-right-style none | solid | double | groove | ridge | border-right-style:double
  • 32. http://www.ebook.edu.vn 32 inset | outset border-bottom-style none | solid | double | groove | ridge | inset | outset border-bottom-style:groove border-left-style none | solid | double | groove | ridge | inset | outset border-left-style:none border-style none | solid | double | groove | ridge | inset | outset border-style:ridge; } border-top border-width | border-style | border- color border-top: medium outset red border-right border-width | border-style | border- color border-right: thick inset maroon border-bottom border-width | border-style | border- color border-bottom: 10px ridge gray border-left border-width | border-style | border- color border-left: 1px groove red Border border-width | border-style | border- color border: thin solid blue Float none | left | right float:none clear none | left | right | both clear:left - Các thuộc tính phân loại - classification Properties Thuộc tính Giá trị hợp lệ Ví dụ Display none | block | inline | list-item display:none list-style-type disk | circle | square | decimal | lower- roman | upper-roman | lower-alpha | upper-alpha | none list-style-type:upper-alpha list-style-image url | none list-style-image:url(icFile.gif) list-style-position inside | outside list-style-position:inside list-style keyword || position || url list-style: square outside url(icFolder.gif) - Các thuộc tính định vị trí cho các phần tử Thuộc tính Giá trị hợp lệ Ví dụ Có thể áp dụng cho Clip Toạ độ của một hình chữ nhật| auto clip:rect(0px 200px 200px 0px) tất cả các phần tử (all elements) Height length | auto height:200px DIV, SPAN và các ptử bị thay thế Left length | percentage | auto left:0px Các phần tử được định vị tuyệt đối và tương đối Overflow visible | hidden | scroll | auto overflow:scroll tất cả các phần tử position absolute| relative | position:absolute tất cả các phần tử
  • 33. http://www.ebook.edu.vn 33 static Top length | percentage | auto top:0px Các phần tử được định vị tuyệt đối và tương đối Visibility visible | hidden | inherit visibility:visible tất cả các phần tử Width length | percentage | auto width:80% DIV, SPAN and replaced elements z-index auto | integer z-index:-1 Các phần tử được định vị tuyệt đối và tương đối - Thuộc tính liên quan đến in ấn - Printing Properties Thuộc tính Giá trị hợp lệ Ví dụ page-break-before auto | always || left | right page-break-before:always page-break-after auto | always || left | right page-break-before:auto -Pseudo Classes Thuộc tính Giá trị hợp lệ Ví dụ Cursor auto | crosshair | default | hand | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw- resize | s-resize | w-resize | text | wait | help { cursor:hand; } Active, hover, link, visited n/a a:hover { color:red; } first-letter, first-line any font manipulating declaration p:first-letter{ float:left;color:blue } Một số ví dụ áp dụng: Ví dụ 1: Tạo một dòng văn bản “Welcome to CSS” có font chữ là Arial, in nghiêng và kích thước font chữ là 16 point. <HTML> <HEAD> </HEADS> <BODY> <P style=“font-family:arial; font-style:italic; font-size:16pt”>Welcome to </P> </BODY> </HTML> <Xem kết quả> Ví dụ 2: Tạo một textbox với màu nền là màu tím (magenta). <HTML> <HEAD> </HEADS> <BODY> <Input type = text style = “background-color:magenta”> </BODY> </HTML> <Xem kết quả> Ví dụ 3: Đặt 3 file ảnh nền tương ứng vào tài liệu, vào textbox và vào textarea <HTML> <HEAD> </HEAD> <BODY style="background-image:url('anh1.jpg');background-repeat:no-repeat">
  • 34. http://www.ebook.edu.vn 34 <Input style = "background-image:url('anh2.jpg');background-repeat:repeat-x; width:100%"> <P> <textarea style = "background-image:url('anh3.jpg');background-repeat:repeat-y" cols = 80 rows = 25> </textarea> </BODY> </HTML> <Xem kết quả> *Ghi chú: -Khi ta đặt là repeat-x thì ta có một dãy ảnh được xếp liên tiếp theo chiều ngang -Khi ta đặt là repeat-y thì ta có một dãy ảnh được xếp liên tiếp theo chiều dọc Ví dụ 4: Tạo một dòng văn bản, chứa xâu: "Trang chu cua HY-Aptech", trong đó từ "Trang chu" có màu xanh (blue) và khi người dùng di chuyển chuột đến chữ "Trang chu" thì chuột chuyển thành hình bàn tay, và khi chuột click lên chữ này thì trang http://www.aptech.ute sẽ được mở. <HTML> <HEAD> </HEAD> <BODY> <TITLE>Tạo liên kết và xử lý sự kiện</TITLE> <font style ="cursor:hand;color:blue" onclick="window.open('http://www.aptech.ute');">Trang chu </font> cua HY-Aptech </BODY> </HTML> ===> Xem kết quả Ghi chú: Khi muốn áp dụng các kiểu cho một số phần tử các bạn chỉ cần viết : style="Tên_Thuộc_tính : Giá_Trị;" trong định nghĩa thẻ. Trong đó cặp "Tên_Thuộc_tính : Giá_Trị;" có thể viết như cột ví dụ đã chỉ ra ở các bảng trên. PHô lôc 2: DANH S¸CH C¸C HμM TRONG VBSCRIPT Language Element Description Abs Function Returns the absolute value of a number. Array Function Returns a Variant containing an array. Asc Function Returns the ANSI character code corresponding to the first letter in a string. Atn Function Returns the arctangent of a number. CBool Function Returns an expression that has been converted to a Variant of subtype Boolean. CByte Function Returns an expression that has been converted to a Variant of subtype Byte. CCur Function Returns an expression that has been converted to a Variant of subtype Currency. CDate Function Returns an expression that has been converted to a Variant of subtype Date. CDbl Function Returns an expression that has been converted to a Variant of subtype Double. Chr Function Returns the character associated with the specified ANSI character code. CInt Function Returns an expression that has been converted to a Variant of subtype Integer. CLng Function Returns an expression that has been converted to a Variant of subtype Long. Cos Function Returns the cosine of an angle. CreateObject Function Creates and returns a reference to an Automation object. CSng Function Returns an expression that has been converted to a Variant of subtype Single. CStr Function Returns an expression that has been converted to a Variant of subtype String. Date Function Returns the current system date. DateAdd Function Returns a date to which a specified time interval has been added. DateDiff Function Returns the number of intervals between two dates. DatePart Function Returns the specified part of a given date. DateSerial Function Returns a Variant of subtype Date for a specified year, month, and day. DateValue Function Returns a Variant of subtype Date. Day Function Returns a whole number between 1 and 31, inclusive, representing the day of the month.
  • 35. http://www.ebook.edu.vn 35 Eval Function Evaluates an expression and returns the result. Exp Function Returns e (the base of natural logarithms) raised to a power. Filter Function Returns a zero-based array containing subset of a string array based on a specified filter criteria. Fix Function Returns the integer portion of a number. FormatCurrency Function Returns an expression formatted as a currency value using the currency symbol defined in the system control panel. FormatDateTime Function Returns an expression formatted as a date or time. FormatNumber Function Returns an expression formatted as a number. FormatPercent Function Returns an expression formatted as a percentage (multiplied by 100) with a trailing % character. GetLocale Function Returns the current locale ID value. GetObject Function Returns a reference to an Automation object from a file. GetRef Function Returns a reference to a procedure that can be bound to an event. Hex Function Returns a string representing the hexadecimal value of a number. Hour Function Returns a whole number between 0 and 23, inclusive, representing the hour of the day. InputBox Function Displays a prompt in a dialog box, waits for the user to input text or click a button, and returns the contents of the text box. InStr Function Returns the position of the first occurrence of one string within another. InStrRev Function Returns the position of an occurrence of one string within another, from the end of string. Int Function Returns the integer portion of a number. IsArray Function Returns a Boolean value indicating whether a variable is an array. IsDate Function Returns a Boolean value indicating whether an expression can be converted to a date. IsEmpty Function Returns a Boolean value indicating whether a variable has been initialized. IsNull Function Returns a Boolean value that indicates whether an expression contains no valid data (Null). IsNumeric Function Returns a Boolean value indicating whether an expression can be evaluated as a number. IsObject Function Returns a Boolean value indicating whether an expression references a valid Automation object. Join Function Returns a string created by joining a number of substrings contained in an array. LBound Function Returns the smallest available subscript for the indicated dimension of an array. LCase Function Returns a string that has been converted to lowercase. Left Function Returns a specified number of characters from the left side of a string. Len Function Returns the number of characters in a string or the number of bytes required to store a variable. LoadPicture Function Returns a picture object. Available only on 32-bit platforms. Log Function Returns the natural logarithm of a number. LTrim Function Returns a copy of a string without leading spaces. Mid Function Returns a specified number of characters from a string. Minute Function Returns a whole number between 0 and 59, inclusive, representing the minute of the hour. Month Function Returns a whole number between 1 and 12, inclusive, representing the month of the year. MonthName Function Returns a string indicating the specified month. MsgBox Function Displays a message in a dialog box, waits for the user to click a button, and returns a value indicating which button the user clicked. Now Function Returns the current date and time according to the setting of your computer's system date and time. Oct Function Returns a string representing the octal value of a number. Replace Function Returns a string in which a specified substring has been replaced with another substring a specified number of times. RGB Function Returns a whole number representing an RGB color value. Right Function Returns a specified number of characters from the right side of a string. Rnd Function Returns a random number.
  • 36. http://www.ebook.edu.vn 36 Round Function Returns a number rounded to a specified number of decimal places. RTrim Function Returns a copy of a string without trailing spaces. ScriptEngine Function Returns a string representing the scripting language in use. ScriptEngineBuildVersion Function Returns the build version number of the scripting engine in use. ScriptEngineMajorVersion Function Returns the major version number of the scripting engine in use. ScriptEngineMinorVersion Function Returns the minor version number of the scripting engine in use. Second Function Returns a whole number between 0 and 59, inclusive, representing the second of the minute. SetLocale Function Sets the global locale and returns the previous locale. Sgn Function Returns an integer indicating the sign of a number. Sin Function Returns the sine of an angle. Space Function Returns a string consisting of the specified number of spaces. Split Function Returns a zero-based, one-dimensional array containing a specified number of substrings. Sqr Function Returns the square root of a number. StrComp Function Returns a value indicating the result of a string comparison. String Function Returns a repeating character string of the length specified. StrReverse Function Returns a string in which the character order of a specified string is reversed. Tan Function Returns the tangent of an angle. Time Function Returns a Variant of subtype Date indicating the current system time. Timer Function Returns the number of seconds that have elapsed since 12:00 AM (midnight). TimeSerial Function Returns a Variant of subtype Date containing the time for a specific hour, minute, and second. TimeValue Function Returns a Variant of subtype Date containing the time. Trim Function Returns a copy of a string without leading or trailing spaces. TypeName Function Returns a string that provides Variant subtype information about a variable. UBound Function Returns the largest available subscript for the indicated dimension of an array. UCase Function Returns a string that has been converted to uppercase. VarType Function Returns a value indicating the subtype of a variable. Weekday Function Returns a whole number representing the day of the week. WeekdayName Function Returns a string indicating the specified day of the week. Year Function Returns a whole number representing the year. PHô LôC 3: MéT Sè C¢U LÖNH SQL TH¦êng dïNG Vμ VÝ Dô *** C¬ së d÷ liÖu ®−îc sö dông lµ nwind.mdb (Cã s½n khi cµi Office hoÆc lÊy trªn AptechServer) *** §Ó ch¹y c¸c c©u lÖnh ë d−íi, më nwind.mdb trong MS Access vµ vµo phÇn Query. I. §äc th«ng tin (C©u lÖnh SELECT) 1. Chän tÊt c¶ c¸c s¶n phÈm trong b¶ng Products SELECT * from Products 2. Chän tªn s¶n phÈm (Productname) vµ gi¸ (UnitPrice) trong b¶ng products SELECT Productname, UnitPrice FROM Products 3. Chän ra tªn c«ng ty cña nhµ cung cÊp (CompanyName) vµ tªn c¸c s¶n phÈm (ProductName) mµ nhµ cung cÊp ®ã ®· s¶n xuÊt.
  • 37. http://www.ebook.edu.vn 37 SELECT CompanyName, ProductName FROM Suppliers, Products WHERE Suppliers.SupplierID=Products.SupplierID 4. §−a ra th«ng tin cña s¶n phÈm cã m· s¶n phÈm (ProductID) lµ 3 SELECT * FROM Products WHERE ProductID=3 5. §−a ra th«ng tin vÒ s¶n phÈm cã ProductID < 10 SELECT * FROM Products WHERE ProductID < 10 6. §−a ra th«ng tin vÒ s¶n phÈm mµ tªn cña nã (ProductName) cã Chøa tõ "Coffee" SELECT * FROM Products WHERE ProductName LIKE '*Coffee*' 7. §Õm sè b¶n ghi (sè l−îng s¶n phÈm) trong b¶ng Products) SELECT Count(*) from Products 8. TÝnh tæng sè l−îng ®¬n vÞ s¶n phÈm cã trong b¶ng Products SELECT SUM(UnitsInStock) from Products II. ChÌn thªm b¶n ghi (Bæ sung) – C©u lÖnh Insert into 1. Bæ sung thªm mét nhµ cung cÊp cã CompanyName lµ FPT vµ Address lµ Hµ Néi vµo b¶ng Suppliers. INSERT INTO Suppliers(CompanyName, Address) VALUES ('Cong ty FPT','Ha Noi') 2. Bæ sung thªm mét s¶n phÈm cã (SupplierID=30, ProductName lµ "M¸y tÝnh", UnitPrice lµ 500, UnitsInstock lµ 10) vµo b¶ng Products INSERT INTO Products(SupplierID, ProductName, UnitPrice, UnitsInstock) VALUES (30, 'May tinh', 500, 10) III. Xãa b¶n ghi – C©u lÖnh Delete 1. Xãa s¶n phÈm cã m· s¶n phÈm (ProductID) b»ng 78 DELETE FROM Products WHERE ProductID = 78 2. Xãa c¸c s¶n phÈm cã tªn s¶n phÈm (ProductName) lµ "May tinh" DELETE FROM Products WHERE ProductName = 'May tinh' IV. CËp nhËt b¶n ghi – C©u lÖnh Update 1. Thay ProductName = 'Cocacola' ®èi víi nh÷ng s¶n phÈm cã m· s¶n phÈm b»ng 1 UPDATE Products SET ProductName = 'Cocacola' where ProductID = 1 2. T¨ng thªm 5 $ cho tÊt c¶ c¸c s¶n phÈm UPDATE Products SET UnitPrice = UnitPrice+5 3. T¨ng 5 $ cho nh÷ng s¶n phÈm cã UnitPrice <20 vµ t¨ng 3 $ cho nh÷ng s¶n phÈm cã UnitPrice >= 20. - UPDATE Products SET UnitPrice = UnitPrice+5 where UnitPrice < 20 - UPDATE Products SET UnitPrice = UnitPrice+3 where UnitPrice >= 20
  • 38. http://www.ebook.edu.vn 38 PHô LôC 4: CμI §ÆT IIS (WEBSERVER) Vμ CH¹Y C¸C TRANG ASP I. Cµi ®Æt Internet Information service (IIS) – web server Click start Setting Control panel Add/Remove programs Add/remove windows components Chọn IIS II. CÊu h×nh tr×nh duyÖt ®Ó ch¹y c¸c file ASP 1. Máy tính ở nhà: B1. Mở Internet explorer B2. Vào Menu tools Internet options
  • 39. http://www.ebook.edu.vn 39 Đóng các cửa sổ lại. 2. Máy tính ở phòng thực hành - Nếu mỗi máy đều cài đặt IIS, thì tiến hành cấu hình IE như phần I - Nếu chỉ có một máy cài IIS chung cho cả phòng thì tiến hành như sau: + Giả sử máy tính đó có địa chỉ IP là 192.168.1.1 B1: Mở IE B2: Vào menu Tools Internet options Bỏ lựa chọn này nếu có
  • 40. http://www.ebook.edu.vn 40 Gõ giá trị như hình : Chọn OK , OK để đóng các cửa sổ (Hoặc để trống như phần I). III. Copy c¸c file ASP võa so¹n th¶o vµo th− môc web ®Ó ch¹y. B1: Chọn các file (thư mục) cần copy và nhấn Ctrl-C (Copy) B2: Chuyển đến thư mục C:inetpubwwwroot B3: Nhấn Ctrl-P (Paste)
  • 41. http://www.ebook.edu.vn 41 IV.Ch¹y file ASP *** Lưu ý: Không Click đúp chuột để chạy như những file thông thường !!! B1: Mở trình duyệt IE B2: + Gõ vào địa chỉ sau: http://127.0.0.1 (ở nhà) + Gõ vào địa chỉ sau: http://192.168.9.251 (Nếu thông qua máy khác) B3: Click chọn file cần chạy phô lôc 5 h−íng dÉn t¹o domain trong m¸y côc bé §Ó cã thÓ lµm viÖc gièng nh− hÖ thèng thËt (Cã tªn miÒn d¹ng www.abc.com.cn, ....) nh−ng l¹i kh«ng cã ®iÒu kiÖn kÕt nèi internet hay cã server riªng, th× hoµn toµn cã thÓ thùc hiÖn ®−îc b»ng c¸c b−íc sau ®©y (Gi¶ sö muèn t¹o tªn miÒn www.T08A.com): Më Control Panel Click chọn file cần chạy
  • 42. http://www.ebook.edu.vn 42 Më Administative tools Click ®óp chuét vµo IIS (NÕu b¸o lçi th× vÒ desktop, click chuét ph¶i vµo My computer Manage) Click chuét ph¶i vµ chän Properties
  • 43. http://www.ebook.edu.vn 43 Chän Advance Chän Edit ®Ó ®Æt tªn miÒn mong muèn
  • 44. http://www.ebook.edu.vn 44 NhËp tªn miÒn theo së thÝch Chän OK ë c¸c hép tho¹i ®ang më . Khi ®· t¹o tªn miÒn nh− trªn Ph¶i cÊu h×nh (thiÕt lËp th«ng sè) cho tr×nh duyÖt ! B1: Më IE B2. Vµo menu Tools Internet options §Æt Proxy ®Ó tªn miÒn võa ®Æt cã t¸c dông Gâ tªn miÒn tïy ý !
  • 45. http://www.ebook.edu.vn 45 §Ó domain www.T08A.com cã t¸c dông th× b¾t buéc Ph¶i ®Æt th«ng sè Proxy trong Lan Settings lµ 127.0.0.1 hoÆc Localhost Chän OK ®Ó ®ãng c¸c hép tho¹i. B3. Test thö Më IE vµ nhËp ®Þa chØ: Më website võa ®Æt trong cöa sæ tr×nh duyÖt
  • 46. http://www.ebook.edu.vn 46 phô lôc 6: cμi ®Æt ftp ®Ó ®−a trang web lªn server Trong tr−êng hîp khi web server kh«ng ph¶i lµ m¸y côc bé mµ cã thÓ lµ trªn Internet th× viÖc ®−a c¸c trang web lªn ®ã th−êng dïng mét phÇn mÒm riªng biÖt, gäi lµ phÇn mÒm FTP Client. HiÖn nay cã kh¸ nhiÒu phÇn mÒm nh− vËy nh−ng hay dïng lµ CuteFTP. I. Cµi ®Æt cuteFTP Ch¹y file CuteFTP.Exe (NÕu kh«ng cã th× download trªn m¹ng hoÆc vµo Aptechserver ®Ó lÊy) vµ lµm theo c¸c h−íng dÉn trong qu¸ tr×nh cµi ®Æt. II. Sö dông FTP - §Ó cã thÓ ®−a c¸c trang web lªn web server th× b¹n cÇn ph¶i ®−îc cÊp mét tµi kho¶n (bao gåm user name vµ Password). Tµi kho¶n nµy do ng−êi qu¶n trÞ cung cÊp hoÆc do Nhµ cung cÊp dÞch vô Hosting cung cÊp khi mua. Ngoµi ra, b¹n cßn ph¶i biÕt chÝnh x¸c ®Þa chØ vµ sè hiÖu cæng cña server mµ ta sÏ ®−a trang web lªn. Gi¶ sö, b¹n ®· ®−îc cung cÊp c¸c sè liÖu nh− sau: STT Th«ng sè Gi¸ trÞ 1 user name utehy 2 password utehyaptech 3 ftp Server Address (®Þa chØ) utehy.vn (hoÆc ®Þa chØ IP) 4 ftp Port (Sè hiÖu cæng) 21 (§©y lµ gi¸ trÞ mÆc ®Þnh) Sau khi ®· cã ®Çy ®ñ c¸c th«ng sè nµy, ta míi cã thÓ tiÕn hµnh c¸c b−íc tiÕp theo sau ®©y: - Ch¹y FTP Client - Vµo menu File, chän new FTP site hoÆc nhÊn phÝm t¾t Ctrl-N T¹o mét kÕt nèi ®Õn FTP server
  • 47. http://www.ebook.edu.vn 47 Mét hép tho¹i sÏ më ra ®Ó b¹n nhËp c¸c th«ng tin ë trªn vµo B¹n nhËp c¸c th«ng tin trong b¶ng trªn nh− sau: §Æt c¸c th«ng sè kÕt nèi. *** Riªng sè hiÖu cæng, mÆc ®Þnh lµ 21 nªn kh«ng ph¶i nhËp. NÕu nhµ cung cÊp ®−a cho ta sè hiÖu kh¸c th× chän tab bªn c¹nh ("Type"), sau ®ã ®Æt l¹i sè hiÖu cæng.
  • 48. http://www.ebook.edu.vn 48 T¹i ®©y, ng−êi sö dông dÔ dµng thùc hiÖn viÖc upload, download ViÖc Upload (®−a lªn) hay download (lÊy vÒ) ®¬n gi¶n nh− trong cöa sæ Explorer KÓ c¶ c¸c thao t¸c nh− T¹o th− môc, xãa file, ®æi tªn file,....
  • 49. http://www.ebook.edu.vn 49 PhÇn III: Thùc hμnh BμI THùC hμNH Sè 1 MỤC TIÊU: Kết thúc bài thực hành sinh viên có thể • Xây dựng trang Web theo cấu trúc Frame • Hiển thị trang web trong một frame chỉ định • Tạo các hiệu ứng cho liên kết NỘI DUNG: Yêu cầu: Tạo một trang Web có 3 frame với tên lần lượt là : frameTren, frameTrai, framePhai. frameTren sẽ nạp trang Banner.htm, frameTrai sẽ nạp trang Menu.htm, framePhai dùng để hiển thị trang Web mà liên kết được đặt trong frameTrai, ban đầu frame này sẽ nạp trang GioiThieu.htm. Tạo trang Banner.htm 1. Mở chương trình soạn thảo, ví dụ FrontPage 2. Gõ nội dung như sau <HTML> <HEAD> <TITLE>Trang Banner.htm</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> </HEAD> <BODY> <H1 STYLE="width:100%; filter:glow(); text-align:center;">Siêu thị máy tính </H1> </BODY> </HTML> Tạo trang GioiThieu.htm <HTML> <HEAD> <TITLE>Trang Giới thiệu</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> </HEAD> <BODY> <H1 Style="text-align:center;">Giới thiệu về công ty tại đây</H1> <H1 Style=”text-align:center”>Tham khảo các trang Web trên mạng </H1> </BODY> </HTML>
  • 50. http://www.ebook.edu.vn 50 Trang Menu.htm (Minh hoạ tạo 2 liên kết đến trang GioiThieu.htm và SanPham.asp) <HTML> <HEAD> <TITLE>Trang Liên kết</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> </HEAD> <BODY> <A Href = “GioiThieu.htm” Target = “Main”>Giới thiệu </A> <A Href =”SanPham.asp” Target = “Main”>Sản phẩm </A> </BODY> </HTML> Trang Menu.htm (Version 2 - tạo hiệu ứng) <HTML> <HEAD> <TITLE>Trang liên kết - tạo hiệu ứng</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> </HEAD> <Style Type = “Text/CSS”> A { Text-decoration: None} // Bỏ gạch chân dưới mỗi liên kết .MenuThuong {color : Blue; Background-color: White} // Định nghĩa lớp .MenuKichHoat {color : White; Background-color : Red} // Định nghĩa lớp </Style> <BODY> <A onMouseOver="this.className='MenuKichHoat'" onMouseOut ="this.className='MenuThuong' " href = “GioiThieu.htm” Target = “Main”>Giới thiệu </A> <BR> <A onMouseOver="this.className='MenuKichHoat' " onMouseOut ="this.className='MenuThuong' " href = “SanPham.asp” Target = “Main”>Sản phẩm </A> </BODY> </HTML> Trang Index.htm (Chú ý : Thêm các thẻ <BODY> <Frameset rows = "20%,*"> <Frame name = Banner Src = "Banner.htm"> <FrameSet Cols= "20%,*"> <Frame name = Menu Src = "Menu.htm"> <Frame name = Main Src = "GioiThieu.htm"> </FrameSet> </FrameSet>
  • 51. http://www.ebook.edu.vn 51 bμi thùc hμnh sè 2 MỤC TIÊU: Sau bài thực hành này Sinh viên có thể - Viết lệnh đọc và hiển thị dữ liệu trong một bảng trên trang Web - Bổ sung dữ liệu vào trong bảng CSDL - Cập nhật dữ liệu vào trong bảng CSDL - Truyền dữ liệu giữa các trang bằng URL (Dạng Request.QueryString(…)) NỘI DUNG THỰC HÀNH Tạo CSDL tên là Book.mdb, CSDL này có 1 bảng là tblSach gồm các trường như sau: 1. Đọc dữ liệu trong bảng CSDL và hiển thị trên trang Web Tạo một trang HienThiSach.asp có nội dung như sau: <%@LANGUAGE="VBSCRIPT" %> <HTML> <title>Đọc dữ liệu từ file CSDL</title> <body style="font-family:arial"> <% Dim Cn, Rs Dim strCn '///// Tạo kết nối đến CSDL ///////////////////////////////////////////////////////// Set Cn = Server.CreateObject("ADODB.Connection") '/// Tạo đối tượng Connection Cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &Server.Mappath("Book.mdb") Cn.CursorLocation = 3 Cn.Open '/// Thực sự mở kết nối đến CSDL Book.mdb Set Rs = Cn.Execute("Select * from tblSach") '/// Mở bảng và lưu trong biến RS '//// Đọc dữ liệu và hiển thị ra Bảng//////////////////////////////////////////// Response.Write("<Table border = 1 style='width:100%'>") Response.Write("<TR><TH>Mô tả <TH>Tên sách <TH> Tên Tác giả <TD>”) Response.Write(“Tên NXB <TD> Năm XB <TD>Số trang <TD> Giá ") Do while not Rs.EOF Response.Write("<TR>") Response.Write("<TD><img width=100px src='" & Rs("DuongDan") &"'>") Response.Write("<TD>" &Rs("TenSach")) Response.Write("<TD>" &Rs("TenTacgia")) Response.Write("<TD>" &Rs("TenNXB")) Response.Write("<TD>" &Rs("NamXB")) Response.Write("<TD>" &Rs("SoTrang")) Response.Write("<TD>" &Rs("Gia")) Rs.MoveNext Loop Response.Write("</Table>") '/// Đóng thẻ Table </BODY> </HTML>
  • 52. http://www.ebook.edu.vn 52 2. Cập nhật dữ liệu (Cập nhật thông tin về một cuốn sách nào đó) Ý tưởng: Để cập nhật dữ liệu cho thuận tiện, chúng ta sẽ xây dựng 3 trang: Một trang gọi là “DanhMucSach.asp” để hiển thị các sách hiện có. Mỗi một cuốn sách trong trang này sẽ có một liên kết tên là “Cập nhật”, liên kết này chỉ đến trang “SoanThao.asp”, Khi người dùng click vào liên kết thì trong liên kết có chứa “MaSach” sẽ được gửi đến trang “SoanThao.asp”. Trang “SoanTHao.asp” sẽ hiển thị các thông tin trong các textbox về cuốn sách có mã bằng mã do trang “DanhMucSach.asp” gửi tới và cho người dùng thay đổi tại đây. Thông tin soạn xong sẽ được gửi đến trang “Capnhat.asp” để thực hiện việc cập nhật. Sơ đồ mô tả như hình dưới đây: File: DanhMucSach.asp <%@LANGUAGE="VBSCRIPT" %> <title>Danh mục sách trong file CSDL</title> <body style="font-family:arial"> <!-- #Include file= "KetNoi.inc" --> ‘/// Nội dung file Ketnoi.inc xin xem ở phần dưới <h1 align="center">Danh mục sách trong kho </h1> <% Set Rs = Cn.Execute("Select * from tblSach") '/// Mở bảng và lưu trong biến RS '//// Đọc dữ liệu và hiển thị ra Bảng//////////////////////////////////////////// Response.Write("<Table border = 1 style='width:100%'>") Response.Write("<TR> <TH>Mô tả <TH>Tên sách <TH> Tên Tác giả <TD>Tên NXB <TD> Sửa đổi") do while not Rs.EOF Response.Write("<TR>") Response.Write("<TD><img width=100px src='" & Rs("DuongDan") &"'>") Response.Write("<TD>" &Rs("TenSach")) Response.Write("<TD>" &Rs("TenTacgia")) Response.Write("<TD>" &Rs("TenNXB")) Response.Write("<TD><A href = 'SoanThao.asp?MaSach=" &Rs("MaSach") &"'>Sửa") Rs.MoveNext Loop Response.Write("</Table>") '/// Đóng thẻ Table %> </BODY> </HTML> File: “KetNoi.inc” <% Dim Cn, Rs Dim strCn Set Cn = Server.CreateObject("ADODB.Connection") ' /// Tạo đối tượng Connection Cn.ConnectionString= "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.Mappath("Book.mdb") Cn.CursorLocation = 3 Cn.Open ' /// Thực sự mở kết nối đến CSDL Book.mdb %> TênS TGiả ~~ Pascal QTN ~~ ~~~ ~~~ ~~ DanhMucSach.asp Mã sách: Tên sách: Tên tác giả: ~~~~~~~~ ~~~~~~~~ SoanThao.asp Dim Tensach TenSach= Request.QueryString (“TenSach”) …………….. tblSach CapNhat.asp
  • 53. http://www.ebook.edu.vn 53 File: SoanThao.asp <%@LANGUAGE="VBSCRIPT" %> <HTML> <head> <title>Hiển thị dữ liệu cho người dùng soạn thảo</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body style="font-family:arial"> <!-- #Include file= "KetNoi.inc" --> ‘// File KetNoi.inc xin xem ở trang trên <h1 align="center">Thay đổi các trường và nhấn nút "Cập nhật"</h1> <% Dim MaSach MaSach = Request.QueryString("MaSach") ‘// Lấy mã sách do trang DanhMucSach gửi tới 'Chọn sách có Mã sách = Mã sách mà người dùng muốn sửa đổi Set Rs = Cn.Execute("Select * from tblSach where Masach = '" &Masach & "'") Response.Write("<FORM Action = 'CapNhat.asp' method = Post>") Response.Write("Mã sách : <Input type=text value ='" &Rs("MaSach") &"' name = MaSach> <BR>") Response.Write("Tên sách : <Input type=text value='" &Rs("TenSach") &"' name = TenSach> <BR>") Response.Write("Tên tác giả : <Input type=text value='" &Rs("TenTacGia") &"' name = TenTacGia> <BR>") Response.Write("Tên nhà xuất bản: <Input type=text value='" &Rs("TenNXB") &"' name= TenNXB> <BR>") Response.Write("<Input type = Submit value = 'Cập nhật'>") Response.Write("</FORM>") %> </BODY> </HTML> File: CapNhat.asp <%@LANGUAGE="VBSCRIPT" %> <HTML> <head> <title>Cập nhật dữ liệu từ file CSDL</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <BODY style="font-family:arial"> <!-- #Include file= "KetNoi.inc" --> ‘// File KetNoi.inc xin xem ở trang trên <% Dim MaSach, TenSach, TenTacGia, TenNXB MaSach = Request.Form("MaSach") '// Lấy mã sách mà người dùng muốn TenSach = Request.Form("TenSach") TenTacGia = Request.Form("TenTacGia") TenNXB = Request.Form("TenNXB") Cn.execute "Update tblSach Set TenSach = '" &TenSach & "', TenTacGia = '" & TenTacGia & "',TenNXB = '" &TenNXB & "' Where MaSach = '" &MaSach & "'" Response.Write("Thông tin đã được cập nhật ! <a href=DanhMucSach.asp>Danh mục sách</A>") %> </BODY> </HTML>
  • 54. http://www.ebook.edu.vn 54 bμi thùc hμnh sè 3 MỤC TIÊU: Sau bài thực hành này Sinh viên có thể - Khai báo và sử dụng biến Session và biến Application - Sử dụng biến toàn cục Application để đếm số lượng người truy cập - Sử dụng biến Session để lưu tình trạng đăng nhập của người dùng - Tạo trang đăng nhập cho người dùng NỘI DUNG THỰC HÀNH I. Tạo biến toàn cục 1. Biến Application Biến Application là biến có phạm vi ảnh hưởng đến tất cả mọi người dùng. Nó tồn tại từ khi IIS Server chạy. Biến này thường được dùng để lưu các thông tin mang ý nghĩa toàn cục, ví dụ như số lượng người truy cập v.v… Bài 01: Tạo biến toàn cục có tên là SoNguoiTruyCap, và hiển thị giá trị của nó trong trang có tên là : Test.asp Bước 1: Tạo trang Global.asa có nội dung như sau (Lưu ý: Tên phải là Global.asa): Bước 2: Tạo trang Test.asp để hiển thị và thay đổi giá trị của biến toàn cục, có nội dung như sau : <Script language = VBScript Runat = Server> Sub Application_OnStart Application(“SoNguoiTruyCap”) = 0 ‘// Tạo biến toàn cục tên là SoNguoiTruyCap End Sub </SCRIPT> Trang Global.asa <%@ Language = VBScript %> <HTML> <BODY> <% Response. Write("Giá tr c a bi n toàn c c là : " &Application("SoNguoiTruyCap")) Applicathon("SoNfuoiTruyCap") = Application("SoNguoiTruyCap") + 1 Response. Write("<BR> Giá tr c a bi n bây gi là : " &Application("SoNguoiTruyCap")) %> </BODY> </HTML> Trang Test.asp
  • 55. http://www.ebook.edu.vn 55 *** Nhận xét***: - Vì SoNguoiTruyCap là một biến toàn cục, do vậy nó vẫn tồn tại ngay cả khi bạn đã đóng tất cả các cửa sổ trình duyệt. Sự thay đổi này có tác dụng đối với mọi người dùng truy nhập vào Website. - Để tạo một biến toàn cục, chúng ta viết: Application("<Tên biến>") = <Giá trị> như ở trên. - Thủ tục sự kiện Application_OnStart và Session_OnStart được gọi mỗi khi một trang ASP được mở, trong các thủ tục này chúng ta có thể viết các câu lệnh ASP, kể cả việc truy cập vào CSDL. Bài 02: Đếm số lượt người truy cập vào Website Yêu cầu: Xây dựng một trang Web có tên là Index.asp. Trong trang này sẽ hiển thị số lượng người đã truy cập. Lưu ý: Vì mỗi một khách vào thăm trang Web thì thủ tục sự kiện Session_OnStart được gọi một lần, do vậy để đếm số lượng người truy cập thì trong thủ tục này ta chỉ cần tăng biến toàn cục SoNguoiTruyCap lên 1 đơn vị là đủ. Tức là trong tệp Global.asa bạn cần thêm các câu lệnh sau: 2. Biến Session Biến Session là biến toàn cục dùng để lưu thông tin hoặc trạng thái của một người dùng cụ thể nào đó trong một phiên làm việc, Ví dụ: Dùng để lưu trạng thái đăng nhập (Thành công hay không thành công) của một người dùng. <%@ Language = VBScript %> <HTML> <BODY> <H1 Align = Center> Chào m ng b n ã n v i Website c a l p chúng tôi ! </H1> <BR><BR><HR> <% Response. Write("<H2> B n là v khách th " &Application("SoNguoiTruyCap")) %> </BODY> </HTML> Trang Index.asp <Script language = VBScript Runat = Server> Sub Application_OnStart Application(“SoNguoiTruyCap”) = 0 ‘/// Tạo biến toàn cục tên là SoNguoiTruyCap End Sub Sub Sesstion_OnStart '/// Thủ tục này được gọi khi có 1 người mới viếng thăm Application(“SoNguoiTruyCap”) = Application(“SoNguoiTruyCap”) + 1 End Sub </SCRIPT> Trang Global.asa
  • 56. http://www.ebook.edu.vn 56 Biến Session chỉ tồn tại trong thời gian Session được tạo ra, nó không ảnh hưởng đến các Session khác. Để tạo biến Session, cần đặt câu lệnh trong file Global.asa và trong thủ tục Sub Session_OnStart lệnh sau: Session(“<Tên biến>”) = <Giá trị> Sau đây chúng ta sẽ sử dụng biến Session để lưu trạng thái đăng nhập của người dùng. Và tạo 1 trang đăng nhập. Bài 02: Xây dựng 2 trang ASP có tên lần lượt là : Xoa.asp và trang Login.asp. Trang xoá có nội dung như sau (Thực tế giống như trang Xoa.asp trong Project01): “Loại bỏ sản phẩm “. Và trang này chỉ hiển thị nếu người dùng đã đăng nhập với Tên là “tk33” và mật khẩu là “123”. Nếu người dùng chưa đăng nhập thì mở trang Login.asp để đăng nhập. Khai báo biến Session(“DaDangNhap”) trong file Global.asa như sau: Xây dựng trang Login.asp <HTML> <TITLE>Đăng nhập hệ thống </TITLE> <BODY> <FORM ACTION="Login.asp" METHOD="POST"> <TABLE BGCOLOR="#FF9966" ALIGN="CENTER"> <TR STYLE="color:white" BGCOLOR="#660000"> <TD COLSPAN="2" ALIGN="CENTER"> Thông tin đăng nhập</TR> <TR> <TD>Tên đăng nhập : <TD> <Input TYPE="TEXT" NAME="UserName"> <TR> <TD>Mật khẩu: <TD> <Input TYPE="PASSWORD" name = Password> <TR> <TD>&nbsp; <TD> <Input TYPE="SUBMIT" VALUE="Đăng nhập"> </TABLE> </FORM> <% IF Request.Form(“UserName”) = “tk33” And Request.Form(“Password”) = “123” Then Session(“DaDangNhap”) = “roi” ‘// Ghi nhớ lại là đã đăng nhập thành công rồi. Response.write(“Bạn đã đăng nhập thành công ! <a href = ‘index.htm’>Về trang chủ </a>”) Else Response.write(“Tên và mật khẩu sai ! Xin hãy nhập lại.”) End IF %> </BODY> </HTML> Thực tế, việc kiểm tra người dùng ở trên, chúng ta sẽ so sánh với chi tiết người dùng trong CSDL. <Script language = VBScript Runat = Server> Sub Sesstion_OnStart '/// Thủ tục này được gọi khi có 1 người mới viếng thăm Session(“DaDangNhap”) = “chua” ‘/// Biến Đã đăng nhập khởi tạo = “chưa” End Sub </SCRIPT> Trang Global.asaFile Global.asa
  • 57. http://www.ebook.edu.vn 57 Trang Xoa.asp Nâng cấp trang Login.asp <HTML> <TITLE>Đăng nhập hệ thống </TITLE> <BODY> <FORM ACTION="Login.asp" METHOD="POST"> <TABLE BGCOLOR="#FF9966" ALIGN="CENTER"> <TR STYLE="color:white" BGCOLOR="#660000"> <TD COLSPAN="2" ALIGN="CENTER"> Thông tin đăng nhập</TR> <TR> <TD>Tên đăng nhập : <TD> <Input TYPE="TEXT" NAME="UserName"> <TR> <TD>Mật khẩu: <TD> <Input TYPE="PASSWORD" name = Password> <TR> <TD>&nbsp; <TD> <Input TYPE="SUBMIT" VALUE="Đăng nhập"> </TABLE> </FORM> <!-- #Include File = “KetNoi.Inc” --> <% Dim Ten, MatKhau, strSQL Ten = Request.Form(“UserName”) MatKhau = Request.Form(“Password”) IF Ten <> “” Then ' /// Chỉ kiểm tra nếu người dùng đã nhập Username & Password strSQL =“Select* from tblUserDetail Where Ten=’” &Ten & “’ AND MatKhau =’“ &MatKhau &”’” Set Rs = Cn.Execute(strSQL) IF Rs.RecordCount > 0 Then Session(“DaDangNhap”) = “roi” Response.write(“Bạn đã đăng nhập thành công ! <a href = ‘index.htm’>Về trang chủ </a>”) Else Response.write(“Tên và mật khẩu sai ! Xin hãy nhập lại.”) End IF End IF %> </BODY> </HTML> trang Login.asp <HTML> <BODY> <% IF Session(“DaDangNhap”) = “roi” Then ‘// Thực hiện các câu lệnh ở đây Response.write(“Bản ghi đã bị xoá ! “) Response.write(“Bạn muốn xoá tiếp hay không ?”) Else Response.write(“Bạn chưa đăng nhập. <a href =’Login.asp’>Login</a>”) End IF %> </BODY> </HTML> Trang Global.asaXoa.sp