Nh qu ntr àả ị
3.1. Ngôn ng ASP ữ
Khi một trang ASP được trình duyệt Web yêu cầu, đầu tiên Web Server sẽ duyệt tuần tự trang ASP này và chỉ thực hiện dịch những câu lệnh kịch bản ASP, kết quả là một trang “thuần HTML” sẽ được đưa ra Browser.
Tuỳ 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 hoặc chỉ trả về sau khi
đã dịch xong tất cả các kịch bản. Người duyệt sẽ không thấy những dòng lệnh kịch bản ASP, bởi vì nó đã được thay thế bằng các giá trị kết quả của quá trình thực thi trên Server. Nói cách khác mã kịch bản ASP sẽ được xử lý trên các Web server và chỉ chuyển thông tin văn bản và HTML thuần tuý cho các Browser.
Mô hình ứng dụng Web thể hiện qua công nghệ ASP được biểu diễn như sau:
Trong đó:
Web server là nơi tiếp nhận và trả lời các yêu cầu của người dùng Web( Client), đồng thời cũng thực hiện việc kết nối đến hệ DBMS (hệ quản trị cơ sở dữ liệu) trên Database server theo yêu cầu truy cập dữ liệu của trang ASP. ADO cung cấp giao diện lập trình cho người phát triển xây dựng các lệnh truy cập cơ sở dữ liệu. Các lệnh này được chuyển đến cho hệ DBMS để thi hành thông qua các thành phần OLE DB ( và ODBC). Kết quả truy vấn cơ sở dữ liệu sẽ được Web server đưa ra hiển thị trên trình duyệt.
Database server là nơi diễn ra việc thực thi các thao tác cơ sở dữ liệu như truy vấn, cập nhật, cũng như đảm bảo tính toàn vẹn của hệ DBMS.
Browser - giao diện với người dùng, là nơi tiếp nhận yêu cầu của người dùng, cũng như hiển thị kết quả yêu cầu. Ngoài ra, trình duyệt còn là
33 Trình duyệt Web Client ASP A D O O L E D B O D B C DBMS SQL Server DB server HTTP Web server
nơi để kiểm tra sơ bộ tính hợp lệ của dữ liệu trước khi chuyển đến cho Web server.
3.1.3. Đặc điểm của ASP
Các kịch bản ASP thông thường chỉ chạy trên các server cài IIS (Microsoft Internet Information Server). Do môi trường hoạt động là Internet nên một kịch bản ASP được viết có thể sử dụng ở mọi nơi, không cần trình biên dịch hay kết nối. Vì vậy ASP cho phép tạo ra các ứng dụng Web thương mại có khả năng tương tác, chứ không chỉ đơn thuần là phổ biến nội dung tĩnh như những trang Web HTML thuần tuý.
Chúng ta có thể thấy được nhưng ưu thế nổi bật của ASP như:
• So với một ngôn ngữ lập trình máy chủ khác như CGI, Perl,… thì ASP dễ học hơn.
• Dễ dàng tương thích với các công nghệ 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
• ASP có tính năng truy cập cơ sở dữ liệu rất tốt, nhất là với SQL Server.
• ASP có tính năng mở, cho phép các nhà lập trình xây dựng các thành phần và đăng ký sử dụng dễ dàng
Ngoài những ưu điểm đó ASP vẫn tồn tại một số hạn chế cần khắc phục như:
• ASP chỉ chạy và tương thích trên môi trường Windows.
• Chế độ bảo mật chưa cao, vì ASP chạy trên các server với hệ điều hành mạng của Microsoft, có tính bảo mật hệ thống kém so với UNIX. 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….
Đối tượng là những đoạn chương trình có khả năng thực hiện một số công việc cơ bản nào đó. Mỗi đối tượng là một kết hợp giữa lập trình và dữ liệu, vốn có thể xử lý như một đơn vị thống nhất. Các đối tượng ASP cho phép chúng ta giao tiếp, tương tác với cả máy chủ (Web server) lẫn trình duyệt (Browser). ASP có 6 đối tượng cơ bản, mối quan hệ giữa chúng thể hiện bởi sơ đồ sau:
Trong đó:
• Request: Đối tượng Request nhận tất cả các giá trị mà trình duyệt của Client gửi đến Server thông qua một một yêu cầu HTTP (HTTP
35 ứng dụng ASP Đối tượng Application
Đọc thông tin từ Application
Đối tượng Session (1 uer) Đối tượng Session (1 uer) Cập nhật thông tin cho Application
Liên lạc qua IIS, chia sẻ thông tin giữa các người sử dụng Quản lý quá trình và tài nguyên của ứng dụng
Internet Information Server I/O: Đối tượng Request và Response
Liên lạc với Browser qua Internet
Browser
Request). Những thông tin này gồm có các số của mẫu biểu (Form) khi được đệ trình (Submit) bằng phương thức POST hay GET.
• Response: Đối tượng Response là chìa khoá để gửi thông tin vừa xử lý cho các Client yêu cầu, là đại diện cho phần thông tin do server tra về cho trình duyệt Web.Chúng ta có thể viết lên màn hình, chuyển trình duyệt đế một URL khác, tạo hoặc thiết lập một Cookie trên máy khách.
• Application: Dùng để chia sẻ thông tin giữa các người dùng trong cùng một ứng dụng, chẳng hạn đếm số lần truy cập đến ứng dụng của các người dùng.
• Server: Cung cấp nhiều phương thức và thuộc tính dùng cho truy cập server, là đối tượng dùng để quản lý những đặc trưng của Internet Information Server Web Server và các hành động liên quan tới dịch vụ HTTP.
• Session: Dùng để lưu trữ thông tin cần thiết trong phiên làm việc của người dùng đã truy cập vào Website. Session là đối tượng được Web server tự động tạo khi người dùng gọi trang Web đầu tiên trong ứng dụng. Nó sẽ tồn tại cho đến khi phiên làm việc (session) bị huỷ hoặc hết hiệu lực (time out). Thông tin lưu trữ trong phiên làm việc với người dùng xác định là duy nhất và không thể chia sẻ hay truy xuất với những người dùng khác nhau. Khi muốn lưu một khoản mục thông tin (item) trong đối tượng session thì phải yêu cầu người dùng cho phép lưu trữ cookie trong trình duyệt Web, đối tượng cho phép tạo ra những biến ứng với từng người dùng.
Session trong ASP được nhận biết bởi một Session ID gán cho mỗi trình duyệt. Khi trình duyệt mở ra ứng dụng với trang Web bất kì của Website, Session ID có giá trị là một dãy số ngẫu nhiên được lưu trữ trên client.
• ObjectContext: Sử dụng ObjectContext để chấp nhận hay hủy bỏ một giao dịch (transaction) do một kịch bản ASP khởi tạo.
3.2. JavaScript
JavaScript là một ngôn ngữ kịch bản được Nescape xây dựng, giúp tạo các ứng dụng trên Internet và nó có thể thi hành tốt với hầu hết các trình duyệt. Mục đích của việc sử dụng JavaScript nhúng trong HTML nhằm kết hợp với ASP làm tăng thêm tính thân thiện với người dùng và đảm bảo thuận tiện hơn trong việc kiểm tra dữ liệu nhập vào của người sử dụng.
Cú pháp các câu lệnh của Java giống ngôn ngữ lập trình C nên đối với những người đã học qua ngôn ngữ C thì việc làm quen với JavaScript không phải là khó.
Cú pháp:
<%@ Language=”JavaScript” %>
hoặ <Script Language=”JavaScript” Runat=”Server”> <!--
-- > </Script>
3.2.1. Khai báo và sử dụng biến
Để khai báo biến trong JavaScipt cần sử dụng từ khoá Var đi trước tên biến, biến có thể khởi tạo giá trị trong khi khai báo hay có thể gán khi dùng. VD: var i=0;
var x,y;
Sử dụng biến: Tương tự như trong C VD: i++ // i=i+1;
i+=2 // i=i+2;….
3.2.2. Các phép toán
Các phép toán được sử dụng như trong C VD == So sánh bằng. != So sánh khác nhau. || So sánh or && So sánh and ! So sánh not …
3.2.3. Các phát biểu có điều khiển
- Phát biểu IF
- Phát biểu IF…ELSE - Phát biểu WHILE - Phát biểu FOR
- Phát biểu SWITCH…CASE
- Phát biểu BREAK, CONTINUE và RETURN BREAK : Thoát khỏi vòng lặp
CONTINUE : Trở lại đầu vòng lặp để thực hiện lần lặp kế tiếp RETURN : Xác định giá trị trả lại của một hàm
3.2.4. Các đối tượng JavaScript String: Chứa chuỗi ký tự.
Math: Cung cấp hằng số và hàm toán học.
Navigator: Chứa thông tin về phiên bản Navigator hiện hành đang được sử dụng trên máy Client.
Window: Đối tượng có mức cao nhất, hay còn gọi là đối tượng đỉnh trong chế độ phân cấp đối tượng của JavaScript. Nó liên quan tới cửa sổ Navigator đang mở hiện hành. Do vậy, chúng ta không cần gọi tên đối tượng window
khi tham chiếu các đối tượng, phương thức và thuộc tính của nó.
Document: Đối tượng cơ sở, được tạo khi nạp trang với thẻ <BODY>và được sử dụng để viết các thông tin khác tới trang.
History: Bắt nguồn từ menu GO, chứa thông tin liên kết URL của các lần thăm trang trước đó.
Form: Đối tượng để truy xuất dữ liệu, được tạo bởi thẻ html <FORM>.
Link: Đối tượng định vị, cung cấp thông tin về liên kết đang tồn tại, định nghĩa liên kết mới.
Location: Chứa thông tin URL đầy đủ của tài liệu hiện hành.Mỗi thuộc tính của Location chứa một phần chia khác nhau của URL.
3.2.5. Ví dụ
* Kiểm tra thông tin đăng ký khách hàng: function ktra_reg() { user=a.user.value; pass1=a.pass.value; pass2=a.pass2.value; ten=a.ten.value; email=a.email.value; diachi=a.diachi.value; phone=a.phone.value; loi=0; tb="Mời bạn vui lòng nhập ";
if(user=="") {tb+="tên đăng nhập, "; loi++;} if(pass1=="") {tb+="mật khẩu, "; loi++;} if(ten=="") {tb+="họ tên, "; loi++;} if(email=="") {tb+="email, "; loi++;}
if(phone=="") {tb+="số điện thoại, "; loi++;} if(diachi=="") {tb+="địa chỉ, "; loi++;}
if(loi>0) {alert(tb); return false;} else
if (pass1!=pass2){ loi++; tb="Mật khẩu xác nhận không khớp"; alert(tb); a.pass.focus(); return false; } } if (loi==0) {document.forms.a.submit();} else {return false;}
}
3.3. VBScript
VBScript là ngôn ngữ kịch bản được Microsoft xây dựng, nó có cú pháp giống Visual Basic
Cú pháp:
<%@ Language=”VBScript” %>
hoặc <Script Language=”VBScript” Runat=”Server”> <!--
-- > </Script>
3.3.1. Kiểu dữ liệu
Kiểu dữ liệu Diễn giải
Empty Dữ liệu trống
Null Dữ liệu không hợp lệ
Boolean Giá trị logic True hoặc False Byte Kiểu số nguyên ( 0 -> 255 )
Long Kiểu số nguyên dài (-2147483648 -> 2147483648 ) Single Kiểu số chính xác đơn
Double Kiểu số chính xác kép
Date Kiểu ngày
String Kiểu chuỗi Object Kiểu đối tượng Error Chứa một số lỗi
3.3.2. Câu lệnh
3.3.3. Cấu trúc điều khiển chương trình
- Câu lệnh IF…END IF
- Câu lệnh IF…ELSE…END IF - Cấu trúc chọn lựa SELECT CASE - Cấu trúc lặp FOR…NEXT
- Cấu trúc lặp FOR EACH… NEXT - Cấu trúc lặp DO…LOOP
3.3.4. Đối tượng VBScript
Tên Diễn giải
Call Gọi một hàm hoặc thủ tục con Const Khai báo một giá trị hằng
Dim Khai báo biến
Erase Giải phóng một mảng động
Exit Thoát khỏi một thủ tục hoặc câu lệnh điều kiện Function Khai báo một hàm
On Error bẫy lỗi
Option Explicit Bắt buộc khai báo biến trước khi sử dụng Private Khai báo các biến riêng
Puplic Khai báo các biến dùng chung
Randomize Khởi động bộ phát sinh số ngẫu nhiên Redim Định nghĩa lại các biến mảng động Rem Câu lệnh chú thích chương trình
Set Gán một đối tượng tham chiếu tới một biến hoặc một thuộc tính
Sub Khai báo thủ tục
Dictionary: Đối tượng lưu khóa và nội dung dữ liệu. Err: Chứa các thông báo lỗi khi chạy kịch bản.
FileSystemObject: Cung cấp các truy xuất tới một hệ thống tập tin máy tính. TextStream: Cung cấp truy xuất tập tin tuần tự.
3.4. Cơ sở dữ liệu SQL Server
SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (Relation
Database Management System-RDBMS) sử dụng Transact-SQL để trao đổi
dữ liệu giữa Client Computer và SQL Server Computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS .
Trong hầu hết các cơ sở dữ liệu hiện nay, RDBMS không những lưu trữ dữ liệu mà còn quản trị hệ cơ sở dữ liệu bằng cách kiểm soát những dữ liệu nào được nhập vào và những dữ kiệu nào đó để truy xuất ra khỏi hệ thống. RDBMS cho phép lưu trữ dữ liệu cùng với những nguyên tắc ràng buộc dữ liệu do người dùng hay hệ thống định nghĩa.
3.4.1. Các thành phần của SQL Server
• Database: cơ sở dữ liệu của SQL Server
• Tập tin log: tập tin lưu trữ chuyển tác của SQL
• Tables: bảng dữ liệu
• Filesgroups: tập tin nhóm
• Diagrams: sơ đồ quan hệ
• Views: Khung nhìn (hay bảng ảo) số liệu dựa trên bảng
• Stored Procedure: thủ tục và hàm nội
• User defined Function: hàm do người dùng định nghĩa
• Users: người sử dụng cơ sở dữ liệu
• Roles: các quy định vai trò và chức năng trong hệ thống SQL Server
• Rules: những quy tắc
• User-defined data types: kiểu dữ liệu do người dùng tự định nghĩa
• Full-text catalogs: tập phân loại dữ liệu text
3.4.2. Các đối tượng của cơ sở dữ liệu
• Bảng – Table
• Chỉ mục – Index
• Bẫy lỗi – Triggers
• Ràng buộc – Constraints
• Diagram – Lược đồ quan hệ
• Thủ tục nội – Stored Procedure
• Sử dụng kiểu dữ liệu Cursor (Cursor type)
3.4.3. Các phát biểu cơ bản của T-SQL
T-SQL (Transact – SQL) bao gồm các phát biểu như SELECT (chọn lọc mẩu tin), INSERT ( thêm mẩu tin), DELETE (xoá mẩu tin), UPDATE (cập nhật). Trong đó, phát biểu SELECT hay được sử dụng nhất, đây là phát biểu cơ bản dùng để truy vấn dữ liệu từ một hay nhiều bảng khác nhau, kết quả trả về một tập tin thoả mãn các điều kiện cho trước nếu có, cú pháp của phát biểu SQL dạng SELECT như sau:
Select <Danh sách các cột> [From <Danh sách bảng>]
[Where <Các điều kiện ràng buộc>]
[Group by <Tên cột/biểu thức trong Select>] [Having <Điều kiện bắt buộc của Group by>] [Order by <Danh sách cột>]
*Phát biểu SQL dạng Select với mệnh đề From
Phát biểu Sql dạng Select là một trong những phát biểu yêu cầu SQL Server làm gì đó trên cơ sở dữ liệu. Select dùng để đọc thông tin từ cơ sở dữ liệu theo những trường quy định, hay những biểu thức cho trường đó.
Mệnh đề From chỉ ra tên một bảng hay những bảng có quan hệ cần truy vấn thông tin.
VD
Select *
from tablename
*Phát biểu SQL dạng Select với mệnh đề Where
Khi dùng mệnh đề Where để tạo nên điều kiện cần lọc mẫu tin theo tiêu chuẩn nào đó, thông thường Where dùng cột (trường) để so sánh với giá trị, cột khác, hay biểu thức chứa cột (trường) bất kỳ có trong bảng.
Cú pháp:
Select *
From tablename Where conditions
Select field1, field2, field3 From tablename
Where conditions
3.4.4. Các hàm thông dụng trong SQL Server * Các hàm phát biểu Group by
- Hàm Avg: Hàm trả về giá trị bình quân của cột hay trường trong câu truy vấn
- Hàm Min: Hàm trả về giá trị nhỏ nhất của cột hay trường trong câu truy vấn
- Hàm Max: Hàm trả về giá trị lớn nhất của cột hay trường trong câu truy vấn
- Hàm Count: Hàm trả về số lượng mẫu tin trong câu truy vấn trên bảng - Hàm Sum: Hàm trả về tổng giá trị của trường, cột trong câu truy vấn
* Các hàm xử lý chuỗi
- Hàm ASCII: Hàm trả về giá trị mã ASCII của ký tự bên trái của chuỗi - Hàm Char: Hàm chuyển đổi kiểu mã ASCII từ số nguyên sang dạng
chuỗi
- Hàm Upper: Hàm chuyển chuỗi sang kiểu chữ hoa - Hàm Lower: Hàm chuyển chuỗi sang kiểu chữ thường - Hàm Len: Hàm trả về chiều dài của chuỗi
- Thủ tục LTRIM: Thủ tục loại bỏ khoảng trắng bên trái của chuỗi - Thủ tục RTRIM: Thủ tục loại bỏ khoảng trắng bên phải của chuỗi
* Các hàm về xử lý thời gian
- Hàm getDate: Hàm trả về ngày tháng năm của hệ thống
- Hàm DatePart: Hàm trả về một phần giá trị của một chuỗi dạng ngày tháng đầy đủ
- Hàm DateDiff: Hàm trả về số ngày trong khoảng thời gian giữa ngày - Hàm day: Hàm trả về ngày thứ mấy trong tháng
- Hàm month: Hàm trả về tháng thứ mấy trong năm - Hàm year: Hàm trả về năm
CHƯƠNG 4
MỘT SỐ GIAO DIỆN CỦA WEBSITE
Website được xây dựng bao gồm các trang chính sau:
Phần dành cho khách hàng
• Trang index.asp (intro.asp): Trang chủ của Website
• Trang login.asp: Đăng nhập hệ thống
• Trang logout.asp: Đăng xuất
• Trang news.asp: Trang tin tức