Đề tài Thiết kế WebSite đấu giá qua mạng Internet

Tài liệu Đề tài Thiết kế WebSite đấu giá qua mạng Internet: PHẦN I CƠ SỞ LÝ THUYẾT CHƯƠNG 1 Tổng quan Internet & Intranet 1.1. Internet là gì ? Là một mạng máy tính toàn cầu trong đó các máy truyền thông với nhau theo một ngôn ngữ chung (TCP/IP) , không một ai làm chủ và điều khiển tất cả. Là một liên mạng kết nối những mạng được điều hành và làm chủ một cách riêng lẻ lại cùng nhau. Mỗi máy trên Internet được gọi là một Host. Mỗi host có khả năng như nhau về truyền thông tới máy khác trên Internet. Một số host được nối tới mạng bằng đường nối Dial-up tạm thời, một số host khác được nối bằng đường nối mạng thật sự 100% (như ethernet, token ring, ...) Ở các host trên Internet có sự kết hợp các chương trình Server và các chương trình Client, chúng cung cấp thông tin và những dịch vụ tới người sử dụng. 1.2. Intranet là gì ? Intranet dựa vào TCP/IP Network nhưng không nối kết tới Internet mà chỉ sử dụng chuẩn truyền thông Internet và các công cụ của nó dùng để cung cấp thông tin tới người sử dụng trên một mạng riêng. Ví dụ một công ty có ...

doc85 trang | Chia sẻ: hunglv | Lượt xem: 1179 | Lượt tải: 0download
Bạn đang xem trước 20 trang mẫu tài liệu Đề tài Thiết kế WebSite đấu giá qua mạng Internet, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
PHẦN I CƠ SỞ LÝ THUYẾT CHƯƠNG 1 Tổng quan Internet & Intranet 1.1. Internet là gì ? Là một mạng máy tính toàn cầu trong đó các máy truyền thông với nhau theo một ngôn ngữ chung (TCP/IP) , không một ai làm chủ và điều khiển tất cả. Là một liên mạng kết nối những mạng được điều hành và làm chủ một cách riêng lẻ lại cùng nhau. Mỗi máy trên Internet được gọi là một Host. Mỗi host có khả năng như nhau về truyền thông tới máy khác trên Internet. Một số host được nối tới mạng bằng đường nối Dial-up tạm thời, một số host khác được nối bằng đường nối mạng thật sự 100% (như ethernet, token ring, ...) Ở các host trên Internet có sự kết hợp các chương trình Server và các chương trình Client, chúng cung cấp thông tin và những dịch vụ tới người sử dụng. 1.2. Intranet là gì ? Intranet dựa vào TCP/IP Network nhưng không nối kết tới Internet mà chỉ sử dụng chuẩn truyền thông Internet và các công cụ của nó dùng để cung cấp thông tin tới người sử dụng trên một mạng riêng. Ví dụ một công ty có thể cài đặt một Web server chỉ cho các thành viên của công ty trao đổi thư từ tin tức,thông tin thương mại...Các thành viên truy xuất thông tin bằng cách dùng các Web browser. 1.3. Mô HÌNH CliENt/SERVER Máy server ở trạng thái hoạt động và chờ yêu cầu của client. Khi client có yêu cầu, máy server đáp ứng yêu cầu đó. Chương trình Client: là chương trình trên một host có sử dụng các thông tin hay dịch vụ từ những chương trình khác trên Internet. Như vậy có thể nói client chính là những khách hàng. Ví dụ về một số chương trình client: web browser trình bày nội dung được cung cấp bởi những web server. Các chương trình Internet mail client mà người sử dụng dùng làm việc với các thông điệp mail được cung cấp bởi các Mail Server. FTP client lấy các tập tin từ FTP server. Các Chat client cho phép hội đàm với người khác qua Chat Server. Address Book cho phép tìm địa chỉ Internet Mail trong LDAP server, ... Chương trình Server: là chương trình trên một Host cung cấp thông tin hay dịch vụ được yêu cầu từ những chương trình client khác trên Internet. Server là những nhà sản xuất, nhà phục vụ. Những chương trình Server tập trung hóa các quá trình và các thông tin làm cho nó có thể được xử lý bởi các chương trình client. Máy Server Máy Client Một mô hình Client/Server đơn giản. Mô hình Client/Server rất có ích đối với tổ chức có đông người cần truy cập nhanh lượng dữ liễu lớn. Mạng Client/Server là phương pháp hiệu quả nhất để cung cấp : Khả năng quản lý và truy cập dữ liệu cho những chương trình ứng dụng như là: Bảng tính điện tử Kế toán Giao tiếp, truyền thông Quản lý tài liệu Quản lý mạng Lưu trữ tập tin tập trung Quản lý cơ sở dữ liệu là ứng dụng phổ biến nhất trong môi trường Client/Server vì thế sẽ tập trung trình bày càch thức vận hành của các hệ thống quản lý cơ sở dữ liệu (DMBS). Mô hình thực hiện của công nghệ Client/Server : SERVER CLIENT Request Database Web browser Response Mô hình Client/Server : Hầu hết mạng máy tính đều hoạt động theo mô hình Client/Server. Nói một cách đơn giản mạng Client/Server là mạng trong đó máy Client đưa ra yêu cầu, và một máy tính đóng vai trò máy Server sẽ đáp ứng yêu cầu đó. Qui trình hoạt động giữa Client/Server : Câu hỏi cơ sở dữ liệu được gởi từ máy Client nhưng được xử lý trên máy Server, chỉ có kết quả được trả về máy Client qua mạng. Toàn bộ tiến trình tiếp nhận và yêu cầu thông tin gồm 6 bước : Máy Client đưa ra yêu cầu cung cấp dữ liệu . Yêu cầu được dịch sang SQL. Yêu cầu SQL được gửi ngang qua mạng đến máy Server. Máy Server cơ sở dữ liệu tiến hành tìm kiếm trên máy tính nơi dữ liệu tồn tại. Dữ liệu tìm được theo yêu cầu được gởi trả lại máy Client. Dữ liệu được cung cấp cho người dùng. Trong môi trường Client/Server , có hai phần chính : Chương trình ứng dụng, thường gọi là Client. Bộ phục vụ cơ sở dữ liệu , thường được gọi là Server. Máy Server Máy Client Máy Client: Người dùng đưa ra yêu cầu tại Client. Máy Client chạy một chương trình ứng dụng có chức năng : Cung cấp giao diện cho người dùng. Định dạng yêu cầu cung cấp dữ liệu . Hiển thị dữ liệu nó nhận lại từ máy Server. Trong môi trường Client/Server, máy Server không chứa phần mềm giao diện người dùng. Máy Client có nhiệm vụ trình bày dữ liệu theo hình thức hữu ích. Chẳng hạn với giao diện người dùng và lập báo biểu. Chương trình ứng dụng trên máy Server tiếp nhận những chỉ thị từ người dùng, chuẩn bị chúng cho máy Server, rồi gởi một yêu cầu cung cấp thông tin cụ thể đến máy Server. Máy Server xử lý yêu cầu, định vị thông tin tích hợp, rồi gởi thông tin tìm được qua mạng đến máy Client. Máy Client sau đó sẽ “đẩy” thông tin ra giao diện để hiển thị thông tin trước người dùng. Máy phục vụ : Máy Server trong môi trường Client/Server chuyên dùng để lưu trữ và quản lý dữ liệu. Đây là nơi xảy ra hầu hết hoạt động thực của cơ sở dữ liệu. Máy Server tiếp nhận các yêu cầu có cấu trúc từ phía máy Client, xử lý chúng , rồi gởi trả thông tin được yêu cầu và trở lại máy Client qua mạng. 1.4. Personal Web Server là gì ? Personal Web Server (PWS) là một Web server chạy trong môi trường Windows 9x trên máy PC. Personal Web Server truyền tải thông tin bằng cách dùng Hypertext Transfer Protocol (HTTP), Personal Web Server cũng có thể dùng phương thức FTP. Nó có thể chạy trên Windows Workstation. Personal Web Server làm việc như thế nào ? Web là một hệ thống yêu cầu (Request) và đáp ứng (Response). Web browser yêu cầu thông tin bằng cách gửi một URL tới Web server, Web server đáp ứng lại bằng cách trả lại một trang HTML cho Web browser. HTML có thể là một trang Web tĩnh được lưu sẵn ở trên Web server hoặc có thể là một trang Web động mà server tạo ra khi đáp ứng yêu cầu của người sử dụng hoặc là một trang ở thư mục nào đó trên server. Web Browser URL Request Mỗi trang Web trên Intranet hoặc Internet có một URL duy nhất. Web browser yêu cầu một trang bằng cách gửi một URL tới một Web server. Web server sử dụng thông tin trong URL để xác định và cho hiển thị trang Web theo yêu cầu của Browser. Cú pháp URL là một chuỗi văn bản tuần tự gồm có : Protocol, Domain Name, và đường dẫn (Path) tới thông tin yêu cầu. Protocol là chuẩn truyền thông dùng để truyền tải thông tin như là : HTTP, FTP và Gopher. Domain Name chính là Domain Name System (DNS) của máy tính chứa thông tin. Path là đường dẫn tới thông tin yêu cầu trên máy tính. Ví dụ: Phương thức Tên Domain Đường dẫn (Path) Http:// Www.microsoft.com /backoffice Https:// (secure HTTP) Www.company.com /catalog/orders.htm Gopher:// Gopher.college.edu /research/astronomy/index.htm Ftp:// Orion.bureau.gov /stars/alpha quadrant/starlist.txt Một URL cũng có thể chứa thông tin mà Web server cần phải xử lý trước khi trả lại một trang, dữ liệu trong URL được gắn thêm vào cuối đường dẫn. Web server gửi dữ liệu này tới một chương trìng hay một Scirpt để xử lý và trả lại kết quả trong một trang web. Ví dụ: Request Type URL Static HTML page ISAPI application Internet Database Connector Common Gateway Interface (CGI) script Web Server Response Web server đáp ứng yêu cầu của Web browser bằng cách trả lại một trang HTML. Trang trả lại có thể là trang HTML tĩnh, trang HTML động hoặc là trang trong danh sách thư mục. Trang HTML tĩnh (Static Page) Một trang HTML tĩnh là trang đã được chuẩn bị sẵn cho các yêu cầu nhất định và được đặt sẵn trên Web server. Người sử dụng yêu cầu một trang HTML tĩnh bằng cách gõ trực tiếp URL hoặc là Click vào Hyperlink của URL nào đó, URL được gửi tới server. Server đáp ứng bằng cách trả lại trang HTML tĩnh. Trang động (Dynamic Page) Các trang động được tạo ra trong quá trình đáp ứng cho yêu cầu của người sử dụng. Một Web browser thu thập thông tin bằng cách thực hiện một trang có các Textbox, Menu, Checkbox... cho phép người sử dụng điền vào hoặc lựa chọn. Khi người sử dụng click vào một nút (button) trên Form và khi submit dữ liệu từ Form được gửi tới Web server. Server đưa dữ liệu này tới một Script hoặc một trình ứng dụng để xử lý. Sau đó server gửi lại kết quả cho browser bằng một trang HTML. Ưu, nhược điểm của PWS Cung cấp một môi trường phát triển tiện lợi và không đắt, không cần thêm phần cứng mạnh. Một bản sao của Web Server có thể lưu trên ổ cứng cục bộ và mọi thao tác sẽ thực hiện trên đó mà không ảnh hưởng đến trang Web thật trong thời gian thiết kế. Việc lưu lại và xem site trên ổ đĩa cục bộ cho phép người lập trình kiểm tra quá trình làm việc mà không phải lặp đi lặp lại việc truyền tập tin. Cuối giai đoạn phát triển, tất cả các mã chương trình sẽ được truyền bằng FTP hay HTTP, công việc truyền tập tin một lần này ít tốn kém về thời gian cũng như tài nguyên hơn các thao tác truyền tập tin nhiều lần. Tuy nhiên PWS không có độ tin cậy cao như mô hình NT Server/IIS, Win2000/IIS WinXP/IIS. 1.5. INTERNET INFORMATION SERVER LÀ GÌ ? IIS là Web Server chạy trên WinNT, Win 2000 và Win XP có thể quản lý các site thương mại. IIS hoạt động tương tự như PWS nhưng dưới quy mô lớn và có độ tin cậy hơn. CHƯƠNG 2 Active Server Pages 2.1. Giới thiệu Active Server Pages 2.1.1. Active Server Pages là gì? ASP là một ngôn ngữ kịch bản dùng để xây dựng các ứng dụng trên môi trường internet. Như tên gọi của nó, ASP giúp người xây dựng ứng dụng web tạo ra các trang web có nội dung linh hoạt. Với các người dùng khác nhau khi truy cập vào những trang web này có thể sẽ nhận được các kết quả khác nhau. Nhờ những đối tượng có sẵn (Built_in Object) và khả năng hổ trợ các ngôn ngữ script như VBScript và Jscript, ASP giúp người xây dựng ứng dụng dễ dàng và nhanh chóng tạo ra các trang web chất lượng. Những tính năng trên giúp người phát triển ứng dụng nhanh chóng tiếp cận ngôn ngữ mới, điều này là một ưu điểm không nhỏ của ASP. Active Server Pages chạy trên các môi trường sau đây: - Microsoft Internet Information Server version 3.0 trở lên trên Windows NT, Win 2000 và WinXP. - Microsoft Peer Web Sevices version 3.0 trên Windows NT Workstation. - Microsoft Personal Web Server trên Windows 9x. 2.1.2. Hoạt động của một trang ASP Khi một trang ASP được yêu cầu bởi web browser, web server sẽ duyệt tuần tự trang ASP này và chỉ dịch các script ASP. Tùy theo người xây dựng trang web này quy định mà kết quả do web server dịch sẽ trả về lần lượt cho trình duyệt của người dùng hay là chỉ trả về khi dịch xong tất cả các script. Kết quả trả về này mặc định là một trang theo cấu trúc của ngôn ngữ HTML. 2.1.3. Mô hình của Active Server Pages Các Script của ASP chứa trong các text file có đuôi là .asp. Trong Script có chứa các lệnh của một ngôn ngữ script nào đó. Browser gửi một Request tới Server yêu cầu một file ASP. Khi Web Server nhận được request của browser, nó sẽ đọc từ đầu đến cuối file ASP sau đó thực hiện các lệnh script và trả lại kết quả cho browser dưới dạng file HTML. Thao tác giữa client và server trong một ứng dụng web có thể được thể hiện khái quát như sau: HTTP Mô hình ứng dụng Web thể hiện qua công nghệ ASP Trình duyệt Web CLIENT ADO ASP ODBC OLEDB DBMS SQL Server DB Server Web Server 2.2. Cách viết các file ASP Script Một file ASP có tên mở rộng .asp và là một file text như những file HTML khác. Một file .asp có thể chứa bất cứ sự kết hợp nào sau đây: Text HTML tag Các lệnh script của một ngôn ngữ script nào đó chẳng hạn VBScript hay JScript. Một script là một chuỗi các lệnh script thực hiện một công việc nào đó, nó có thể là: Gán trị cho biến Yêu cầu Webserver gửi thông tin đến Browser gọi là Output expression (ví dụ: ) Kết hợp các lệnh script thành các thủ tục hay hàm. Việc thi hành một script là quá trình gửi chuỗi các lệnh tới Scripting Engine, tại đây ASP sẽ thông dịch các lệnh này và thi hành nó. Script được viết bằng một ngôn ngữ với các luật được đặc tả nào đó, nếu ta muốn sử dụng một scripting language nào thì trên server phải chạy Scripting Engine cho ngôn ngữ đó. Ví dụ, VBScript là ngôn ngữ script mặc định cho Active Server Pages, vì vậy scripting engine cho VBScript được cài đặt thường trú trên server. ASP cũng cung cấp sẵn Scripting Engine cho JScript. Cú pháp của ASP ASP chỉ cung cấp một môi trường để xử lý các script mà ta chèn vào trong các file .asp chứ ASP không phải là một ngôn ngữ script. Tuy nhiên, ASP qui định việc chèn các script phải tuân theo cú pháp nhất định của ASP như sau: 2.2.1. Delimiter (dấu ngăn cách) Trong trang ASP ta sử dụng các dấu để ngăn cách phần văn bản HTML với phần script, bất cứ một phát biểu script nào cũng đều phải nằm giữa 2 dấu ngăn cách . Ví dụ: sẽ gán chuỗi “climbing” cho biến sport. Hoặc để xuất giá trị của biến sport ra Browser (biểu thức này được gọi là Output Expression) 2.2.2. Statement (câu lệnh) Một câu lệnh, trong VBScript hay trong ngôn ngữ Script khác là một cấu trúc dùng để thực hiện một thao tác, phát biểu phải được khai báo hoặc định nghĩa trong ngôn ngữ script mà ta sử dụng. Ví dụ: Đoạn script sau dùng câu lệnh If … Then … Else của VBScript. =#12:00:00 AM#) then greeting= “Good Morning” Else greeting= “Hello !” End If %> 2.2.3. Kết hợp HTML trong các câu lệnh Chúng ta có thể chèn HTML text giữa các phát biểu của script. Ví dụ: =#12:00:00 AM#) then%> Good Morning! Hello ! 2.2.4. Script tag và việc tạo thủ tục với ngôn ngữ Script Các thủ tục phải được đặt bên trong tag và , và cho phép ta sử dụng ngôn ngữ script khác với ngôn ngữ mặc định đã cài đặt trong môi trường ASP (là VBScript). Ví dụ: function MyFunction() { Response.Write (“MyFunction Called”) } Trong ví dụ trên hàm MyFunction được định nghĩa với ngôn ngữ JScript khác với ngôn ngữ mặc định là VBScript. 2.2.5. Include file Khi tạo một ứng dụng Web, bao gồm nhiều trang ASP, nếu như toàn bộ các trang này đều cần sử dụng những thông tin chung như các hằng, hyperlink, … để tránh việc định nghĩa lại các giá trị này ở mỗi trang ASP cho phép ta include file bằng cách sử dụng dẫn hướng tiền xử lý sau: Trong đó file được include phải có phần mở rộng là .inc, filename bao gồm cả đường dẫn và tên file. Tham số virtual chỉ định đường dẫn bắt đầu bằng một Virtual Directory. Tham số file chỉ định đường dẫn bắt đầu với tên thư mục chứa filename cần include. 2.3. Các Built-In Object của ASP ASP cung cấp sẵn 5 đối tượng (object) khi sử dụng không cần phải tạo ra các instance cho chúng, mỗi đối tượng thực hiện một số chức năng riêng khác nhau. Các đối tượng này được gọi là các Built-in-Object, bao gồm: Request: lấy thông tin từ một user Response: gửi thông tin tới một user Server: điều khiển môi trường hoạt động của ASP Session: lưu giữ thông tin về 1 session của user Application: chia sẻ thông tin giữa các user trong cùng một ứng dụng Cú pháp của các đối tượng Cú pháp của các đối tượng không phụ thuộc vào scripting language mà người lập trình sử dụng. Để truy xuất thông tin của một đối tượng ta dùng các phương thức (method) và các thuộc tính (property). Sử dụng các Method Một method là một procedure hoạt động trên một đối tượng nào đó. Cú pháp tổng quát của method là: Object.Method [parameters] parameter là các thông số của method Sử dụng các Property Một property là một tính chất được đặt tên của một đối tượng. Chúng định nghĩa các tính chất của đối tượng như kích thước, màu, vị trí trên màn hình hay thể hiện các trạng thái của đối tượng như được phép (enable) hay không được phép (disable). Cú pháp tổng quát của property là: Object.Property [parameters] parameter là các thông số của Property Parameter thường là các biến, dữ liệu, chuỗi ký tự, hoặc là một URL. 2.3.1. Request object Request Object lấy các giá trị mà client browser gởi lên server thông qua một HTTP request. Đây là cách mà các ứng dụng ASP lấy được thông tin gửi tới từ user, ví dụ: khi user Submit thông tin từ một FORM. Request Object cho phép truy xuất tới bất kỳ thông tin nào do user gởi tới bằng giao thức HTTP như: Các thông tin chuẩn nằm trong các biến Server (variable server) Các tham số được gửi tới bằng phương thức POST Các thông tin được gửi tới bằng phương thức GET Các cookies (là các thông tin của user được gửi kèm theo) tới từ Browser. Các Client Certificates Request Object có 5 collection sau: QueryString Nhận giá trị của các biến trong HTML querystring, đó là giá trị được gởi lên theo sau dấu chấm hỏi (?) trong HTML request. Form Nhận các giá trị của các phần tử trên FORM sử dụng POST method. Cookies Cho phép nhận những giá trị của cookies trong một HTML request ServerVariable Nhận các giá trị của các biến môi trường. ClientCertificate Nhận certificate fields từ request của Web browser. Cú pháp tổng quát khi sử dụng Request object là: Request.CollectionName(variable) Variable là tên biến trong Collection muốn truy xuất thông tin. Cũng có thể sử dụng cú pháp: Request(variable) Khi đó thứ tự tìm kiếm sẽ tuân theo danh sách các collection trên và khi gặp biến đầu tiên trùng tên thì trả về giá trị của biến đó. Vì thế nếu có nhiều hơn một biến với cùng một tên trong các collection khác nhau thì nên sử dụng dạng cú pháp tổng quát. Sau đây là một số ứng dụng của đối tượng Request: Lấy thông tin từ FORM HTML Form là cách thức thông thường để trao đổi thông tin giữa Web Server và user. HTML Form cung cấp nhiều cách nhập thông tin của user như: text box, radio button, check box, submit, reset, password, … và hai phương thức gửi thông tin là POST hoặc GET. Ứng dụng ASP có thể sử dụng Form để tạo ra sự liên lạc dữ liệu giữa các trang theo một trong ba cách: File .htm chứa các form và gửi (submit) giá trị của nó tới một file .asp File .asp có thể tạo Form và gửi giá trị tới một file .asp khác. File .asp có thể tạo Form và gửi thông tin tới ngay chính nó. Khi lấy thông tin từ Form, đối tượng Request có thể lấy các loại thông tin khác nhau, bằng cách: Sử dụng QueryString QueryString collection chứa toàn bộ thông tin được gửi tới từ Form bằng phương thức GET. Các giá trị gởi từ Form chứa trong một chuỗi query (query string) và được add vào URL (bắt đầu từ dấu chấm hỏi (?) trở về sau là phần query string được thêm vào). Điều này có thể thấy rõ khi quan sát hộp Address của Browser. Ví dụ: Name: Age: Khi user nhập giá trị Minh và 30 vào hai hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ có dạng như sau: Hạn chế của phương thức GET : Chiều dài tối đa của URL là 1000 ký tự, như vậy nếu gởi một loạt thông tin từ form, thông tin sẽ bị cắt bớt. Sử dụng Form collection Thay vì add thông tin gửi đi từ Form vào URL như một querystring, một phương thức khác là POST, đặt thông tin gửi đi vào bên trong HTTP header. Ví dụ: Name: Age: Khi user nhập giá trị vào 2 hộp Name và Age sau đó nhấn Submit thì hộp Address của browser sẽ trông có dạng như sau: Tại thời điểm này, các giá trị gửi từ Form không thể truy xuất bằng QueryString collection. Thay vào đó, Active Server Pages hiện thực một Form collection chứa toàn bộ thông tin gửi từ Form sử dụng phương thức POST. Gửi thông tin trong cùng một file .asp ASP cho phép một file .asp có chứa Form, khi user điền các giá trị vào Form rồi gửi (Submit) thì chính file .asp đó sẽ nhận các thông tin này và xử lý. Ví dụ: file examp.asp có nội dung như sau: <% If IsEmpty(Request(“Email”)) Then Msg= “Please enter your email address” Else If InStr(Request(“Email”), “@”)=0 Then Msg= “Please enter an email address in the form servername@location” Else Msg= “This script could process the valid email address now” End If %> Email: <INPUT TYPE=TEXT NAME=”Email” SIZE=30 VALUE = “ Khi user điền vào Form địa chỉ Email và Submit thì file examp.asp này sẽ nhận thông tin bằng phát biểu: VALUE = đoạn script sẽ tuỳ thuộc giá trị chuỗi ký tự nhận được có ký tự @ hay không để trả lời với user cũng chính bằng văn bản HTML nhúng trong examp.asp. Gửi thông tin giữa các file .asp Ví dụ: Form được để trong examp1.asp, các thông tin mà user sẽ submit lên server khi user đang ở trang examp1.asp sẽ được file examp2.asp nhận và xử lý. Để làm được điều này, trong trang examp1.asp có đoạn code HTML sau: Name: và đoạn code sau trong trang examp2.asp dùng để nhận các thông tin sẽ submit từ form1. <% name=“” +Request(“txtname”) %> Khi đó giá trị mà user đã gõ vào Form1 sẽ được lấy và lưu vào biến Name ở examp2.asp. 2.3.2. Response object Việc gửi thông tin tới cho user được thực hiện nhờ đối tượng Response qua việc gọi các phương thức sau: Response.Write : Gửi thông tin trực tiếp tới user Response.Redirect : Gửi thông tin trực tiếp tới user ở một URL khác với URL đã yêu cầu. Response.ContentType: Thay đổi kiểu của nội dung cần gửi. Response.Cookies : Thiết lập các giá trị cookies. Response.Buffer : Đệm thông tin xuất. Gửi văn bản tới user : Response.Write[variant] trong đó variant là dữ liệu bất kỳ mà ngôn ngữ script đang sử dụng chấp nhận. Chuyển hướng kết nối đến URL khác : Response.Redirect URL Thiết lập HTTP ContentType : Response.ContentType=ContentType Ví dụ: Browser sẽ hiển thị trang nhận được như một văn bản bình thường chứ không phải như một văn bản HTML. Sử dụng Cookies Collection Một cookies được coi như một dấu hiệu đi kèm theo user trong quá trình trao đổi thông tin giữa Web client và Web server. Các script của ASP có thể dùng Response để lấy hoặc thiết lập giá trị của cookies bằng cách sử dụng cookies colletion theo cú pháp: Response.Cookies(cookie)[(key)][.attribute] trong đó cookie là tên của cookie. key là thông số tùy chọn. Nếu key được đặc tả thì cookie là từ điển và key sẽ được thiết lập giá trị, .attribute là các thuộc tính của cookie đó. Bufferring Response Thuộc tính Buffer chỉ định rằng trang xuất (page out) có được đệm lại hay không. Khi một trang bị đệm lại thì server sẽ không gửi đáp ứng nào tới client cho đến khi tất cả các server script trong trang hiện hành đã được xử lý, hoặc là cho đến khi phương thức Flush hoặc End được gọi. Thuộc tính Buffer mặc định cho tất cả trang ASP là True trong ASP 3.0, trong khi ở các phiên bản trước mặc định là False. Để thiết lập trị Buffer gọi: 2.3.3. Session object Đối tượng Session dùng để lưu trữ các thông tin của một user-session. Các giá trị lưu trữ trong session sẽ không bị loại bỏ đi khi user chuyển từ trang này sang trang khác trong một ứng dụng và có thể nhìn thấy được bởi tất cả các trang ASP trong ứng dụng, chúng chỉ bị loại bỏ khi user session-end. Web server tự động tạo ra Session object khi một trang web trong ứng dụng được yêu cầu bởi một user mà user này chưa có một session. Server sẽ tự động hủy bỏ user-session khi nó hết hạn hoặc bị bỏ (abandon). Cú pháp: Session.Properties | Method Properties SessionID trả về số định danh session cho user. Mỗi session sẽ được server cho một số định danh duy nhất khi nó được tạo ra. Timeout chỉ thời gian sống của session object, nếu user không refresh hay request một trang trong khoảng thời gian qui định, session sẽ kết thúc. Method Abandon hủy bỏ một session. Events Session_OnStart xảy ra khi user request lần đầu tiên 1 trang của ứng dụng Session_OnEnd xảy ra khi session end, hoặc khi không có request nào trong khoảng timeout (mặc nhiên là 20 phút) Các thông tin lưu giữ trong Session được giữ nguyên trong suốt thời gian session tồn tại và có giá trị trong cả tầm vực của session. Ví dụ: 2.3.4. Application object Application dùng để chia xẻ thông tin giữa các user của một ứng dụng nào đó. Một ứng dụng ASP được định nghĩa là tất cả các file .asp trong một thư mục ảo và các thư mục con của nó. Bởi vì Application object có thể được chia xẻ bởi nhiều user, nên hai phương thức Lock và Unlock bảo đảm nhiều user không thể thay đổi một property đồng thời. Methods: Lock: Ngăn chặn các user khác bổ sung property của Application object. Method này sẽ khóa các client khác không cho thay đổi các biến được lưu trữ trong application object, đảm bảo tại một thời điểm chỉ có một user được phép thay đổi và truy xuất các biến của object này. Unlock: Cho phép các user khác bổ sung các biến của Application object. Events: Application_OnStart Event-procedure được thi hành trước khi một session mới được tạo ra. Application_OnEnd Event-procedure được thi hành khi thoát khỏi application, ngay sau Session_OnEnd event. 2.3.5. Server object Property ScriptTimeOut khoảng thời gian chạy của một script Methods CreateObject tạo một instance cho một server component Cú pháp: Server.CreateObject(ProgID), trong đó ProgID là tên của đối tượng cần tạo. HTMLEncode áp dụng sự mã hóa HTML lên một string được chỉ định MapthPath ánh xạ một đường dẫn tương đối hoặc virtual tới một thư mục vật lý trên server. URLEncode mã hóa một string thành dạng URL 2.4. Sử dụng các Component của ASP Ngoài các Built-in object, ASP còn cung cấp sẵn một số ActiveX Server component, được thiết kế để chạy trên các Web server như là một phần của các ứng dụng Web. Mỗi một server component là một thư viện các Class (hay Object) được thiết kế ở dạng Automation Server, thực hiện một nhóm công việc chung nhất cho một thao tác nào, ví dụ như việc truy xuất cơ sở dữ liệu, truy xuất file… nhờ đó ta không phải tạo lại các chức năng này nữa. Tuy nhiên, ASP vẫn cho phép người lập trình có thể tạo riêng server component của mình và add vào ứng dụng Web. Các component được cài sẵn trong Active Server Pages gồm: Adrotator Browser Capabilities Database Access Content Linking File Access Tạo các instance của các component Dùng phương thức CreateObject của đối tượng Sever, cú pháp như sau: Server.CreateObject(“ComponentName”) Ví dụ: Tạo một đối tượng connection là Conn từ ADO component Trong phạm vi của Đồ án tốt nghiệp là tìm hiểu các công cụ của ASP hỗ trợ cho việc phát triển ứng dụng Web database, nên phần tiếp theo đồ án sẽ trình bày ADO component với các method và property của nó là điểm mạnh nhất của ASP trong việc truy xuất cơ sở dữ liệu. Database Access Component Database Access component còn gọi là thư viện ADO (ActiveX Data Object), các object của ADO cung cấp cơ chế tạo kết nối (connection) với hầu hết các kiểu database, cũng như việc truy xuất, cập nhật các database này. ADO Interface Các đối tượng trong ADO giao tiếp với database thông qua ODBC (Open Database Connectivity), chúng có thể được sử dụng với bất kỳ loại database nào nếu như có ODBC driver hỗ trợ. ASP cài đặt sẵn hầu hết các driver thông dụng như: Foxpro, Access, SQL server, Oracle. Data Source Active Server Pages ActiveX Database Component Data Provider Interface ODBC Driver ActiveX Data Objects Với Data Provider đại diện cho các phần mềm driver, nó cho phép ta giao tiếp với các loại dữ liệu khác nhau. Các Object trong ADO Gồm: Connection, RecordSet và Command. Sử dụng Connection ta có thể thiết lập sự liên kết với cơ sở dữ liệu, thông qua đó ta có thể lấy ra các record hoặc cập nhật một record bằng cách sử dụng Command object. Kết quả thực hiện các query trên database sẽ được lưu vào đối tượng RecordSet, trên đối tượng này ta có thể duyệt và lấy ra một hay nhiều record. 2.4.1. Connection object Trước tiên ta phải tạo instance cho đối tượng connection bằng phát biểu sau: <% Set Connection_Name=Server.CreateObject(“ADODB.Connection”) %> Khi cần có một liên kết cố định cho tất cả các trang ta có thể thiết lập cho đối tượng connection ở mức Application như sau: <% Sub Application_OnStart() Set Connection_Name=Server.CreateObject(“ADODB.Connection”) End Sub %> Hoặc thiết lập cho đối tượng connection ở mức Session: <% Sub Session_OnStart() Set Connection_Name=Server.CreateObject(“ADODB.Connection”) End Sub %> Các phương thức của đối tượng connection Open method : được sử dụng để mở một liên kết với Database. Ngay sau khi tạo instance cho Connection object, ta có thể mở một kết nối tới Data Source để truy xuất dữ liệu, cú pháp như sau: Connection.Open ConnectionString [User] [Password] trong đó ConnectionString là chuỗi định nghĩa tên của Data Source (DSN), tên này do ODBC tạo ra. [User] và[Password] là tên User và Password được database cho phép mở. Execute method: cho phép thực thi một câu lệnh tác động lên Data Source. Connection.Execute(CommandText,RecordsAffected,Options) Trong đó CommandText là chuỗi lệnh cần thực hiện, thông số option các các giá trị khác nhau qui định loại CommandText Giá trị Danh hiệu hằng tương ứng Loại của CommandText 0 adCmdUnknown Mặc định khi định nghĩa 1 adCmdText Là một câu lệnh ví dụ như SQL 2 adCmdTable Tên của table mà ta sẽ tạo một Recordset từ đó 4 adCmdStoreProc Một Stored procedure trong Data source Thông thường các giá trị trên được gán sẵn vào các danh hiệu hằng và được đặt trong file include có tên adovbs.inc. Close method: đóng các kết nối đã mở. Connection.Close 2.4.2 . Command object Thay vì dùng phương thức Execute của Connection để query hay update data source, ta có thể sử dụng đối tượng Command Methods CreateParameter: dùng để tạo một đối tượng Parameter Execute dùng để thực thi câu lệnh được đặc tả trong thuộc tính CommandText. Properties ActiveConnection Chỉ định đối tượng connection nào được sử dụng trong đối tượng Command CommandText Chỉ định câu lệnh cần thực hiện trên cơ sở dữ liệu CommandTimeout Xác định thời gian thực thi lệnh, giá trị thời gian này tính theo second. CommandType Cho biết kiểu của query đặc tả trong CommandText Prepared Tạo ra lệnh chuẩn bị trước khi thực thi. 2.4.3. Recordset object Là kết quả trả về khi thực thi một query, thực chất nó là một bảng trong bộ nhớ, ta có thể truy xuất các record của nó qua các phương thức và thuộc tính. Methods Open Mở recordset mới AddNew Tạo một record trong Recordset Update Cập nhật các thay đổi vào record hiện hành Delete Xóa record hiện hành Move Dịch chuyển con trỏ record hiện hành MoveFirst Đến record đầu tiên MoveNext Đến record kế tiếp MovePrevious Trở về record trước đó MoveLast Đến record cuối cùng Requery Thực hiện lại query tạo ra recordset GetRow Chứa các record vào một array Close Đóng lại đối tượng Recordset Properties AbsolutePosition Số thứ tự vị trí (vật lý) của record hiện tại BOF Là True nếu con trỏ nằm trước record đầu tiên EOF Là True nếu con trỏ nằm ở sau record cuối cùng CursorType Kiểu của con trỏ được sử dụng trong recordset RecordCount Trả về tổng số record trong recordset Tạo Recordset Trước tiên ta tạo instance cho recordset bằng phát biểu: Recordset_name= Server.CreateObject(“ADODB.Recordset”) Sau đó dùng phương thức Execute của đối tượng Connection hay Command để tạo ra recordset Recordset_name=ConnectionObject.Execute(CommandText, Recordaffected, Options) hoặc Recordset_name=CommandObject.Execute(CommandText,Recordaffected, Options) Ta cũng có thể dùng phương thức Open của Recordset: Recordset_name.Open(Source,ActiveConnection,CursorType, LockType, Options) Trong đó: - Source là một CommandObject hay một lệnh SQL hoặc là Stored Procedure. - ActiveConnection là tên của Connection đã được mở kết nối với database. - CursorType là kiểu con trỏ sử dụng với recordset, thông số này có kiểu số và được gán trị qua các tên hằng tương ứng như sau: adOpenForwardOnly = 0 là giá trị mặc định, chỉ cho phép duyệt các record theo một chiều từ trên đầu đến cuối, không cho phép cập nhật hay xóa bỏ các record trong đó. adOpenKeyset = 1 Chế độ này cho phép cập nhật các record, nhưng cấm truy xuất đến record của user khác thêm vào recordset. adOpenDymamic = 2 Chế độ này cho phép tất cả thao tác trên như: thêm vào, loại bỏ, cập nhật và duyệt theo tất cả chiều lên xuống tùy ý. adOpenStatic = 3 Gần giống như chế độ OpenForwardOnly. LockType là kiểu Locking sử dụng khi mở Recordset. adLockreadOnly = 1 không thể thay đổi dữ liệu khi mở với khóa này adLockpessimistic = 2 cho phép thay đổi dữ liệu trên Recordset, sự thay đổi này sẽ có tác dụng ngay lập tức trên data source adLockOptimistic = 3 locking record hiện hành chỉ khi ta gọi phương thức Update. adLockBatchOptimistic = 4 thực hiện việc cập nhật theo lô (batch update) Làm việc với Recordset thông qua Fields Collection Ta có thể truy xuất tới các Fields của từng record trong Recordset bằng cách sử dụng collection Fields với các thuộc tính Count, Item Recordset_name.Fields.Item(“tênfields”) trả về nội dung của field đó trong record hiện hành. Recordset_name.Fields.Item(Index) trả về nội dung của Field thứ index trong record hiện hành. Recordset_name.Fields(“Index”) trả về tên của field thứ index trong record hiện tại. Chú ý: Chỉ số của các field trong record được đánh số từ 0 cho tới giá trị Recordset_name.Fields.Count –1 2.5.ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA ASP Ưu điểm : ASP bổ sung cho các công nghệ đã có từ trước như CGI (Common Gateway Interface), Giúp người dùng xây dụng các ứng dụng web với những tính năng sinh động. Tuy nhiên, khác với CGI, các trang ASP không cần phải hợp dịch. Dễ dàng tương thích với các công nghệ của MicroSoft. ASP sử dụng ActiveX Data Object (ADO) để thao tác với cơ sở dữ liệu hết sức tiện lợi. Với những gì ASP cung cấp, các nhà phát triển ứng dụng web dễ dàng tiếp cận công nghệ này và nhanh chóng tạo ra các sản phẩm có giá trị. Điều này hết sức có ý nghĩa trong điều kiện phát triển như vũ bảo của tin học ngày nay. Nó góp phần tạo nên một đội ngũ lập trình web lớn mạnh. ASP có tính năng mở. Nó cho phép các nhà lập trình xây dựng các component và đăng ký sử dụng dễ dàng. Hay nói cách khác ASP có tính năng COM(Component Object Model) Khuyết điểm : ASP chỉ chạy và tương thích trên môi trường Window điều này làm ASP bị hạn chế rất nhiều. Dùng ASP chúng ta sẽ gặp không ít khó khăn trong việc can thiệp sâu vào hệ thống như các ứng dụng CGI. ASP không được sự hổ trợ nhiều từ các hãng thứ ba. Các ứng dụng ASP chạy chậm hơn công nghệ Java Servlet. Tính bảo mật thấp. Không giống như CGI hay Java servlet, các mã ASP đều có thể đọc được nếu người dùng có quyền truy cập vào web server. Có lẽ đây là lý do quan trọng nhất để người dùng không chọn công nghệ ASP. CHƯƠNG 3 : VBScript 3.1. VBScript là gì ? VBScript là một thành phần của ngôn ngữ lập trình Visual Basic . VBScript cho phép thêm các Active Script vào các trang Web. Microsoft Internet Explorer 3.0 có thể chạy được các chương trình VBScript chèn vào các trang HTML. Với VBScript ta có thể viết ra các form dữ liệu hay các chương trình Game chạy trên Web. Sự phát triển của VBScript : VBScript khởi đầu phát triển cho môi trường Client side. VBScript 1.0 được đưa ra như là một bộ phận của Internet Explorer 2.0 và VBScript cung cấp phần lớn các chức năng lập trình của ngôn ngữ Visual Basic . Sự khác nhau lớn nhất của VBScript và Visual Basic là VBScript ngăn chặn truy xuất file. Bởi vì mục tiêu chính của việc thiết kế VBScript là cung cấp một ngôn ngữ Script mềm dẽo nhưng ngăn ngừa các mục đích phá hoại từ phía Browser. Cùng với sự ra mắt của Internet Information Server 3.0 và Active Server Pages, VBScript 2.0 bây giờ có thể chạy trên Web Server. VBScript 2.0 mở rộng khả năng lập trình so với phiên bản đầu tiên mà đặt trưng là cho phép tự động nối kết tới ActiveX từ Web Server. Sự nối này cho phép khả năng truy xuất tới Cơ sở dữ liệu trên các Server và chạy các ứng dụng trên Server. 3.2. Kiểu dữ liệu của VBScript VBScript có một kiểu dữ liệu duy nhất được gọi là Variant. Variant là một kiểu dữ liệu đặc biệt có thể chứa các kiểu thông tin khác nhau tùy thuộc vào cách sử dụng của nó. Variant cũng là kiểu dữ liệu duy nhất được trả về bởi tất cả các hàm trong VBScript. Ví dụ một Variant có thể chứa dữ liệu là số hoặc chuỗi, nó được coi là số hoặc là chuỗi tùy thuộc vào ngữ cảnh sử dụng của nó. Variant có thể chứa các kiểu dữ liệu Subtype như trong bảng sau : Subtype Diễn giải Empty Variant mặc định giá trị 0 đối với biến kiểu số hoặc là chuỗi có chiều dài là 0 (“”) đối với biến chuỗi. Null Variant là Null. Boolean True hoặc False. Byte Chứa integer từ 0 tới 255. Integer Chứa integer từ -32,768 tới 32,767. Currency -922,337,203,685,477.5808 tới 922,337,203,685,477.5807. Long Chứa integer từ -2,147,483,648 tới 2,147,483,647. Single Chứa từ -3.402823E38 tới 3.402823E38. Double Chứa -4.94065645841247E-324 tới 4.94065645841247E-324 Date (Time) Chứa một số tượng trưng cho ngày từ 1/1/100 tới 31/12/ 9999 String Chứa một chuỗi có chiều dài có thể tới khoản 2 triệu kí tự Object Chứa một object. Error Chứa số của lỗi. 3.3. Biến Biến là một vị trí xác định trong bộ nhớ máy tính có giá trị thay đổi trong lúc Script đang chạy. Ta có thể tham khảo đến giá trị của biến hoặc thay đổi giá trị của nó bằng cách dùng tên của biến. Trong VBScript biến luôn luôn là một kiểu dữ liệu cơ bản đó là Variant. Khai báo biến : Khai báo biến bằng cách dùng từ khóa Dim, Public va Private . Ví dụ : Dim MyVar Dim Top, Bottom, Left, Right Biến có thể được khai báo ở bất kỳ nơi nào trong Script. Qui tắc đặt tên biến : - Biến phải bắt đầu bằng kí tự chữ - Không chứa các kí tự đặc biệt - Không quá 255 kí tự - Không được trùng tên trong phạm vi khai báo. Phạm vi của biến : Khi ta khai báo một biến trong Procedure thì chỉ trong Procedure mới có thể truy xuất hoặc thay đổi giá trị của nó, lúc đó nó được gọi là biến cục bộ (Cấp Procedure ). Đôi khi ta cần sử dụng biến ở phạm vi lớn hơn ví dụ như khi sử dụng ở tất cả Procedure trong Script thì ta khai báo ở bên ngoài Procedure (Cấp Script). Thời gian sống của biến : - Cấp Script : Bắt đầu từ lúc khai báo đến lúc kết thúc Script. - Cấp Procedure : Bắt đầu từ lúc khai báo cho đến lúc kết thúc Procedure . Gán trị cho biến : Ví dụ: Myvar = 10 Biến mảng (Array) : Ví dụ: Dim A(10) A(0) = 1 A(1) = 2 . . . . . . . A(10) = 11 Ta gán giá trị cho mỗi phần tử của mảng bằng cách sử dụng tên mảng và chỉ số. Phần tử đầu tiên của mảng có chỉ số là 0. Biến mảng không giới hạn số phần tử trong một chiều (dimension) và ta có thể khai báo một biến mảng có tới 60 chiều, nhưng thông thường ta chỉ sử dụng tối đa từ 3 đến 4 chiều. Mảng nhiều chiều được khai báo như sau : Ví dụ: MyArray(5,10) Ta cũng có thể khai báo biến mảng có kích thước thay đổi trong lúc chạy Script và được gọi là mảng động (dynamic). Ví dụ: Dim MyArray( ) ReDim MyArray(20) 3.4. Hằng Tạo hằng : Tạo hằng trong VBScript bằng cách dùng từ khóa Const và sau đó gán giá trị cho nó. Ví dụ: Const MyString MyString = “This is my string” Const MyAge MyAge = 32 Lưu ý rằng giá trị của hằng chuỗi phải được đặt trong 2 dấu nháy kép (“ “). Giá trị của hằng ngày tháng phải đặt trong 2 dấu (#). Ví du : Const MyDate MyDate = #16-06-68# 3.5. Toán tử (Operator) Độ ưu tiên của các toán tử : VBScript có đầy đủ các loại toán tử và có độ ưu tiên tuần tự theo các nhóm sau : Các toán tử toán học, các toán tử so sánh, toán tử nối chuỗi, và các toán tử Logic. - Các toán tử trong ngoặc ưu tiên hơn bên ngoài. - Nếu hai toán tử cùng độ ưu tiên như nhau ví dụ như toán tử cộng (+) và trừ (-) hay nhân (*) và chia (/) thì theo thứ tự ưu tiên từ trái sang phải. Bảng các toán tử : Toán học So sánh Logic Diễn giãi Kí hiệu Diễn giãi Kí hiệu Diễn giãi Kí hiệu Mũ ^ So sánh bằng = Phủ định Not Đảo dấu - So sánh khác Phép và And Nhân * So sánh nhỏ hơn < Phép hoặc Or Chia / So sánh lớn hơn > Phép Xor Xor Chia nguyên \ Nhỏ hơn hoặc bằng <= Tương đương Eqv Phần dư Mod Lớn hơn hoặc bằng >= Imp Cộng + So sánh hai đối tượng Is Trừ - Nối chuỗi & 3.6. Các cấu trúc điều khiển chương trình 3.6.1. Cấu trúc rẽ nhánh Nếu ta muốn chạy một lệnh đơn khi điều kiện If là đúng thì ta chỉ sử dụng một lệnh If . . .then . Ta cũng có thể dùng If. . .then. . .Else để xác định thực thi một trong 2 khối lệnh. Một khối thực thi khi điều kiện If là True Khối còn lại thực thi khi điều kiện If là False . 3.6.2. Cấu trúc lặp Sử dụng từ khóa While : Ví dụ: Sub ChkFirstWhile() Dim counter, myNum counter = 0 myNum = 20 Do While myNum > 10 myNum = myNum – 1 counter = counter + 1 Loop End Sub Sub ChkLastWhile() Dim counter, myNum counter = 0 myNum = 9 Do myNum = myNum – 1 counter = counter + 1 Loop While myNum > 10 End Sub Sử dụng từ khóa Until : Ví dụ: Sub ChkFirstUntil() Dim counter, myNum counter = 0 myNum = 20 Do Until myNum = 10 myNum = myNum – 1 counter = counter + 1 Loop End Sub Sub ChkLastUntil() Dim counter, myNum counter = 0 myNum = 1 Do myNum = myNum + 1 counter = counter + 1 Loop Until myNum = 10 End Sub Cách dùng Exit Do để thoát khỏi vòng lặp Ví dụ: Sub ExitExample() Dim counter, myNum counter = 0 myNum = 9 Do Until myNum = 10 myNum = myNum – 1 counter = counter + 1 If myNum < 10 Then Exit Do Loop End Sub For . . .Next : Được sử dụng khi biết trước số lần lặp. Sau mỗi lần lặp biến đếm tự động tăng lên một. Ví dụ: Sub DoMyProc50Times() Dim x For x = 1 To 50 MyProc Next End Sub Từ khóa Step : Sau mỗi lần lặp, biến đếm được tăng thêm một giá trị bằng với step Ví dụ : Sub TwosTotal() Dim j, total For j = 2 To 10 Step 2 total = total + j Next MsgBox “The total is “ & total End Sub Từ khóa Exit For : thoát khỏi vòng lặp For . . . Next 3.7. Procedures Trong VBScript có hai loại Procedure là Sub và Function. 3.7.1 Sub Procedure : Một Sub Procedure là một loạt các lệnh VBScript được đặt trong hai từ khóa Sub và End Sub. Sub Procedure thực thi các lệnh bên trong nó nhưng không trả lại giá trị. Sub có các đối số là hằng, biến hoặc là biểu thức được truyền vào khi ta thực hiện lệnh gọi Sub. Nếu Sub không có đối số thì sau tên Sub phải kèm theo cặp dấu ngoặc rỗng. 3.7.2 Function Procedure : Function là một loạt các lệnh VBScript được đặt trong hai từ khóa Function và End Function. Function có thể trả lại giá trị. Function có các đối số là hằng, biến hoặc là biểu thức được truyền vào khi ta thực hiện lệnh gọi Function. Nếu Function không có đối số thì sau tên Function phải kèm theo cặp dấu ngoặc rỗng. Một Function trả lại giá trị bằng cách gán giá trị cho tên của nó. Kiểu giá trị trả lại của Function luôn luôn là Variant. CHƯƠNG 4 : HTML THẬT LÀ ĐƠN GIẢN, HTML hay HyperText Markup Language, là một sự định dạng để báo cho Web browser làm thế nào để hiển thị một trang Web. Những tài liệu thật sự là những trang văn bản với những Tag đặc biệt hoặc những đoạn mã để một Web browser biết làm thế nào để thông dịch và hiển thị nó trên màn hình của bạn. 4.1. Cấu trúc Trang Web. Cấu trúc HTML Cấu trúc cơ bản cho mọi tài liệu HTML … … Tiêu đề Tài liệu … Ở bên trong … Chú Thích Các ghi chú và thông tin trong phần body nhưng không được browser hiển thị <!—blah à Màu Nền Cố định Định màu nền cho trang web. Tập tin Cấu trúc Nền Dùng một hình ảnh “lợp” kế nhau đầy trong trang web. <body background=”filename.gif”> Định màu Văn bản và Siêu Liên kết Định màu cho tất cả văn bản và siêu liên kết thành màu mong muốn. <body TEXT=#XXXXXX LINK=#YYYYYY VLINK=#00HH00> 4.2. Định dạng Văn bản Tiêu Đề Tiêu đề các mục có kích cở khác nhau, với n=1 to 6. Align=center để sắp tiêu đề vào giữa trang. … … Kiểu chữ Làm cho đậm, nghiêng, hay typewriter (chữ đánh máy). Làm cho gach dưới và gạch ngang … làm cho đậm … làm cho nghiên … làm chữ đánh máy … làm cho gạch dưới … Ký tự Đặc biệt Mã cho ký tự đặc biệt và các dấu phụ &xxxx; Kích thước Đổi kích thước phông lớn hơn hay nhỏ hơn kích thước thông thường. … … Màu Đổi màu đoạn văn được chọn với XXXXXX là mã màu hệ thập lục phân của trị màu RGB. … 4.3. Phân đoạn và Ngắt quãng Văn bản Paragraph Sang đoạn mới cùng với một dòng trống Line Break Sang dòng mới, không thêm dòng trống Chỉnh lề ở giữa Chỉnh tất cả vào giữa trang … … Division Chỉnh mọi thứ về bên trái, vào giữa, hay về bên phải của trang <div align= left|center|right> … Bảng để định nghĩa hàng trong bảng và để định nghĩa dữ kiện cho một phần tử. <table … <td … 4.4. SIÊU LIÊN KẾT Liên kết Siêu văn bản Cục bộ Liên kết đến tài liệu khác trong cùng directory/folder. hypertext Liên kết đến tài liệu khác trong directory/folder có tên là “data” nằm trong thư mục có tài liệu HTML gọi hypertext Liên kết đến tài liệu khác trong directory/folder cao hơn một cấp so với thư mục có tài liệu HTML gọi hypertext Uniform Resource Locator Địa chỉ các nguồn trên Internet: URL Liên kết Siêu văn bản của Internet Liên kết đến một Site Internet khác, được chỉ định bởi URL hypertext Liên kết Siêu Hình ảnh của Internet Hình ảnh Inline hoạt động như một siêu liên kết đến site được chỉ định bởi URL. Thêm thuộc tính border=0 để hủy bỏ hộp bao quanh hình ảnh <img src=”file.gif” border=0> PHẦN II XÂY DỰNG ỨNG DỤNG Giới thiệu về OAS Trên thế giới, các mô hình thương mại điện tử rất phổ biến, trong đó mô hình đấu giá trực tuyến cũng không phải là ngoại lệ. Đặc trưng cho mô hình đấu giá trực tuyến là trang web nổi tiếng ebay.com , nơi mà mọi người có thể rao bán những món hàng của mình, những người mua sẽ lần lượt trả giá, ai trả giá cao nhất sẽ mua được món hàng đó. Đây là một mô hình rất phát triển tại các nước công nghiệp. Những tập đoàn đa quốc gia như Amazon, Ebay đã rất thành công với dịch vụ này. Tại Việt Nam, với sự phát triển của Internet, nhu cầu tìm kiếm, cung cấp thông tin về hàng hoá và dịch vụ qua mạng ngày càng lớn và các website thông tin rao vặt đã rất phát triển. Hàng chục trang thông tin về rao vặt với một lượng tin khổng lồ về mua và bán đã phần nào đáp ứng nhu cầu này. Mỗi ngày người duyệt web có thể đăng tải và tìm thấy hàng nghìn thông tin về hàng hoá và dịch vụ. Tuy vậy , những thông tin tại đây đã bộc lộ những hạn chế như độ tin cậy hay hàng hoá và dịch vụ đã được bán hoặc mua mà không có báo cáo lại, tư cách thành viên không được kiểm tra và đánh giá thường xuyên sau mỗi giao dịch. Xuất phát từ thực tế đó, chúng tôi đã quyết định xây dựng 1 mô hình đấu giá trực tuyến nhằm chứng tỏ mức độ tin cậy của loại hình dịch vụ mới này. Tại tất cả các sàn đấu giá trực tuyến, việc kiểm định và đánh giá tư cách người tham gia đấu giá (dù là người bán hay người mua) có một vai trò quan trọng. Do vậy mà các hình thức kiểm tra nghiêm ngặt phải được thực hiện thường xuyên bởi các quản trị viên website . Thế là OAS – trang web đấu giá trực tuyến ra đời! Vậy đấu giá trực tuyến là gì? Thực chất đấu giá trực tuyến không có gì khác phương pháp đấu giá “truyền thống” mà có thể bạn đã tham gia đôi lần . Người bán rao bán mặt hàng của mình, bạn trả giá và sẽ thắng đấu giá nếu bạn trả giá cao hơn những người tham gia đấu giá khác. Điểm khác cơ bản của đấu giá trực tuyến là nó được tổ chức trên internet. Chính vì thế mà chúng tôi hy vọng sẽ giúp tiết kiệm tối đa thời gian , công sức cho cả người bán và người mua, và nhờ đó sẽ góp phần đưa phương thức mua bán đầy tiện ích này vào cuộc sống thường nhật của mỗi chúng ta. Hãy hình dung vào những trưa hè nắng nóng hay ngày đông rét buốt, ta thoải mái “đi dạo” những “gian hàng” yêu thích mà không phải bước chân ra khỏi nhà để hứng cái nắng như thiêu như đốt hay những làn không khí lạnh cắt da cắt thịt , chẳng tiện lợi lắm sao ? Hơn nữa , chúng tôi tin rằng đây là hình thức mua và bán có lợi nhất cho cả người mua và người bán . Trước hết , vì nó giúp hạn chế những khâu trung gian , do đó giảm đáng kể giá thành mặt hàng . Sau nữa , nó là cách tốt nhất để “cung” và “cầu” gặp nhau, tránh được việc ra giá hay trả giá một cách chủ quan, quá thấp hay quá cao. Tại sao lại “ OAS ” ? “ OAS ” đến hoàn toàn tình cờ khi chúng tôi cần một cái tên cho đề án đang trong giai đoạn phát triển . Chúng tôi thấy “ OAS “ là 1 cái tên thật dễ nhớ và cũng phản ánh khá rõ nét mục đích trang web của chúng tôi _ “ Online Auction Service”. Chúng tôi muốn OAS trở thành một siêu thị trực tuyến sầm uất , nơi hàng triệu nhu cầu “cung” và “cầu” gặp nhau, nơi bạn có thể mua và bán tất cả mọi thứ. Tất nhiên, đó là một mục tiêu đầy tham vọng và không thể đạt được trong ngày một, ngày hai. Nhưng chúng tôi tin rằng với một dịch vụ ngày càng hoàn thiện hơn và thật sự đáp ứng được nhu cầu của đông đảo người tiêu dùng, OAS sẽ phát triển lớn mạnh trong một ngày không xa. Và chính bạn là người sẽ quyết định điều đó ! Trang web của chúng tôi được thiết kế với giao diện dễ nhìn với ngưòi sử dụng. Do đó, mọi người đều có thể truy cập và sử dụng trang web này. Về mặt khách hàng , do những điều kiện khách quan, hiện thời trang web đấu giá OAS chỉ phục vụ những khách ở Việt Nam. Vì vậy, phạm vi áp dụng hệ thống của OAS sẽ chỉ tập trung ở Việt Nam .Công bằng mà nói , trong một môi trường với các hoạt động về thương mại điện tử còn manh mún và hành lang pháp lý trong lĩnh vực này còn chưa được hoàn thiện ở Việt Nam thì việc thực hiện đấu giá trực tuyến của OAS thực sự đã vấp phải nhiều hạn chế. Trên thực tế , những giao dịch tại website của chúng tôi đều chỉ " trực tuyến một nửa ". Có nghĩa là việc thỏa thuận giữa hai bên được thực hiện qua mạng . Nhưng đến phần trao tiền và hàng thì các đối tác hoặc là phải gặp nhau trực tiếp , hoặc " cầu viện " đến dịch vụ của bưu điện . Những rắc rối vì hành lang pháp lý chưa thông suốt cũng đã dẫn đến sự rườm rà trong việc đăng kí làm thành viên chính thức ở trang web OAS. Chúng tôi biết sẽ có nhiều khách hàng có thể sẽ nản lòng vì sự rườm rà này. Tuy nhiên, để đảm bảo an toàn giao dịch cho cả người mua lẫn người bán , chúng tôi dự định sẽ tiếp tục duy trì cách thức hoạt động này đến khi luật giao dịch được ban hành. Hy vọng luật giao dịch điện tử sẽ sớm được áp dụng trong 1 ngày gần đây nhằm tạo sự thuận tiện cũng như lòng tin cho người tham gia giao dịch. Đồng thời việc ra đời luật giao dịch sẽ tạo điều kiện cho chúng tôi trong nỗ lực trực tuyến hoá hoàn toàn sàn giao dịch điện tử. Phát triển 1 dịch vụ mới mẻ không phải là điều dễ dàng chút nào . Tuy nhiên, như người Việt Nam thường nói : “ tiếng lành đồn xa ”, chúng tôi tin tưởng rằng với một dịch vụ ở đẳng cấp cao đồng thời rất quan tâm đến người sử dụng , OAS sẽ dần tạo được chỗ đứng cho mình trong lòng đông đảo người tiêu dùng Việt Nam luôn sẵn sàng đón nhận cái mới. Chúng tôi không giấu diếm tham vọng của mình là đưa đấu giá trực tuyến vào cuộc sống thường ngày tại Việt Nam. Có thể số lượng thông tin tại sàn đấu giá trực tuyến OAS chưa thật phong phú do mới bắt đầu, nhưng với những ưu điểm nổi trội của mình, sàn đấu giá trực tuyến của chúng tôi hoàn toàn có thể phát triển và quan trọng hơn là góp phần nâng cao văn hoá kinh doanh trên mạng . Chức năng hệ thống 1) Khách vãng lai : 1.1. Xem thông tin mặt hàng : khách hàng sẽ biết thông tin về sản phẩm giao dịch qua chức năng này Input : chọn mặt hàng cần xem Process : lấy thông tin từ cơ sở dữ liệu Output : hiển thị thông tin về mặt hàng (mã hàng, tên mặt hàng, loại mặt hàng, tên tài khoản chủ sở hữu mặt hàng, số lượng mặt hàng tham gia giao dịch, số lượng mặt hàng đã bán được, ảnh mặt hàng, giá mặt hàng, miêu tả về mặt hàng) 1.2. Tìm kiếm mặt hàng : tìm kiếm thông tin các mặt hàng giao dịch Input : nhập từ khóa của mặt hàng cần tìm kiếm Process : tìm kiếm thông tin thỏa mãn trong cơ sở dữ liệu Output : hiển thị các thông tin tìm được 1.3. Đăng kí thành viên : Input : thông tin về cá nhân (tên tài khoản, họ tên đầy đủ, mật khẩu tài khoản, địa chỉ e-mail, địa chỉ chi tiết nhà ở, số điện thoại, tên thành phố nơi ở, ngày sinh) Process : kiểm tra tính hợp lệ của form cập nhập cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 1.4. Xem các phiên giao dịch mới đăng hoặc sắp kết thúc : Input : chọn chức năng xem phiên giao dịch Process : lấy thông tin từ cơ sở dữ liệu Output : hiển thị thông tin về phiên giao dịch (tên hàng hoá tham gia giao dịch, số lượng hàng hoá bán trong phiên giao dịch, tổng giá trị giao dịch, ngày bắt đầu phiên giao dịch, ngày kết thúc phiên giao dịch, tên tài khoản người bán, tên tài khoản người bán, phương thức thanh toán,…) 2) Thành viên : Có đầy đủ các chức năng của khách vãng lai ở trên , ngoài ra còn thêm 1 số chức năng sau : 2.1. Tham gia đấu giá : thành viên có thể mua hàng thong qua chức năng này Input : giá trả cho mặt hàng Process : kiểm tra tính hợp lệ của đơn hàng cập nhập vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 2.2. Bán hàng : Input : thông tin chi tiết về mặt hàng cần bán (tên mặt hàng, loại mặt hàng, loại giao dịch : mua ngay hay đấu giá, số lượng mặt hàng, ảnh mặt hàng, giá khởi điểm mặt hàng, miêu tả về mặt hàng) Process : kiểm tra tính hợp lệ của form rao bán cập nhập vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 2.3. Sửa thông tin cá nhân : Input : thông tin cần sửa (tên tài khoản, password tài khoản, số điện thoại, địa chỉ email) Process: kiểm tra tính hợp lệ của form cập nhập vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 2.4. Gửi thông tin góp ý : Input : thông tin góp ý (nội dung góp ý, tiêu đề góp ý) Process : kiểm tra tính hợp lệ của form cập nhập góp ý vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 2.5. Đăng nhập : Input : password , tên tài khoản Process : đối chiếu với cơ sở dữ liệu xem có khớp không chuyển đến trang cá nhân Output : hiển thị thông báo thành công hay không thành công 2.6. Đăng xuất : Input : chọn chức năng đăng xuất Process : xóa session Output : hiển thị thông báo thành công 3) Admin : 3.1. Quản lý mặt hàng : 3.1.1. Xem thông tin mặt hàng : admin sẽ biết thông tin chi tiết về mặt hàng qua chức năng này Input : chọn mặt hàng cần xem Process : lấy thông tin từ cơ sở dữ liệu Output : hiển thị thông tin (mã mặt hàng, tên mặt hàng, loại mặt hàng, tên tài khoản chủ sở hữu mặt hàng, số lượng mặt hàng tham gia giao dịch, số lượng mặt hàng đã bán được, ảnh mặt hàng, giá mặt hàng, miêu tả về mặt hàng, loại giao dịch mặt hàng tham gia : mua ngay hay đấu giá, tình trạng kiểm định) 3.1.2. Thêm mặt hàng : thêm mặt hàng mới vào cơ sở dữ liệu Input : chọn chức năng thêm mặt hàng và điền thông tin về mặt hàng cần thêm (mã hàng, tên mặt hàng, loại mặt hàng,tên tài khoản chủ sở hữu mặt hàng, số lượng mặt hàng tham gia giao dịch, ảnh mặt hàng, giá mặt hàng, miêu tả về mặt hàng, loại giao dịch mặt hàng tham gia : mua ngay hay đấu giá, tình trạng kiểm định) Process : cập nhập mặt hàng mới vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 3.1.3. Xoá mặt hàng : xoá thông tin về mặt hàng Input : chọn chức năng xoá mặt hàng Process : xoá mặt hàng khỏi cơ sở dữ liệu Output : hiển thị thông báo thành công 3.1.4. Thêm loại mặt hàng : Input : chọn chức năng thêm loại mặt hàng mới và điền thông tin về loại mặt hàng cần thêm (mã loại mặt hàng, mã loại mặt hàng cha, tên loại mặt hàng) Process : cập nhập loại mặt hàng mới vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 3.1.5. Xoá loại mặt hàng : xoá thông tin về loại mặt hàng Input : chọn chức năng xoá loại mặt hàng Process : xoá loại mặt hàng khỏi cơ sở dữ liệu Output : hiển thị thông báo thành công 3.2. Quản lý thành viên : 3.2.1. Xem thông tin về các thành viên : xem thông tin cá nhân các thành viên Input : chọn thành viên cần xem thông tin Process : lấy thông tin từ cơ sở dữ liệu Output : hiển thị thông tin ra màn hình ( tên tài khoản, tên đầy đủ, password tài khoản, địa chỉ e-mail, địa chỉ nhà ở, số điện thoại, tên thành phố / tỉnh, tên quận / huyện, ngày sinh, tình trạng kiểm định) 3.2.2. Thêm thành viên : Input : chọn chức năng thêm thành viên mới và điền thông tin về thành viên cần thêm (tên tài khoản, tên đầy đủ, password, địa chỉ e-mail, địa chỉ nhà ở, số điện thoại, tên thành phố / tỉnh, tên quận / huyện, ngày sịnh, tình trạng kiểm định) Process : kiểm tra tính hợp lệ của form cập nhập thành viên mới vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 3.2.3. Xoá thành viên : xoá thông tin về thành viên Input : chọn chức năng xoá thành viên Process : xoá thành viên khỏi cơ sở dữ liệu Output : hiển thị thông báo thành công 3.3. Quản lý admin : 3.3.1. Xem thông tin về các admin : xem thông tin các admin Input : chọn admin cần xem thông tin Process : lấy thông tin từ cơ sở dữ liệu Output : hiển thị thông tin ra màn hình (tên tài khoản, họ tên đầy đủ, địa chỉ e-mail) 3.3.2. Thêm admin : Input : chọn chức năng thêm admin mới và điền thông tin về admin cần thêm (tên tài khoản, họ tên đầy đủ, mật khẩu, địa chỉ e-mail) Process : kiểm tra tính hợp lệ của form cập nhập admin mới vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 3.3.3. Xoá admin : Input : chọn chức năng xoá admin Process : xoá admin khỏi cơ sở dữ liệu Output : hiển thị thông báo thành công 3.3.4. Sửa thông tin admin : Input : thông tin admin cần sửa (tên tài khoản,password, địa chỉ e-mail) Process : kiểm tra tính hợp lệ của form cập nhập vào cơ sở dữ liệu Output : hiển thị thông báo thành công hay không thành công 3.4. Quản lý giao dịch : 3.4.1. Xem thông tin về các phiên giao dịch : Input : chọn phiên giao dịch cần xem thông tin Process : lấy thông tin từ cơ sở dữ liệu Output : hiển thị thông tin ra màn hình (mã phiên giao dịch, tên mặt hàng tham gia giao dịch, tên loại giao dịch : mua ngay hay đấu giá, tên tài khoản chủ sở hữu mặt hàng, tên tài khoản người mua, số lượng mặt hàng giao dịch, tổng giá trị giao dịch, thời gian bắt đầu giao dịch, khoảng thời gian giao dịch diễn ra, phương thức thanh toán, trạng thái hoàn thành) 3.4.2. Thay đổi trạng thái giao dịch : quyết định xem giao dịch đó đã hoàn thành hay chưa Input : chọn trạng thái hoàn thành giao dịch Process : cập nhập vào cơ sở dữ liệu Output : hiển thị thông báo thành công 3.4.3. Xoá giao dịch : Input : chọn chức năng xoá phiên giao dịch Process : xoá phiên giao dịch khỏi cơ sở dữ liệu Output : hiển thị thông báo thành công 3.5. Quản lý thông tin phản hồi : 3.5.1. Xem : xem thông tin phản hồi Input : chọn tiêu đề thông tin phản hồi muốn xem Process : lấy thông tin phản hồi từ cơ sở dữ liệu Output : hiển thị nội dung thông tin phản hồi 3.5.2. Xóa : Input : chọn chức năng xóa thông tin phản hồi Process : xóa thông tin phản hồi khỏi cơ sở dữ liệu Output : hiển thị thông báo thành công 3.5.3. Thay đổi trạng thái : quyết định xem thông tin phản hồi đó đã được duyệt hay chưa Input : chọn trạng thái duyệt thông tin phản hồi Process : cập nhập vào cơ sở dữ liệu Output : hiển thị thông báo thành công 3.6. Đăng nhập : Input : password , tên tài khoản Process : đối chiếu với cơ sở dữ liệu xem có khớp không chuyển đến trang admin Output : hiển thị thông báo thành công hay không thành công 3.7. Đăng xuất : Input : chọn chức năng đăng xuất Process : giải phóng session Output : hiển thị thông báo thành công Thiết kế hệ thống Sơ đồ quan hệ thực thể : Thiết kế database : A.Chi tiết các bảng : 1. Bảng Member : 2. Bảng Goods : 3. Bảng Transaction : 4. Bảng TransactionDetail : 5. Bảng Category : 6. Bảng Feedback : 7. Bảng Admin : 8. Bảng Cart : B.Sơ đồ quan hệ giữa các bảng : Sitemap : Khách vãng lai : Thành viên : Admin : Thuật giải : * Đăng ký thành viên: * Đăng nhập: * Tìm kiếm: * Thay đổi thông tin cá nhân: * Tham gia đấu giá: --------------------------------------------------------------------------- * Bán hàng: * Gửi góp ý: * Thêm thành viên: * Thêm phiên giao dịch: * Xóa thành viên: * Xóa phiên giao dịch: * Xóa thư góp ý: * Cập nhập tình trạng thư góp ý: (duyệt hay chưa duyệt) * Cập nhập tình trạng giao dịch: (kết thúc hay chưa) * Cập nhập tình trạng kiểm định thành viên: * Xem danh sách các đấu giá: (mới đăng/sắp kết thúc) --------------------------------------------- * Thêm admin: * Xóa admin: * Thay đổi thông tin cá nhân admin: MUÏC LUÏC PHẦN I: CƠ SỞ LÝ THUYẾT Trang CHƯƠNG 1: TỔNG QUAN VỀ INTERNET VÀ INTRANET 1 1.1. Internet là gì? 1 1.2. Intranet là gì? 1 1.3. Mô hình Client/Server là gì? 1 1.4. Personal Web Server là gì? 4 1.5. Internet Information Server là gì? 8 CHƯƠNG 2: ACTIVE SERVER PAGES 9 2.1. Giới thiệu Active Server Pages 9 2.1.1. Active Server Pages là gì 9 2.1.2. Hoạt động của một trang ASP 9 2.1.3. Mô hình của Active Server Pages 9 2.2. Cách viết file ASPScript 10 2.3. Các Built-In Object của ASP 13 2.3.1. Request Object 14 2.3.2. Response Object 16 2.3.3. Session Object 20 2.3.4. Application Object 21 2.3.5. Server Object 21 2.4. Sử dụng các Component của ASP 22 2.5. Ưu điểm và nhược điểm của ASP 28 CHƯƠNG 3: VBSCRIPT 30 3.1. VBScript là gì? 30 3.2. Kiểu dữ liệu của VBScript 30 3.3. Biến 31 3.4. Hằng 33 3.5. Toán tử 33 3.6. Các cấu trúc điều khiển chương trình 34 3.7. Procedures 37 CHƯƠNG 4: HTML 38 4.1. Cấu trúc trang Web ? 38 4.2. Định dạng văn bản 39 4.3. Phân đoạn và ngắt quảng văn bản 40 4.4. Siêu liên kết 41 PHẦN II: XÂY DỰNG ỨNG DỤNG I. Giới thiệu về OAS 43 II. Chức năng hệ thống 45 1. Khách vãng lai 47 2. Thành viên 47 3. Admin 49 III. Thiết kế hệ thống 53 3.1. Sơ đồ quan hệ thực thể 53 3.2. Thiết kế database 54 3.3. Sitemap 58 3.4 Thuật giải 61

Các file đính kèm theo tài liệu này:

  • docQL14.doc