Giáo trình ASP (Bản đẹp)

pdf 27 trang ngocly 1860
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình ASP (Bản đẹp)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_asp_ban_dep.pdf

Nội dung text: Giáo trình ASP (Bản đẹp)

  1. Ebook được upload tại www.viet-ebook.co.cc Bài 1: Giới thiệu về ASP 1. Giới thiệu về ASP. ASP (Active Server Pages) là một môi trường lập trình cung cấp cho việc kết hợp HTML, ngôn ngữ kịch bản (Scripting) như VBScript, Javacript, và các thành phần được viết trong các ngôn ngữ nhằm tạo ra một ứng dụng Internet mạnh mẽ và hoàn chỉnh. 2. ASP file là gì? File được tạo với phần mở rộng .ASP. Trong file này chứa các thẻ HTML, Các kịch bản Scripting như VBSCript, JavaScript hay các lời gọi đến các components(Như DLL và ActiveX control) Các script của ASP được nằm trong cặp thẻ Khi cần sửa đổi các file ASP ta chỉ cần ghi lại trên server thôi. Vào nhưng lần saukhi trang ASP được gọi, các Script trong file ASP tự động biên dịch lại. Công nghệ ASP được xây dưng trực tiếp bên trong ; IIS(WinNT, 2000), Personal Webserver. 3. ASP làm việc như thế nào ? Trang HTML tĩnh: Trang web động (Dynamic):
  2. Ebook được upload tại www.viet-ebook.co.cc 4. 5. 6. 7. 8. 9. Giới thiệu về IIS- Internet Information Server. a. IIS là gì? Microsoft Internet Information Server là một ứng dụng server chuyển giao thông tin bằng việc sử dụng giao thức chuyển đổi siêu văn bản HTTP b. IIS có thể làm được gì? ¾ Xuất bản một Home page lên Internet. ¾ Tạo các giao dịch thương mại điện tử trên Internet( Quá trình giao dịch, đặt hàng ) ¾ Cho phép người dùng từ xa có thể truy xuất Cơ sở dữ liệu (Data Base Remote Access) 10. ISS hoạt động như thế nào ? Web, về cơ bản thực sự là một hệ thống các yêu cầu (Request) và các đáp ứng (Response). IIS phản hồi lại các yêu cầu đòi thông tin của Web Browser. IIS lắng nghe các yêu cầu đó từ phía Users trên một mạng sử dụng WWW. 11. Cài đặt IIS. 12. Ví dụ và thực hiện chạy file ASP. =#12:00:00 AM#) then%> Good Morning!
  3. Ebook được upload tại www.viet-ebook.co.cc Hello !
  4. Ebook được upload tại www.viet-ebook.co.cc Bài 2: Lập trình với ASP. 1. Khai báo biến. - Không bắt buộc nhưng nên khai báo để kiểm soát và bắt lỗi. - Nên sử dụng ở ngay đầu mỗi tệp ASP. - Cú pháp: Dim biến 1, biến 2 - Để khai báo mảng: i. Dim a(10) : chỉ số chạy từ 0->10 do đó có 11 phần tử. ii. Khi khai báo nên sử dụng các tiền tố: Dạng dữ liệu Tiền tố (prefix) Boolean Bln Byte Byt Double Dbl Integer Int Long Lng Object Obj String Str ADO command Cmd ADO connection Cnn 2. Khai báo hằng số. CONST tên hằng= giá trị 3. Các đối tượng xây dựng sẵn trong ASP. Trong ASP có 5 đối tượng phục vụ cho việc sử dụng toàn bộ. + Request: Lấy thông tin từ User + Response: Gửi thông tin từ Server tới User. + Server: Dùng để điều khiển IIS + Session: Dùng để lưu trữ các thông tin như các cài đặt, thay đổi cho một phiên làm việc hiện thời của User. + Application: Dùng để chia sẻ các thông tin cấp ứng dụng và điều khiển các thiết lập cho toàn bộ quá trình chạy ứng dụng
  5. Ebook được upload tại www.viet-ebook.co.cc Bài 3: Cấu trúc điều khiển lệnh và Hàm. 1. Các cấu trúc điều khiển. A. Cấu trúc điều kiện IF THEN ELSE IF Cú pháp: then Else If then End if End if %> Ngoài ra có thể sử dụng cấu trúc IF THEN. . . . ELSEIF. . . END IF then ElseIf then Else End if %> B. Cấu trúc lựa chọn select case end select Cú pháp: Case Case Case Case Else %> Ví dụ: Hiện ngày giờ trên máy chủ và cho biết hôm nay là thứ mấy? C. Cấu trúc lặp tuần tự for next. Dùng để lặp với số lần đã biết, tuy nhiên ta có thể ngắt bằng lệnh EXIT FOR. Cú pháp:
  6. Ebook được upload tại www.viet-ebook.co.cc = TO STEP NEXT %> D. Các Cấu trúc lặp . D.1 DO WHILE .LOOP. Cú pháp: Loop %> D.2 WHILE .wend. Cú pháp: Wend %> D.3 DO .Loop until Cú pháp: Loop until %>
  7. Ebook được upload tại www.viet-ebook.co.cc 2. Một số hàm hữu dụng trong ASP. A. Các Hàm xử lý văn bản i. TRIM(xâu as string): Bỏ khoảng trắng hai đầu kí tự ii. LEFT(Xâu as string, n as interger): Lấy bên trái xâu n kí tự. iii. RIGHT(Xâu as string, n as interger): Lấy bên phải xâu n kí tự. iv. LCASE(Xâu as string) : Chuyển xâu về chữ thường v. UCASE(Xâu as string) : Chuyển xâu về chữ hoa vi. MID(xâu as string, n1, n2): Lấy n2 kí tự trong xâu bắt đầu từ vị trí n1. vii. CSTR(Biến): Hàm chuyển đổi biến thành kiểu string viii. Hàm JOIN/SPLIT(Xâu as string, kí tự ngăn cách): Sẽ Nối/Cắt xâu thành một/nhiều đoạn bằng cách xác định kí tự ngăn cách ở trên và cho các đoạn đó lần lượt vào một mảng. Ví du: B. Các hàm xử lý số. i. SQR(n): Căn bậc hai của n ii. INT(n) : Lấy phần nguyên n iii. MOD : Phép đồng dư iv. Toán tử \ : Chia nguyên v. Round(số, n) : Làm tròn số với n chữ số thập phân vi. RND(): Trả về số ngẫu nhiên bất kì trong khoảng [0,1] C. Các hàm về ngày tháng thời gian.
  8. Ebook được upload tại www.viet-ebook.co.cc 3. Thủ tục và Hàm. 4. Bài tập ứng dụng. Bài 4: Xây dựng các ứng dung ASP. 1. Các thẻ HTML. 2. Thẻ FORM. 3. Thẻ INPUT. 4. Tạo vùng nhập dữ liệu gồm nhiều dòng và cột. 5. Tạo COMBO BOX. 6. Các ví dụ cơ bản. 7. Bài tập ứng dụng. Bài 5 : Hệ quản trị CSDL MS Access 2003 Bài 6 : SQL- Ngôn ngữ truy vấn có cấu trúc Structure Query Language
  9. Ebook được upload tại www.viet-ebook.co.cc Bài 7: Kết nối truy xuất Database. 1. ADO là gì? 2. Cách thức truy xuất database bằng ADO trong ASP. 3. Tạo kết nối ADO (ADO Connection). 4. Sử dụng ADO Recordset 5. Sử dụng ADO SQL. 6. Một số ví dụ & bài tập áp dụng. Bài 8: Xây dựng ứng dụng ASP hoàn chỉnh 1. Quản lý môi trường trong ASP 2. Sử dụng Cookie trong ASP. 3. Làm việc với Session Object. 4. Xây dựng hệ thống bảo mật sử dụng CSDL. Bài 9: Một số ứng dụng mẫu. - Xây dựng ứng dụng Calender. - Xây dựng ứng dụng Guess Book. - Xây dựng ứng dụng Directory List.xây dựng ứng dụng Barchat. Bài 10: Phân tích thiết kế các bài toán 9 Thương mại điện tử (bán hàng, quảng cáo ) 9 Các bài toán quản lý ( Quản lý nhân sự, biển số, số điện thoại, Quản lý các trung tâm ngoại ngữ tin học, Quản lý việc cấp chứng chỉ .) 9 Các web site thiết kế quảng cáo, tự động hoá Website 9 Xây dựng các forum cho việc trao đổi thông tin-diễn đàn.
  10. Ebook được upload tại www.viet-ebook.co.cc Bài 1: Giới thiệu về ASP 1 1. Giới thiệu về ASP. 1 2. ASP file là gì? 1 3. ASP làm việc như thế nào ? 1 4. Giới thiệu về IIS- Internet Information Server. 2 5. ISS hoạt động như thế nào ? 2 6. Cài đặt IIS. 2 7. Ví dụ và thực hiện chạy file ASP. 2 Bài 2: Lập trình với ASP. 4 1. Khai báo biến 4 2. Khai báo hằng số 4 3. Các đối tượng xây dựng sẵn trong ASP 4 4. Các ví dụ & bài tập về ASP. Error! Bookmark not defined. Bài 3: Cấu trúc điều khiển lệnh và Hàm 4 1. Các cấu trúc điều khiển 5 2. Một số hàm hữu dụng trong ASP. 7 3. Thủ tục và Hàm 8 4. Bài tập ứng dụng 8 Bài 4: Xây dựng các ứng dung ASP. 8 1. Các thẻ HTML 8 2. Thẻ FORM 8 3. Thẻ INPUT. 8 4. Tạo vùng nhập dữ liệu gồm nhiều dòng và cột 8 5. Tạo COMBO BOX. 8 6. Các ví dụ cơ bản. 8 7. Bài tập ứng dụng 8 Bài 5 : Hệ quản trị CSDL MS Access 2003 8 Bài 6 : SQL- Ngôn ngữ truy vấn có cấu trúc 8 Structure Query Language 8 Bài 7: Kết nối truy xuất Database 9 1. ADO là gì? 9 2. Cách thức truy xuất database bằng ADO trong ASP 9 3. Tạo kết nối ADO (ADO Connection) 9 4. Sử dụng ADO Recordset 9 5. Sử dụng ADO SQL 9 6. Một số ví dụ & bài tập áp dụng. 9 Bài 8: Xây dựng ứng dụng ASP hoàn chỉnh 9 1. Quản lý môi trường trong ASP 9 2. Sử dụng Cookie trong ASP 9 3. Làm việc với Session Object. 9 4. Xây dựng hệ thống bảo mật sử dụng CSDL 9 Bài 9: Một số ứng dụng mẫu 9 Bài 10: Phân tích thiết kế các bài toán 9
  11. Ebook được upload tại www.viet-ebook.co.cc
  12. Chương 2 Một số tiện ích trong ASP Mục tiêu Tìm hiểu một số tiện ích: ¾ Registration ¾ Login và Logout ¾ Quản lý User ¾ Quản lý Product ¾ Shopping cart ¾ Sử dụng tiếng Việt trong ASP 2.1 Registration Registration là module cho phép một khách vãng lai đăng ký làm thành viên của website. Module này gồm một form đăng ký thành viên, 1 file asp xử lý form này, insert dữ liệu vào database. Ở database có một table tblUser chứa danh sách các thành viên của website Hình 2.1 RegistrationForm.htm: trang này chứa form cho phép người dùng đăng ký. RegistrationProcess.asp: trang này xử lý dữ liệu từ form trên, nếu hợp lệ thì insert dữ liệu vào database Ngoài ra, để kết nối vào database chúng ta viết 1 file connection.asp chứa các hàm open và destroy connection rồi include file này vào các file có nhu cầu truy cập database. Trong Database chứa table : tblUser 28 ASP
  13. Trang RegistrationForm.htm Registration Username: Password: Confirm Password: Address: Trang Connection.asp Trang RegistrationProcess.asp <% username=request.form("username") password=request.form("password") confirmPassword=request.form("confirmPassword") address=request.form("address") ‘ validate some information retrieved from submitted form openConn sql="insert into tblUser([username],[password],[address]) values('"&username&"','"&password&"','"&address&"')" conn.execute sql Chương 2: Một số tiện ích trong ASP 29
  14. destroyConn response.write "Successful Registration!" %> 2.2 Login và Logout Trong website có thể có những nơi chỉ dành cho các thành viên đã đăng ký mà không dành cho khách vãng lai, để truy cập những nơi này buộc thành viên phải đăng nhập vào website (login), các thành viên đã login sau đó có thể thoát (logout) . Việc ghi nhớ một thành viên đã login được lưu trong một biến kiểu session. Khi thành viên này logout chúng ta chỉ việc xóa biến session này. Module này gồm form login, file xử lý form login, file xử lý logout, database là table tblUser đã mô tả trong module Registration. Hình 2.3 LoginForm.htm: Form login LoginProcess.asp: xử lý form login, nếu login thành công thi redirect tới trang Index.asp,nếu không thì quay lại form login. Index.asp: Trang chủ chỉ dành cho member đã login bằng cách kiểm tra biến session, nếu biến này rỗng (chưa login) thì từ chối truy cập và redirect đến form login Logout.asp: Trang xử lý logout bằng cách hủy session Trang LoginForm.html 30 ASP
  15. Login Username: Password: Trang LoginProcess.asp Trang Index.asp Home page for Member only Welcome to . This page is for Member only! Chương 2: Một số tiện ích trong ASP 31
  16. Trang Logout.asp 2.3 Quản lý User Quản lý user bao gồm: - Liệt kê danh sách user - Thêm user - Sửa user - Xóa user Phần thêm user cũng tương tự như module Registration Hình 2.4 Các phần còn lại gồm các trang sau: ListMember.asp: Liệt kê danh sách thành viên, với mỗi thành viên có các liên kết cho phép sửa và xóa thành viên đó. 32 ASP
  17. EditMemberForm.asp: form sửa thành viên, hiển thị các thông tin hiện tại của thành viên để người dùng có thể sửa. EditMemberProcess.asp: xử lý form sửa thành viên, update lại thành viên vào DB DeleteMember.asp: xóa thành viên Trang ListMember.asp ID Username Address Edit Delete Trang EditMemberForm.asp UserName "> Password Confirm Password Address "> Chương 2: Một số tiện ích trong ASP 33
  18. "> Trang EditMemberProcess.asp User has been Edited! Trang DeleteMember.asp User has been Deleted! 34 ASP
  19. Hình 2.5 2.4 Quản lý Product Quản lý Product bao gồm: - Liệt kê, thêm sửa xóa loại sản phẩm (Category) - Liệt kê, thêm, sửa xóa sản phẩm (Product) Phần quản lý Category cũng tương tự như quản lý User Riêng phần quản lý Product cần lưu ý mỗi product thuộc 1 category nào đó. Hình 2.6 Chương 2: Một số tiện ích trong ASP 35
  20. Hình 2.7 Sau đây chúng ta xem qua cách làm phần thêm sản phẩm. Các phần khác làm tương tự. Trang AddProductForm.asp ProductName Product Category "> Price Description 36 ASP
  21. Trang AddProductProcess.asp Hình 2.8 2.5 Shopping cart Trong các website shopping online, ta thường dùng một cấu trúc dữ liệu để lưu trữ những hàng hóa mà người dùng chọn mua trong phiên của họ, gọi là giỏ hàng (tương tự như giỏ hàng khi chúng ta đi mua hàng trong siêu thị). Về dữ liệu, giỏ hàng lưu trữ danh sách những hàng hóa người dùng chọn mua bao gồm những thông tin như ProductID, ProductName, ProductCategory, Quantity, Price, (những thông tin này có trong bảng Product và Category trong DB) Để mô phỏng giỏ hàng, ta có thể dùng 1 số cấu trúc như Dictionary hoặc mảng 2 chiều. Chương 2: Một số tiện ích trong ASP 37
  22. Giỏ hàng được lưu trong 1 biến kiểu session để theo dõi quá trình khách hàng mua hàng trong phiên Hình 2.9 Sau đây chúng ta xem qua cách xây dựng một giỏ hàng bằng mảng 2 chiều. Giả thiết thông tin về Product bao gồm (ProductID, ProductName, ProductCategory, Quantity, Price, TotalPrice), và giỏ hàng chứa được tối đa 15 sản phẩm. Vậy ta có thể dùng mảng 2 chiều kích thước (6,15) để mô phỏng giỏ hàng. Mảng này được lưu theo kiểu biến session để có tác dụng trong toàn phiên của người dùng. Ta cần thêm 1 biến Count để đếm số sản phẩm hiện có trong giỏ hàng. Biến này cũng có kiểu session. Các hàm thao tác: AddProductToCart(ProductID): Thêm 1 sản phẩm vào giỏ hàng, nếu sản phẩm đã có thì tăng số lượng thêm 1 UpdateQuantity(ProductID,Quantity): Cập nhật số lượng của 1 sản phẩm trong giỏ hàng RemoveProductFromCart(ProductID): Xóa 1 sản phẩm khỏi giỏ hàng RemoveAll: Xóa rỗng giỏ hàng ListProduct: Liệt kê các mặt hàng trong giỏ hàng File Global.asa SUB Session_OnStart ReDim arrProduct(6,15) ‘mảng 2 chiều mô phỏng giỏ hàng Session("arrProduct")=arrProduct ‘giỏ hàng chứa trong session Session("Count")=0 ‘số sản phẩm hiện có trong giỏ END SUB ShoppingCart.asp <% 'thêm sản phẩm vào giỏ hàng, nếu đã có thì tăng số lượng lên 1 38 ASP
  23. Sub AddProductToCart(ProductID) arrProduct=Session("ArrProduct") Count=Session("Count") ProductExist=false ‘biến này dùng đánh dấu xem hàng đã có trong giỏ chưa For i=1 to Count if arrProduct(1,i)=ProductID then ProductExist=true ‘hàng đã có trong giỏ arrProduct(4,i)=arrProduct(4,i)+1 ‘tăng số lượng lên 1 exit For End if Next If not ProductExist then If Count<15 then Count=Count+1 ‘dùng Recordset lấy các thông tin ProductName, CategoryName, ‘ Price từ DB ‘ arrProduct(1,Count)=ProductID arrProduct(2,Count)=ProductName arrProduct(3,Count)=CategoryName arrProduct(4,Count)=1 arrProduct(5,Count)=CLng(Price) arrProduct(6,Count)=0 End if session("ArrProduct")=arrProduct session("Count")=Count end sub Sub RemoveProductFromCart(ProductID) 'xoa san pham trong gio hang ArrProduct=Session("ArrProduct") Count=Session("Count") ProductExist=false For i=1 to Count if arrProduct(1,i)=ProductID then ‘tìm thấy hàng cần xóa ở vị trí i ProductExist=true exit For End if Next If ProductExist then Count=Count-1 For x=1 to 6 ‘xóa rỗng mặt hàng i arrProduct(x,i)="" Next n=i Chương 2: Một số tiện ích trong ASP 39
  24. while n 2.6 Sử dụng tiếng Việt trong ASP 2.6.1 Bảng mã Unicode Về cơ bản máy tính chỉ xử lý được dữ liệu dạng số. Mỗi ký tự (character) được máy tính lưu trữ và xử lý bằng cách ánh xạ chúng thành một chữ số (còn gọi là mã - code). Ví dụ thông thường chữ ‘A’ có mã 65, ‘a’ mã 97 Bảng ánh xạ các ký tự thành các mã dưới dạng số được gọi là bảng mã (character code). Bảng mã 1 byte: Trong các bảng mã 1 byte như ASCII, mỗi ký tự được biểu diễn bằng 1 byte. Chúng có thể biểu diến tối đa 256 ký tự (kể cả các ký tự hiển thị được và ký tự điều khiển). Bảng mã 1 byte chỉ thích hợp với những ngôn ngữ như tiếng Anh. Đối với các ngôn ngữ phức tạp như tiếng Hoa, tiếng 40 ASP
  25. Nhật, tiếng Việt thì bảng mã này không đủ lớn để có thể biểu diễn hết số ký tự cần thiết. Vì vậy, người ta phải thực hiện nhiều giải pháp để khắc phục thiếu sót này, dẫn đến tình trạng có nhiều bảng mã khác nhau cùng tồn tại, thậm chí 1 ngôn ngữ cũng có nhiều bảng mã, gây nên sự thiếu thống nhất. Unicode là bảng mã 2 byte, ra đời nhằm mục đích xây dựng một bộ mã chuẩn vạn năng, thống nhất, dùng chung cho tất cả các ngôn ngữ trên thế giới. Bộ mã Unicode gồm 16 bit cho mỗi ký tự, biểu diễn được 65536 ký tự. Unicode có thể biểu diễn được đầy đủ các ký tự Tiếng Việt. 2.6.2 Mã hóa UTF-8 Mỗi ký tự trong bộ mã Unicode được mã hóa (encoding) dưới 1 trong 3 dạng: UTF-8 (8 bit), UTF-16 (16 bit) và UTF-32 (32 bit). Trong đó UTF-8 (Unicode Transfomation Format -8) được sử dụng phổ biến. Mỗi ký tự Unicode được mã hóa UTF-8 sẽ được biểu diễn bằng 1 đến 4 byte tùy thuộc vào giá trị mã của ký tự đó. Ví dụ: trong bảng mã Unicode chữ a có mã là 97 (hexa là U+0061) => UTF 32: 0x00000061, UTF-16: 0x0061, UTF-8: 0x61. UTF-8 được sử dụng phổ biến để biểu diễn tiếng Việt theo mã Unicode 2.6.3 CodePage và Charset Trong lập trình ASP, để biểu diễn tiếng Việt đúng theo encoding UTF-8, chúng ta cần lưu ý 2 điểm: - Hiển thị đúng font UTF-8 trên client (browser) bằng cách sử dụng thẻ ( charset giúp browser hiển thị (decode) đúng dạng dữ liệu được encode) - Xử lý đúng UTF-8 trên server bằng cách đặt thuộc tính Codepage = 65001. (code page giúp server xử lý dữ liệu đúng encoding) hoặc Session.codepage có thiết lập codepage cho toàn phiên. Còn Response.codepage thiết lập codepage cho 1 lần response thôi. Thông thường chúng ta sử dụng Session.codepage vì như vậy toàn bộ session sẽ có chung 1 codepage thống nhất. 2.6.4 Lập trình tiếng Việt với ASP: Chúng ta tuân theo nguyên tắc sau: Sử dụng UTF-8 charset cho các trang web Sử dụng thẻ Sử dụng kiểu gõ Unicode trong các bộ gõ (VietKey, Unikey) Chương 2: Một số tiện ích trong ASP 41
  26. Hình 2.10 Ví dụ sau minh họa việc thêm vào và hiển thị dữ liệu từ database ra màn hình với Tiếng Việt: Trang RegistrationVNmeseForm.html Username: Password: Confirm Password: Address: Trang RegistrationVNmeseProcess.asp <%username=request.form("username") password=request.form("password") confirmPassword=request.form("confirmPassword") address=request.form("address") ‘ validate some information retrieved from submitted form openConn sql="insert into tblUser([username],[password],[address]) 42 ASP
  27. values('"&username&"','"&password&"','"&address&"')" conn.execute sql destroyConn response.write "Successfull Registration!"%> Trang ListMemberVNmese.asp ID Username Address Edit Delete Chương 2: Một số tiện ích trong ASP 43