Xây dựng Website quản lý Album âm nhạc

LỜI NÓI ĐẦU Ngày nay máy tính đang đóng góp hết sức quan trọng trong cuộc sống của con người. Nó không đơn thuần chỉ là một cái máy tính, tính toán những phép tính, thực thi những nhiệm vụ cứng nhắc theo một tác vụ nào đó . Mà nó đã trở thành một công cụ để con người có thể vừa làm việc vừa giải trí. Một trong những công cụ mà có thể khiến con người vừa làm việc vừa giải trí đó là việc phát triển xây dựng các Website, internet và trang web không còn là khái niêm xa lạ nữa, mọi lứa tuổi đều biết internet, nó con là công cụ không thể thiếu được đối với mọi người và một số ngành nghề . Trang web khác với hồ sơ khác theo cách thức chúng được thiết kếđể có thể hiểu được bởi trình duyệt. Microsoft Internet Explorer(IE) và Netscape Navigator hiểu được các phần tử văn bản, đồ hoạ thậm trí các phần tử tương tác, như các From nhập, âm thanh, video và cho phép mọi người có thể truy cập chúng từ website. Internet đã dần được biết đến với tên gọi World, Wide, Web và vị trí của mạng được gọi là Website. Có thể nói trang web là một công cụ không thể thiếu được trong các lĩnh vực như: Âm nhạc, du lịch, văn hoá . Ngày nay âm nhạc là một nhu cầu không thể thiếu trong đời sống của mọi người. Chính vì vậy trang web ca nhạc nay giúp cho mọi người giải trí sau những phút làm việc mệt mỏi và thêm yêu âm nhạc hơn. Do con nhiều vấn đề nhiều yếu tố và các nguyên nhân khách quan cũng như chủ quan mà bài tập tốt nghiệp còn hạn chế và thiếu sót. Tuy nhiên em đã thực sự cố gắng hết mình thực hiện tốt những vấn đề trong bài phân tích, thiết kế và xây dựng trang web nên phần nào cũng có thể nói làđ ã hoàn thành được mục tiêu mà khoá luận đã đặt ra. MỤC LỤC Lời nói đầu 1 Chương1:các khái niệm cơ bản về ngôn ngữ HTML 2 1. Các khái niệm cơ bản 2 2. Ngôn ngữ HTML 2 Chương II:Active Server Pages và ngôn ngữ lập trình trên ASP 7 1. Giới thiệu về ACTIVE SERVER PAGES 7 2. Ngôn ngữ lập trinh sử dung với ASP .9 3. VISUALBASIC SCRIPT LANGUAGE (VBSCRIPT) 11 4. Những vấn đề liên quan đến việc xây dựng một ứng dụng trên ASP: 13 5. Các đối tượng (OBJECT) trong ASP .17 6. Các COMPONENT của ASP: .22 Chương IIIhân tích thiết kế hệ thống và xây dựng cơ sở dữ liệu cho website quản lý âm nhạc trực tuyến 27 3.1 Phân Tích và Thiết Kế Hệ Thống 27 3.2.Xây Dựng Cơ Sở Dữ Liệu .33 Chương IV: xây dựng giao diện người dùng và một số mã minh hoạ 40 4.1. Giao diện trang chủ 40 4.2. Giao diện đăng nhập 51 4.3. Giao diện thêm bài hát .53 4.4 Giao diện thêm ca sĩ mới 56 Chương V:Kết luận .60 Phụ Lục: các Tag của ngôn ngữ HTML 61

docx70 trang | Chia sẻ: lvcdongnoi | Ngày: 04/07/2013 | Lượt xem: 3610 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Xây dựng Website quản lý Album âm nhạc, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
file .asp nào đó. Để thay đổi scripting language chính cho toàn bộ môi trường ASP ta phải thay đổi tên scripting language trong giá trị của một registry entry của hệ thống có tên là Default Script Language . Ví dụ như trị mặc định là VBScript, ta có thể đổi lại là hay JScript , . . . Để thay đổi scripting language chính chỉ trong một file .asp nào đó, ta chỉ cần đặt ở đầu file một tag đặc biệt có dạng : với ScriptingLanguage là tên scripting language muốn đặt làm scripting language chính như VBScript, Jscript, . . . 2.3. Viết các procedure với nhiều ngôn ngữ: Như ta đã nói , một trong các đặc tính mạnh của ASP là khả năng kết hợp nhiều scripting language trong cùng một file .asp . Nếu biết tận dụng khả năng này ta có được một công cụ rất mạnh để thực hiện những công việc phức tạp. Một procedure là một nhóm các dòng lệnh script thực hiện một tác vụ nhất định. Ta có thể tạo ra các procedure để dùng nhiều lần trong các script. Có thể định nghĩa các procedure bên trong các delimeter (dấu phân cách) nếu như nó được viết bằng scripting language chính. Nếu không thì có thể dùng trong các tag . Ta có thể định nghĩa các procedure trong các file .asp có gọi đến nó hay trong các file riêng chỉ chứa các procedure rồi include file đó vào khi cần gọi procedure đó. Thường các file include trong ASP qui ước có đuôi là .inc . 3. VISUALBASIC SCRIPT LANGUAGE (VBSCRIPT) 3.1. Giới thiệu về VBScript: VBScript là một thành phần mới nhất trong họ ngôn ngữ lập trình Visual Basic, cho phép tạo ra những script sử dụng được trên nhiều môi trường khác nhau như các script chạy trên Browser của client (Ms Internet Explorer 3.0) hay trên Web server (Ms Internet Information Server 3.0). Cách viết VBScript tương tự như cách viết các ứng dụng trên Visual Basic hay Visual Basic for Application. VBScript giao tiếp với các ứng dụng chủ (host application) bằng cách sử dụng các ActiveX Scripting. 3.2. Các kiểu dữ liệu của VBScript : VBScript chỉ có một loại dữ liệu được gọi là Variant. Variant là một kiểu dữ liệu đặc biệt có thể chứa đựng những loại thông tin khác nhau tùy theo cách sử dụng. Dĩ nhiên nó cũng là kiểu dữ liệu được trả về bởi tất cả các hàm. ở đây đơn giản nhất một Variant có thể chứa thông tin số hoặc chuỗi tùy theo văn cảnh sử dụng. Các loại dữ liệu (subtype) mà Variant có thể biểu diễn là: Empty, null, boolean, byte, currency, date, time, string, object, error... VBScript có sẳn một số hàm để chuyển từ subtype này sang subtype khác. 3.3. Biến trong VBScript: Một biến là một tên tham khảo đến một vùng nhớ, là nơi chứa thông tin của chương trình mà thông tin này có thể được thay đổi trong thời gian script chạy.Ví dụ: có thể đặt một biến tên là ClickCount để đếm số lần user click vào một object trên một trang Web nào đó. Vị trí của biến trong bộ nhớ không quan trọng, ta chỉ truy xuất đến nó thông qua tên mà thôi. Trong VBScript biến luôn có kiểu là Variant. Khai báo biến: dùng phát biểu Dim, Public (cho biến toàn cục) hay Private (cho biến cục bộ). Ví dụ: Dim ClickCount Tên Biến phải bắt đầu bằng một kí tự chữ, trong tên biến không chứa dấu chấm, chiều dài tối đa là 255 kí tự và 1 biến là duy nhất trong tầm vực mà nó được định nghĩa. Tầm vực và thời gian sống của một biến: có 2 loại biến là procedure-level và script-level tương ứng với 2 cấp tầm vực là local và script-level. Thời gian sống của một biến script-level được tính từ khi nó được khai báo đến khi script kết thúc, đối với biến local là từ khi nó được khai báo đến khi procedure chứa nó kết thúc. Biến trong VBScript có thể là biến đơn hay là dãy. Khi khai báo Dim A(10) thì VBScript tạo ra một dãy có 11 phần tử (vì phần tử đầu có chỉ số là 0). Một biến dãy có thể mở rộng tối đa đến 60 chiều, nhưng thường dùng từ 2 đến 4 chiều. Có thể thay đổi kích thước một dãy trong thời gian chạy bằng cách dùng phát biểu ReDim. Ví dụ: Dim MyArray(25) ... ReDim MyArray(30) hay ReDim Preserve MyArray(30) ‘giữ lại các giá trị trong dãy cũ. 3.4. Hằng trong VBScript: Hằng là một tên có nghĩa đại diện cho 1 số hay chuỗi và không thể thay đổi trong quá trình chạy. Tạo một hằng bằng phát biểu Const. Ví dụ: Const MyString = “This is my string “ 3.5. Các toán tử trong VBScript: VBScript có các toán tử khác nhau như số học, luận lý, só sánh. Nếu muốn chỉ định thứ tự ưu tiên của toán tử một cách rõ ràng thì dùng dấu ngoặc ( ), còn không thì thứ tự ưu tiên như sau (từ trên xuống dưới, từ trái sang phải): - Số học: ^ , -(âm) , * , / , mod , + , - , &, \ (chia lấynguyên) - So sánh: = , , , = , Is. -Luận lý: Not , And , Or , Xor , Eqv , Imp. Toán tử * và / , + và - có cùng độ ưu tiên và được thực hiện từ trái sang phải. 3.6. Các cấu trúc điều khiển: If ... Then ... Else ... End IF Do ... Loop While ... Wend For ... Next 3.7. Procedure trong VBScript: Có 2 loại procedure là Sub và Function. - Sub procedure: là một chuỗi các phát biểu VBScript nằm trong phát biểu Sub và EndSub, thực hiện một số công việc và không trả về giá trị. - Function procedure: tương tự như Sub, nhưng trả về giá trị. Ngoài những kiểu dữ liệu, toán tử và cấu trúc điều khiển như đã giới thiệu ở bên trên ngôn ngữ Script còn rất nhiều hàm tạo nên sự sinh động cho chương trình( sẽ được giới thiệu trong phụ lục B). 4. NHỮNG VẤN ĐỀ LIÊN QUAN ĐẾN VIỆC XÂY DỰNG MỘT ỨNG DỤNG TRÊN ASP: Khi xây dựng một ứng dụng trên môi trường ASP để chương trình sinh động ta cần lưu ý khi : Xây dựng file Global.asa. Viết mã VBScript. Thêm các Object có sẵn vào chương trình. Sử dụng các ActiveX Server Component. Lấy thông tin từ user, gởi thông tin đến user. 4.1. File Global.asa: File Global là một file tùy chọn, trong đó bạn có thể khai báo các script đáp ứng biến cố, các đối tượng có tầm vực mức application (ứng dụng) hay session. Đây không phải là một file được nhìn thấy bởi các user, trái lại nó chứa những thông tin được sử dụng bởi ứng dụng một cách toàn cục. File này phải được đặt tên là Global.asa và được đặt trong thư mục gốc của ứng dụng. Mỗi ứng dụng chỉ có một file Global.asa duy nhất. Một file Global.asa có thể chứa các thành phần sau: Application events, Session events, định nghĩa các đối tượng. Nếu bạn viết những script không được bao bởi tag , hoặc định nghĩa các đối tượng không có tầm vực application hay session thì server sẽ trả về lỗi. Server bỏ qua những script có chứa những thành phần HTML mà các biến cố application và session không thể xử lýự như trong một file HTML thông thường. Những script trong file Global.asa có thể được viết bởi bất cứ ngôn ngữ nào có hổ trợ script. Nếu các đoạn script được viết bởi cùng một ngôn ngữ thì có thể kết hợp chúng trong một tag duy nhất. Khi bạn thay đổi file Global.asa và ghi lại nó thì server hoàn tất việc xử lý những yêu cầu ứng dụng hiện thời trước khi nó biên dịch lại file Global.asa, trong khoảng thời gian này server từ chối các yêu cầu khác và ra thông báo: "The request cannot be processed while the application is being restarted". Sau khi những request hiện tại được xử lý xong, server xóa bỏ tất cả các session đang chạy, gọi biến cố Session_OnEnd tương ứng với mỗi session mà nó xóa, tiếp theo gọi biến cố Application_OnEnd. File Global.asa được biên dịch lại. Request của user tiếp theo sẽ khởi động ứng dụng trở lại (gọi biến cố Application_OnStart và Session_OnStart). Tuy nhiên khi lưu lại những file được include trong Global.asa thì không gây nên biến cố này, muốn khởi động lại ứng dụng phải lưu lại file Global.asa.Những thủ tục định nghĩa trong Global.asa chỉ có thể gọi từ các script trong các biến cố: Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd. Các thủ tục này không thể gọi từ các trang ASP trong ứng dụng dựa trên ASP. Để "share" các thủ tục giữa các file ASP khác nhau trong một ứng dụng, cần định nghĩa chúng trong một file riêng rồi dùng lệnh Include để chèn chúng vào trong trang ASP có gọi thủ tục đó. Những file include thường có phần mở rộng là .inc. Các ví dụ về file Global.asa trong phần này dùng VBScript như là ngôn ngữ Script chính, mặc dù như đã nói các script có thể viết bằng nhiều ngôn ngữ khác (ví dụ Jscript…). 4.2. Khai Báo Đối Tượng Và Các Biến Cố: ° Biến cố Application : Application_OnStart: Xảy ra trước khi session đầu tiên được tạo, nghĩa là trước biến cố Session_OnStart, khi có yêu cầu đầu tiên đến một trang ASP của ứng dụng. Chỉ có các đối tượng Application hay Server Build-in là có thể sử dụng. Các tham khảo đến đối tượng Session, Request, Response sẽ gây ra lỗi. Cú pháp: Sub Application_OnStart … End Sub - Tham số ScriptLanguage: chỉ định ngôn ngữ Script dùng để viết cript.Thường sử dụng biến cố này để khởi động một số biến toàn cục, thông tin hệ thống. Application_OnEnd: Xảy ra trước khi đóng ứng dụng, sau khi biến cố Session_OnEnd cuối cùng xảy ra. Chỉ có các đối tượng Application hay Server Build-in là có thể sử dụng. Cú pháp: Sub Application_OnEnd … End Sub - Tham số: ScriptLanguage chỉ định ngôn ngữ Script dùng để viết script.Thường sử dụng biến cố này để xóa, cập nhật lại các thông tin hệ thống. ° Biến cố Session: Web server tự động tạo một session cho một người sư dụng khi một trang Web trong ứng dụng được yêu cầu. Server sẽ xóa bỏ một session khi nó Time-out hoặc method Abandon được gọi. Những biến cố Session : Session_OnStart, Session_OnEnd. Session_OnStart: Xảy ra khi server tạo một session mới. Bạn phải khai báo các biến có tầm vực session trong biến cố. Ta có thể tham khảo tất cả những đối tượng Build-In trong biến cố này. Cú pháp: Sub Session_OnStart … End Sub - Tham số: ScriptLanguage chỉ định ngôn ngữ Script dùng để viết script.Ta có thể gọi phương thức Redirect trong biến cố Session_OnStart, chẳng hạn để bảo đảm rằng NSD luôn bắt đầu từ một trang duy nhất. Khi NSD muốn mở ngay một trang khác nhau trang được chỉ định thì redirect sang đã chỉ định. Tuy nhiên cần chú ý là những Browser không hổ trợ cookies thì nó sẽ không lưu lại sessionID của nó nên bất cứ khi nào mở một trang mới thì server lại tạo một session mới. Ví dụ: Sub Session_OnStart Application.Lock Application("AccessNumber")=Application("AccessNumber")+1 Application.Unlock End Sub  Session_OnEnd: Xảy ra khi một session được đóng hoặc TimeOut. Dùng biến cố này để xóa các biến đã đặt trong quá trình sử dụng của User Cú pháp: Sub Session_OnEnd … End Sub ° Khai báo các : Bạn có thể tạo các đối tượng có tầm vực session hay application trong file Global.asa. đối tượng này thực sự được tạo ra khi server xử lý một script có tham khảo đến nó. Cú pháp: …. Tham số: Scope: chỉ định tầm vực của đối tượng, là "session" hay "application" Identifier: tên instance của đối tượng. ProgID: một danh định được kết hợp với danh định class. ProgID hay ClassID phải được chỉ định trong khai báo ClassID: danh định duy nhất cho một đối tượng lớp OLE. ProgID hay ClassID phải được chỉ định trong khai báo . Vd: CLASSCID=”Clsid:79176FBO-B7F2-11EF-00AA006D2776”ID=”spnTest” CODEBASE =”http:// activeX.microsoft.com/controls/mspert10.cab”> 5. CÁC ĐỐI TƯỢNG (OBJECT) TRONG ASP: Khi viết các script ta thường có nhu cầu thực hiện một số tác vụ nào đó theo một qui tắc cơ bản nào đó. Khi đó thường xuất hiện những công việc lặp đi lặp lại nhiều lần, từ đó xuất hiện nhu cầu tạo ra các đối tượng có khả năng thực hiện những công việc cơ bản đó. Mỗi đối tượng là một kết hợp giữa lập trình và dữ liệu mà có thể xử lý như một đơn vị thống nhất. Đối với phần lớn các đối tượng, để sử dụng được nó ta phải tạo ra các instance cho nó. Tuy nhiên ASP có sẵn năm đối tượng mà ta có thể dùng được mà không cần phải tạo các instance. Chúng được gọi là các build-in object, bao gồm : ° Request : Là đối tượng chứa các thông tin ở Web browser gửi yêu cầu tới Web server. ° Response : Là đối tượng chứa thông tin từ server gửi về cho Web browser. ° Server : Là môi trường máy server nơi ASP đang chạy, chứa các thông tin và tác vụ về hệ thống. °Apllication : Đại diện cho ứng dụng Web của ASP, chứa script hiện hành. ° Session : là một biến đại diện cho user. 5.1. Đối tượng Request: Định nghĩa: Với đối tượng Request, Các ứng dụng ASP có thể lấy dễ dàng các thông tin gởi tới từ user. Ví dụ khi user submit thông tin từ một form. Đối tượng Request 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 Các tham số gởi tới bằng phương thức POST Các tham số gởi tới bằng phương thức GET Các Cookies . Các Client Certificates. Cú pháp tổng quát: Request.(CollectionName)(Variable) Đối tượng Request: Có 5 Collection . Client Certificate: Nhận Certtification Fields từ Request của Web Browser. Nếu Web Browser sử dụng http:// để connect với server, browser sẽ gởi certification fields. Query String: Nhận giá trị của các biến trong HTML query string. Đây 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 phương thức POST. Cookies: Cho phép nhận những giá trị của cookies trong một HTML Request. Server Variable: nhận các giá trị của các biến môi trường. ° Một ví dụ 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ư thông qua: textboxes, Radio button, Check boxes… và hai phương thức gởi thông tin là POST và 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 3 cách: File .html chứa các form và gởi giá trị của nó tới một file . asp. File .asp có thể tạo form và gởi giá trị của nó tới một file .asp. 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 Query String". Việc sử dụng QueryString Collection làm cho việc truy xuất thông tin trở nên dễ dàng hơn. Nếu phương thức gởi từ form là GET, thì QueryString chứa toàn bộ thông tin gởi tới như các tham số đi đằng sau dấu chấm hỏi(?) trong address box. Nếu phương thức gởi là POST thì thông tin gửi đi sẽ dấu đi. Gởi thông tin trong cùng một file.asp:Asp cho phép một file.asp chứa form, khi user điền các giá trị vào formrồi gởi thì chính file .asp đó sẽ nhận các thông tin này và xử lý. Ví dụ: File " Example.asp" có nội dung như sau: Login user <% If IsEmpty(Request("Email") ) = 0 then Msg= " Vui lòng đánh địa chỉ của bạn" Else If InStr(Request("Email"),"@") = 0 then Msg="Vui lòng đánh địa chỉ trong " Else Msg=" Giá trị ở địa chỉ sẽ được thực thi" End if %> E.mail: Khi user điền vào form địa chỉ Email và Submit thì file example.asp này sẽ nhận thông tin bằng phát biểu: Value=" Đoạn script này sẽ tùy thuộc vào giá trị chuỗi ký tự nhận được có chứa 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 example.asp. 5.2. Đối tượng Response: Định nghĩa : Việc gởi thông tin tới cho user sẽ được thực hiện nhờ đối tượng Response. Cú pháp tổng quát: Response.Collection| property| method Collection của đối tượng Response : Cookies: Xác định giá trị biến Cookies.Nếu Cookies được chỉ ra không tồn tại, nó sẽ được tạo ra. Nếu nó tồn tại thì nó được nhận giá trị mới. Các Properties: Buffer: Chỉ ra trang Web output được giữ lại đệm buffer hay không. Khi một trang được đệm lại, Server sẽ không gởi một đáp ứng nào cho Browser cho đến khi tất cả các script trên trang hiện tại đã được thực thi xong hay phương pháp FLUSH or END được gọi. ContentType: Chỉ ra HTML content type cho response. Nếu không có ContentType nào được chỉ ra, trị mặc nhiên là “text/HTML”. Expires: Chỉ định số thời gian trước khi một trang được cached trên một browser hết hạn. ExpiresAbsolute: Chỉ ra ngày giờ của một trang được cache trên browser hết hạn. Status: Chỉ ra giá trị trạng thái được Server. Giá trị trạng thái được định nghĩa trong đặc tả HTTP. Các Methods: AddHeader: Thêm một HTML headervới một giá trị được chỉ định. Phương thức này luôn luôn thêm mới một header vào response. Nó sẽ không thay thế những header có sẵn cùng tên với header mới. AppendToLog: Thêm một chuỗi vào cuối file Log của Web server cho request này. BinaryWrite: Xuất thông tin ra output HTML dạng binary. Clear: Xóa đệm output HTML.Tuy nhiên , phương thức này chỉ xoá response body mà không xoá response header.Phương này sẽ sinh lỗi nếu như Response.Buffer chưa set thành TRUE. End: Dừng xử lý file .asp và trả về kết quả hiện tại. Flush: Gởi thông tin trong buffer cho client. Phương thức này sẽ sinh lỗi nếu Response.Buffer chưa set thành TRUE. Redirect: Gởi một thông báo cho browser định hướng lại đến một URL khác. Write: Ghi một biến ra HTML output như là một chuỗi. Ví dụ: - Đặt Response.Buffer = True cho phép đệm output cho đến khi xử lý xong hết trang. - Response.Write "Đây là thông báo xuất ra bằng Response" sẽ xuất ra chuỗi ký tự giữa hai dấu nháy kép. - Response.Clear : xóa hết nội dung của Buffer (chỉ sử dụng được khi Response.Buffer = True) - Response.Redirect "WebPage1.Html" sẽ xóa trang hiện tại và thay bằng trang WebPage1.Html tại Web Browser trên máy Client.  5.3. Đối tượng session: Định nghĩa: Chúng ta có thể sử dụng 1 object Session để lưu trữ thông tin cần thiết cho 1 user. Những biến được lưu trữ trong object vẫn tồn tại khi user nhảy từ trang này sang trang khác trong ứng dụng.Web server tự động tạo object session khi user chưa có session yêu cầu một trang Web. Khi session này kết thúc thì các biến trong nó được xóa để giải phóng tài nguyên. Các biến session có tầm vực trong session đó mà thôi. Cú pháp tổng quát: Session.property | method Các Properties: SessionID: Trả về SessionID cho user. Mỗi session sẽ được server cho một số định danh duy nhấtkhi nó được tạo ra. Timeout: Khoảng thời gian tồn tại của session, tính bằng phút. Mặc định 20 phút Các Methods: Abandon: Xóa bỏ một object session, trả lại tài nguyên cho hệ thống. Ví dụ:Ta có thể tạo các biến trong đối tượng Session để lưu thông tin cho mỗi kết nối đến Server. + Session("Login"): cho biết người yêu cầu truy xuất đến trang có login chưa.Session("Username"): tên của Account tạo ra sesion hiện tại. + Session("SelectedTopic"): tên chủ đề đang được chọn để thực hiện một thao tác nào đó. 5.4. Đối tượng Application: Định nghĩa: Ta có thể sử dụng object Application để cho phép nhiều người cùng sử dụng một ứng dụng chia sẻ thông tin với nhau.Bởi vì object Application được dùng chung bởi nhiều người sử dụng, do đó object có 2 method Lock và Unlock để cấm không cho nhiều user đồng thời thay đổi property của object này, các biến Application là toàn cục, có tác dụng trên toàn ứng dụng. Cú pháp tổng quát: Application.Method Các Methods: Lock: Phương pháp này cấm không cho client khác thay đổi property của đối tượng Application . Unlock: Phương pháp này cho phép client khác thay đổi property của đối tượng Application . Events: gồm có hai event được khai báo trong file Global.asa. Ngoài ra chúng ta có thể đặt các biến trong đối tượng Application để lưu những thông tin toàn cục, hay các cờ báo hiệu. Application_OnStart: Xảy ra khi khởi động ứng dụng. Application_OnEnd: Xảy ra khi ứng dụng đóng, hay Server shutdown. Ví dụ: Application("DatabaseAccessFlag"): cờ cho biết có ai đang truy xuất Database không. Application("AccessNumber"): số lần truy xuất đến ứng dụng. Khi khởi động/ đóng ứng dụng giá trị này được cập nhật vào Database. Application("arrayTopicName"): biến dãy lưu danh sách các chủ đề hiện có của hệ thống. Trước khi thay đổi giá trị các biến Application nên Lock lại và sau khi thay đổi nhớ Unlock.  5.5. Đối tượng Server: Định nghĩa: Cho phép truy xuất đến các method và property của server như là những hàm tiện ích. Cú pháp tổng quát: Server.Method Các Properties: ScriptTimeout: Khoảng thời gian dành cho script chạy. Mặc định 90 giây. Các Methods: CreateObject: Tạo một instance của server component. HTMLEncode: Mã hóa một chuỗi theo dạng HTML MapPath: Aựnh xạ đường dẫn ảo (là đường dẫn tuyệt đối trên server hiện hành hoặc đường dẫn tương đối đến trang hiện tại) thành đường dẫn vật lý (physical path). URLencode: mã hóa một chuỗi (kể cả kí tự escape) theo qui tắc mã hóa URL Ví dụ: : Xác định thời gian chạy tối đa của một Scriprt là 30 giây. 6. CÁC COMPONENT CỦA ASP: Khái niệm: ActiveX Server Component (trước đây được gọi là Automation Server) được thiết kế để chạy trên Web server như là một phần của ứng dụng trên Web. Component chứa đựng những đặc trưng chung mà chúng ta không cần phải tạo lại những đặc trưng này.Component thường được gọi từ những file .asp. Tuy nhiên, chúng ta có thể gọi những component này từ các source khác nhau như là: một ứng dụng ISAPI, một server component hoặc một ngôn ngữ tương thích OLE (OLE-compatible language). ASP cung cấp sẵn 5 ActiveX Server Component, bao gồm: Advertisement Rotator Component. Browser Capabilities Component. Database Access Component. Content Linking Component. TextStream Component. Tạo một instance của component: Bạn có thể tạo một instance của một ActiveX Server Component với một câu lệnh đơn giản. Khi bạn đã tạo được một instance của một component, bạn có thể sử dụng những phương pháp (method) liên quan đến component đó hoặc gán (set) và đọc (read) những thuộc tính (property) của nó. Sau đây là một script sử dụng method: Server.CreateObject để tạo một instance của Browser Capabilities Component và gán vào biến bc: Ta cũng có thể sử dụng tag để tạo một instance component. Ví dụ sau tạo ra một instance của Ad Rotator Component : 6.1. Advertisement Rotator Component: Advertisement Rotator Component cho phép ta thực hiện chuỗi các hình ảnh kế tiếp nhau thay đổi trên màn hình một cách tự động, nó còn cho phép tạo các link từ các hình ảnh này. Component này rất hữu dụng trong các ứng dụng có tính chất quảng cáo, giới thiệu. Ví dụ : Advertisement Rotator Component sẽ hiển thị một quảng cáo dựa trên thông tin được đặc tả trong Rotator Schedule file. Các file của component bao gồm: Adrot.dll: The Advertisement Rotator Component. RedirectionFile: Một file tùy chọn cho phép Advertisement Rotator component ghi nhận có bao nhiêu user click mỗi Ad. Rotator Schedule File: Một text file chứa bảng danh mục và những thông tin hiển thị cho các bảng quảng cáo. File này nằm trong một thư mục ảo trên server. Các thuộc tính của Ad Rotator Component: Border: Chỉ định kích thước của đường viền xung quanh bảng quảng cáo. Clickable: Chỉ định bảng quảng cáo có phải là một hyperlink hay không. Targetframe: Chỉ định tên của frame hiển thị bảng quảng cáo. Advertisement Rotator component có phương pháp GetAdvertisement để lấy sự đặc tả của bảng quảng cáo từ file dữ liệu Rotator Schedule file và định dạng nó thành một HTML. 6.2. Browser Capabilities Component: Browser Capabilities Component cung cấp cho script sự mô tả về khả năng (Capability) của Web browser ở client. Khi một browser nối với một Web server, nó tự động gởi User Agent HTTP header. Header này là một chuỗi ASCII mà chỉ ra loại browser và số version của nó. Browser Capabilities Component so sánh header này với những entry trong file Browscap.ini. Nếu thấy phù hợp thì Browser Capabilities Component thừa nhận những thuộc tính của browser mà chúng phù hợp với User Agent header. Nếu component không tìm thấy header trong Browscap.ini, nó sẽ lấy những thuộc tính của browser mặc định. Nếu component không tìm thấy header phù hợp và browser mặc định không được chỉ ra trong file Browserscap.ini, thì nó đặt mọi thuộc tính bằng chuỗi "UNKNOWN". Ta có thể thêm những thuộc tính mới cho component này đơn giản bằng cách cập nhật file Browscap.ini. Các file được sử dụng cho Component: Browscap . dll : The Browser Capabilities Component. Browscap . ini : Một text file chứa các thông tin về các loại Browser. File này phải nằm cùng thư mục với file Browscap.dll. 6.3. Data Access Component: Chúng ta có thể sử dụng Data Access Component để truy xuất đến Database từ một ứng dụng của Web. Chúng ta có thể hiển thị toàn bộ nội dung của một bảng (table), cho phép người sử dụng xây dựng những Query, thực hiện những thao tác trên database từ trong trang Web. Database Access Component của ActiveX hay còn gọi là thư viện ADO( Active Data Object). Đây là một điểm mạnh của ASP trong việc phát triển các ứng dụng Web Database.Các Object của ADO cung cấp cơ chế tạo ra 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. Hiện nay thư viện ADO là một công cụ mạnh trong việc phát triển các ứng dụng database trên internet. Một phương pháp để tạo một connection lâu dài đến Database là tạo một connection đến Database cho mỗi user và lưu trữ connection này trong Session Object. Tuy nhiên, vì phương pháp này tăng số idle connection đến Database nên nó chỉ được sử dụng ở những Web Site có lưu lượng thông tin thấp (low-traffic). ADO được thiết kế một cách đơn giản, nó giao tiếp với database thông qua phương thức ODBC chúng ta có thể sử dụng chúng với bất kỳ loại databasenào nếu như ODBC có driver hỗ trợ. Hiện nay tồn tại driver cho hầu hết các database như : Foxpro, Access, SQL Server, ORACLE, v.v Các Object chính trong ADO đó là: Connection, RecordSet, Command,ngoài ba object chính này còn có các object con của nó cùng với các tham số , thuộc tính, phương thức bên trong. Ta hãy xem xét từng đối tượng cụ thể ở phần sau: Một phương pháp hữu hiệu hơn để quản lý những connection đến Database dựa trên Web là sử dụng connection pooling của ODBC 3.0. Connection pooling duy trì việc mở, đóng connection đến Database và quản lý connection chung cho nhiều yêu cầu của những người sử dụng khác nhau để đảm bảo hiệu suất và giảm số idle connection. Đối với mỗi yêu cầu connection, connection pool đầu tiên xác định idle connection ở trong pool không. Nếu có connection pool trả về connection đó thay vì tạo một connection đến Database. Connection không còn nối với Database và ra khỏi connection pool nếu nó ở trạng thái idle hơn 60 giây. Connection pooling mặc định được cho phép trong ASP. Chúng ta có thể cấm connection pooling bằng cách đặt Start Connection Pool = 0 trong Registry entry. Để sử dụng tốt nhất Connection pooling, ta nên mở và đóng Connection đến database trong mỗi trang Asp.tuy nhiên ta nên đặt những trang property của Connection một lần và sử dụng lại chúng ở mỗi trang sau. Ví dụ: Chúng ta có thể sử dụng "ConnectionString " trong file Global.asa để chỉ ra property của Connection trong biến cố Session_OnStart như scrip sau: Session ("ConnectionString") ="DSN=Database; UID= Database" Sau đó trong mỗi file.asp mà có truy xuất database chúng ta có thể viết: hay để tạo một instance của đối tượng Connection cho trang đó ta có thể viết như sau: Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open Session("ConnectionString") Sau khi sử dụng xong, ta đóng bằng Script sau: Conn.Close Giá trị TimeOut mặc định cho Connection pooling là 60 giây. Ta có thể thay đổi giá trị này cho một ODBC Driver bằng cách đặt Registry key như sau: \HKEY_LOCAL_MACHINE \SOFTWARE \ODBCINST.INI \driver-name\Cptimeout = timeout (REG_SZ. Đơn vị là giây) 6.4. Content Linking Component: Content Linking Component quản lí danh sách các URL để chúng ta có thể xử lí các trang trong Web Site như là các trang trong một quyển sách. chúng ta có thể sử dụng Content Linking Component để tạo và cập nhật tự động mục lục, đường liên kết của những trang Web trước và sau. Điều này thật là lý tưởng cho những ứng dụng như là Online Newspaper. Content Linking Component tham khảo đến file content linking list, file này chứa danh sách các trang Web được liên kết với nhau. Danh sách này được lưu trữ tại Web server . Các file được sử dụng cho Content Linking Component: Nextlink.dll: The Content Linking component. Content Linking List: Một file text liệt kê danh sách các trang Web với thứ tự mà chúng sẽ được hiển thị. File này phải được để trên thư mục ảo của server. Các phương thức của Content Linking component: GetListCount: Đếm số item trong content linking list file. GetNextURL: Lấy URL của trang kế tiếp được liệt kê trong Content Linking List file. GetPreviousDescription: Lấy phần mô tả của trang trước được liệt kê trong Content Linking List file. GetListindex: Lấy index của trang hiện tại trong Content Linking List file. GetNthDesciption: Lấy phần mô tả của trang thứ N được liệt kê trong Content Linking List file. GetPreviousURL: Lấy URL của trang trước được liệt kê trong Content Linking List file. GetNextDescription: Lấy phần mô tả của trang kế tiếp được liệt kê trong Content Linking List file. GetNthURL: Lấy URL của trang thứ N được liệt kê trong Content Linking List file. 6.5. File Acess Component: Conponent này giúp ta vaò việc truy xuất vào hệ thống file của server. Nó có hai đối tượng giúp ta thực hiện điều này là FileSystemObject và TextStream CHƯƠNG III: PHÂN TÍCH THIẾT KẾ HỆ THỐNG VÀ XÂY DỰNG CƠ SỞ DỮ LIỆU CHO WEBSITE QUẢN LÝ ÂM NHẠC TRỰC TUYẾN. 3.1 Phân Tích và Thiết Kế Hệ Thống 3.1.1. Phát biểu bài toán và mô tả thông tin: Việc bùng nổ về công nghệ số đã dẫn tới hàng loạt những nhu cầu giải trí mới và trong đó việc nghe nhạc trực tuyến đã trở thành một nhu cầu không thể thiếu đối với rất nhiều bạn yêu nhạc đặc biệt là các bạn trẻ. Một website âm nhạc muốn có số lượng truy cập đông thì điều quan trọng là các thể loại nhạc trên đó phải phong phú về số lượng cũng như chất lượng.Điều này đặt ra cho người quản trị phải làm sao cho người cập nhật tin tức cũng như sắp xếp dữ liệu sao cho phù hợp để người duyệt luôn cảm thấy thoải mái nhất, họ có thể dễ dàng tìm kiếm thông tin về ca sĩ, về bài hát mà họ muốn nghe hoặc như về tác giả của ca khúc đó. Do vậy công việc thiết kế ban đầu sẽ đòi hỏi nhiều công sức để sao cho khi người quản trị hệ thống làm việc, họ sẽ cảm thấy công việc của họ chỉ đơn giản là thêm thông tin vào giống như là họ đang soạn thảo văn bản. Yêu cầu đặt ra của bài toán là thiết kế một website quản lý âm nhạc bằng ngôn ngữ. NET. Khi người dùng Internet truy cập vào địa chỉ trang web họ sẽ có nhiều lựa chọn ngay từ đầu để đỡ mất thời gian tìm kiếm. Họ có thể chọn thể loại nhạc, chọn ca sĩ yêu thích, chọn tác giả... Nhưng chung quy họ vẫn có thể vừa nghe nhạc vừa xem thông tin về bài hát đó như ca sĩ thể hiện, tác giả của bài hát... Thêm vào đó do là Website về âm nhạc nên đồi hởi phải có khả năng cập nhật liên tục. Do vậy, việc quản lý Website cũng đòi hỏi nhiều yêu cầu trong đó yếu tố quan trọng nhất là phải đảm bảo việc cập nhật cơ sở dữ liệu luôn luôn thông suốt. Giao diện của trang Admin và các công cụ của Admin phải thật đơn giản nhưng hiệu quả, để đảm bảo thông tin và các yêu cầu khác của người dùng khi truy cập. Ngoài ra để nghe nhạc trực tuyến đòi hỏi Website phải tích hợp được các chương trình choi nhạc mà có thể chơi được nhiều loại file như wma, mp3... Do vậy ta nên tích hợp vào trình duyện phiên bản Windows media 9.0 trở lên. Do Windows media được tích hợp sẵn trên các hệ điều hành Windows phổ biến hiện nay của Microsoft, nên việc tận dụng này sẽ có nhiều ưu điểm mà điều quan trọng là phía người dùng sẽ không phải mất công tải về các trình nghe nhạc và cài đặt nó trên máy tính của họ. Như vậy Website này phải bảo đảm được các tính năng sau: Tiện lợi cho người sử dụng. Có khả năng chơi được nhiều loại nhạc. Có thể nâng cấp cho nhiều người sử dụng. Công cụ quản lý phải đơn giản để dễ dàng cập nhật thông tin. 3.1.2. Phân tích và xây dựng các chức năng ứng dụng: Sơ đồ phân cấp chức năng của hệ thống: Sơ đồ phân cấp chức năng của hệ thông cho phép ta hình dung, ghi nhận những phần chi tiết của hệ thống nhằm mục đích giúp cho người xây dựng nắm bắt được các chức năng chính trong hệ thống, giúp họ triển khai việc xây dựng được trơn tru theo đúng các quy trình đã được vạch ra. Music portal CHỨC NĂNG NGƯỜI SỬ DỤNG HỆ THỐNG CHỨC NĂNG NGƯỜI QUẢN TRỊ HỆ THỐNG CHỨC NĂNG QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ THỐNG CHỨC NĂNG ĐĂNG NHẬP TÌM KIẾM THEO CÁC YÊU CẦU KHÁC NHAU LƯA CHỌN THỂ LOẠI, NHẠC SĨ, CA SĨ , NGHE NHẠC… ôngso Sơ đồ phân cấp chức năng tổng thể hệ thống 3.1.2.1. Chức năng người sử dụng: Chức năng này cho phép người sử dụng khi đã truy cập vào Website có thể tuỳ chọn các chức năng sau: Lựa chọn các thể loại nhạc, các ca sĩ, nhạc sĩ yêu thích để chọn lựa bài hát theo ý mình và nghe. Đồng thời có thể biết thêm thông tin về ca sĩ và nhạc sĩ có liên quan đến bài hát đó. Tìm kiếm, chức năng này cho phép người sử dụng tìm kiếm theo tên ca sĩ, tên bài hát , tên tác giả...Giúp người sử dụng nhanh chóng tìm kiếm thông tin theo yêu cầu. NGƯỜI SỬ DỤNG CUNG CẤP CÁC THÔNG TIN CẦN THIẾT CHO TRÌNH DUYỆT TRÌNH DUYỆT MÁY CHỦ sơ đồ chức năng người sử dụng 3.1.2.2. Chức năng người quản trị hệ thống: 3.1.2.2.1.Chức năng đăng nhập: Chức năng này cho phép người quản trị hệ thống có thể đăng nhập vào giao diện trang Admin để có thể quản trị được hệ thống cơ sở dữ liệu của site. Để đăng nhập được người quản trị cần có username và password của người quản trị hệ thống. login Sai uername Kiểm tra TIẾP TỤC Sai password bd Sơ đồ chức năng đăng nhập admin 3.1.2.2.2.Chức năng quản trị cơ sở dữ liệu hệ thống: Chức năng này cho phép người quản trị toàn quyền cập nhật, chỉnh sửa cơ sở dữ liệu theo ý người quản trị hệ thống. CUNG CẤP THÔNG TIN CẬP NHẬT KIỂM TRA bd CẬP NHẬT Sơ đồ chức năng cập nhật thông tin cơ sở dữ liệu hệ thống 3.2.Xây Dựng Cơ Sở Dữ Liệu Mô hình cơ sở dữ liệu cho Website quản lý ambul âm nhạc được xây dựng trên hệ quản trị cơ sở dữ liệu Microsoft Access gồm các bảng sau: 3.2.1. Bảng ca sĩ:(tbl casi): - Mã ca sĩ(ID): Mỗi ca sĩ có một mã riêng, mã này sẽ được tự động gán cho ca sĩ khi ta thêm vào dữ liệu. Mã này có kiểu cơ sở dữ liệu (data type) là Autonumber. - Tên ca sĩ (ten): tên ca sĩ có kiểu dữ liệu là Memo. - Anh (anh): chứa thông tin về đường dẫn ảnh của ca sĩ, trương này có kiểu dữ liệu là Memo. - Ngày sinh (ngaysinh): chứa thông tin về ngày sinh của ca sĩ, co kiểu dữ liệu là Memo. - Quê quán (quequan): chứa thông tin về quê quán của ca sĩ, có kiểu dữ liệu là Memo. - Thông tin khác (thong tin khac): chứa các thông tin khác về ca sĩ, có kiểu dữ liệu là Memo. Bảng cơ sở dữ liệu ca sĩ 3.2.2. Bảng loại nhạc (tbl loại nhạc): - Mã loại nhạc (ID): Mỗi loại nhạc có một mã số riêng, mã này được tự động gán số mỗi khi thêm một loại nhạc mới vào, mã này có kiểu dữ liệu là Autonumber. - Tên loại nhạc (ten): Chứa thông tin về tên loại nhạc, mã này có kiểu dữ liệu là Memo. Bảng cơ sở dữ liệu loại nhạc 3.2.3. Bảng nhạc sĩ (tbl_ nhạcsi): - Mã nhạc sĩ (ID): Mỗi nhạc sĩ có một mã riêng, mã này sẽ được tự động thêm vào khi thêm một nhạc sĩ mới vào. Mã này có kiểu cơ sở dữ liệu (data type) là Autonumber. - Tên nhạc sĩ (ten): Chứa thông tin về tên của nhạc sĩ, có kiểu dữ liệu là Memo. - Anh (anh): chứa thông tin về đường dẫn ảnh của nhạc sĩ, có kiểu dữ liệu là Memo. - Ngày sinh (ngaysinh): chứa thông tin về ngày sinh của nhạc sĩ, có kiểu dữ liệu là Memo. - Quê quán (quequan): chứa thông tin về quê quán của nhạc sĩ, có kiểu dữ liệu là Memo. Thông tin khác (thong tin khac): chứa các thông tin khác về nhạc sĩ, có dư liệu là Memo. Bảng cơ sở dữ liệu nhạc sĩ 3.2.4. Bảng bài hát (tbl song): - Mã bài hát (ID): Mỗi bài hát có một mã số riêng, khi ta thêm một bài hát vào nó sẽ tự động gán cho bài hát đó một mã số, mã bài hát có kiểu dữ liệu là Autonumber. - Tên bài hát (ten): Chứa thông tin về tên của bài hát, tên bài hát có kiểu dữ liệu là Memo. - Liên kết (link): Chứa thông tin về liên kết tới hình ảnh, file nhạc...Đường dẫn có kiểu dữ liệu là Memo. - Mã loại nhạc (loainhạc_id): Chứa thông tin về mã loại nhạc của bài hát, mã loại nhạc có kiểu dữ liệu là Number. - Mã nhạc sĩ (nhacsi_id): Chứa thông tin về mã nhạc sĩ của bài hát, mã nhạc sĩ có kiểu dữ liệu là Number. - Mã ca sĩ (casi_id): Chứa thông tin về mã ca sĩ của bài hát, mã ca sĩ có kiểu dữ liệu là Number. - Lời bài hát (lyric): Chứa thông tin về lời của bài hát (nếu có), lời bài hát có kiểu dữ liệu là Memo. Bảng cơ sở dữ liệu bài hát CHƯƠNG IV: XÂY DỰNG GIAO DIỆN NGƯỜI DÙNG VÀ MỘT SỐ MÃ MINH HOẠ 4.1. Giao diện trang chủ Giao diện trang chủ function navBar( tableCellRef, hoverFlag, navStyle ) { if ( hoverFlag ) { switch ( navStyle ) { case 1: //This defines rollover color tableCellRef.style.backgroundColor = '#88B8F6'; break; default: //tableCellRef.style.backgroundColor = '#ccc'; if ( document.getElementsByTagName ) { tableCellRef.getElementsByTagName( 'a' )[0].style.color = '#C0C0C0'; } } } else { switch ( navStyle ) { case 1: //This defines return color tableCellRef.style.backgroundColor = '#C0C0C0'; break; default: //tableCellRef.style.backgroundColor = '#ddd'; if ( document.getElementsByTagName ) { tableCellRef.getElementsByTagName( 'a' )[0].style.color = '#C0C0C0'; } } } } function loadImages() { if (document.getElementById) { // DOM3 = IE5, NS6 document.getElementById('hidepage').style.visibility = 'hidden'; } else { if (document.layers) { // Netscape 4 document.hidepage.visibility = 'hidden'; } else { // IE 4 document.all.hidepage.style.visibility = 'hidden'; } } } <DIV id=hidepage style="LEFT: 1px; VISIBILITY: visible; WIDTH: 100%; POSITION: absolute; TOP: 282px; HEIGHT: 80px"> Website đang được tải... WEBSITE NGHE NHẠC  LOẠI NHẠC +Nhạc chế +Nhạc nhẹ +Nhạc khụng lời +Nhạc tiền chiến  ADMIN MENU  + Thờm bài hỏt  + Thờm ca sĩ  + Thờm nhạc sĩ  + Thờm loại nhạc  + Thoỏt Trang : | 1 |      BÀI HÁT MỚI + thanh [Số lượt xem:0] + cho tinh mai xa [Số lượt xem:8] + Trỏi tim bờn lề [Số lượt xem:5] + Thế giới khụng tỡnh yờu [Số lượt xem:4] + Ảo mộng tỡnh yờu [Số lượt xem:7] + dantruong [Số lượt xem:7] + phim [Số lượt xem:3] + 99 doa hong [Số lượt xem:3] + Biệt khỳc [Số lượt xem:4] + Bài Hỏt 3 [Số lượt xem:2] [Số lượt xem:4] + Biệt khỳc [Số lượt xem:4] + Bài hỏt 2 [Số lượt xem:4] + phim [Số lượt xem:3] + 99 doa hong [Số lượt xem:3] + Bài Hỏt 3 [Số lượt xem:2] Copyright (c).... 4.2. Giao diện đăng nhập Giao diện đăng nhập function checkform(){ str=""; if(capnhat.ten.value=="") str=str+"\n+ Bạn chưa nhập tờn "; if(capnhat.matkhau.value=="") str=str+"\n+ Bạn chưa nhập mật khẩu"; if(str!="") { alert(str); return false; } else { capnhat.submit(); } }   Đăng nhập   Tờn người dựng : Mật khẩu :   Quay lại 4.3. Giao diện thêm bài hát Giao diện thêm bài hát <!-- // load htmlarea _editor_url = ""; // URL to htmlarea files var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]); if (navigator.userAgent.indexOf('Mac') >= 0) { win_ie_ver = 0; } if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; } if (navigator.userAgent.indexOf('Opera') >= 0) { win_ie_ver = 0; } if (win_ie_ver >= 5.5) { document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"'); document.write(' language="Javascript1.2">'); } else { document.write('function editor_generate() { return false; }'); } // --> function checkform(){ str=""; if(capnhat.ten.value=="") str=str+"\n+ Bạn chưa nhập tờn "; if(capnhat.loi.value=="") str=str+"\n+ Bạn chưa nhập lời"; if(capnhat.nhacsi.value=="") str=str+"\n+ Bạn chưa nhập nhạc sĩ"; if(capnhat.anh.value=="") str=str+"\n+ Bạn chưa nhập đường dẫn"; if(capnhat.casi.value=="") str=str+"\n+ Bạn chưa chọn ca sĩ"; if(capnhat.theloainhac.value=="") str=str+"\n+ Bạn chưa chọn loại nhạc"; if(str!="") { alert(str); return false; } else { capnhat.submit(); } } Chọn ca sĩ dan truong Lam Trường Mỹ Tõm Trọng Tấn Hồng Nhung Thanh Lam * Chọn thể loại nhạc : Chọn thể loại nhạc Nhạc chế Nhạc nhẹ Nhạc khụng lời Nhạc tiền chiến *                          Ko thờm nữa! Quay lại     4.4 Giao diện thêm ca sĩ mới Giao diện thêm ca sĩ mới <!-- // load htmlarea _editor_url = ""; // URL to htmlarea files var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]); if (navigator.userAgent.indexOf('Mac') >= 0) { win_ie_ver = 0; } if (navigator.userAgent.indexOf('Windows CE') >= 0) { win_ie_ver = 0; } if (navigator.userAgent.indexOf('Opera') >= 0) { win_ie_ver = 0; } if (win_ie_ver >= 5.5) { document.write('<scr' + 'ipt src="' +_editor_url+ 'editor.js"'); document.write(' language="Javascript1.2">'); } else { document.write('function editor_generate() { return false; }'); } // --> function checkform(){ str=""; if(capnhat.ten.value=="") str=str+"\n+ Bạn chưa nhập tờn "; if(capnhat.quequan.value=="") str=str+"\n+ Bạn chưa nhập ngày sinh"; if(capnhat.ngaysinh.value=="") str=str+"\n+ Bạn chưa nhập ngày sinh"; if(str!="") { alert(str); return false; } else { capnhat.submit(); } } THấM CA SĨ MỚI     Tờn ca sĩ : * Ngày sinh : * Quờ quỏn : * Thụng tin khỏc : editor_generate('ttk');                          Ko thờm nữa! Quay lại     CHƯƠNG V: KẾT LUẬN Do thời gian thực hiện đề tài có giới hạn nên khi thực hiện bài tập tốt nghiệp em không thể tránh khỏi sự lúng túng và việc thực hiện bài tập chưa được hoàn hảo là khó tránh khỏi. Em rất mong được sự động viên của các thầy cô trong khoa để em có thể phát huy hơn nưa khả năng của mình. Về mức độ hoàn thành của bài tập em tự đánh giá là mình đã hoàn thành cơ bản các yêu cầu mà đề tài đã đặt ra tuy vẫn còn một số vướng mắc nhưng em tin chắc mình sẽ có thể hoàn thành được nếu có điều kiện hơn nữa về thời gian. Một lần nữa em xin chân thành cảm ơn thầy giáo Nguyễn Văn Xuất đã tận tình giúp đỡ em hoàn thành bài tập này, em xin cảm ơn các thầy cô giáo trong khoa công nghệ thông tin đã tận tình chỉ bảo và tạo mọi điều kiện tốt nhất để em có thể hoàn thành bài tập được giao. Em xin chân thành cảm ơn!!! Hà Nội, tháng 6 năm 2007. Sinh viên Nguyễn Đăng Thành. PHỤ LỤC A: CÁC TAG CỦA NGÔN NGỮ 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 nhng không đợc browser hiển thị 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 TEXT=#XXXXXX LINK=#YYYYYY VLINK=#00HH00> Đị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. ... ... 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 ... Địa chỉ: Văn bản ở cuối đợc in nghiêng ... Blockquote Văn bản thụt vào trong cho các chú giải ... Văn bản Preformatted Hiển thị dạng chữ đánh máy giữ nguyên các khoảng trắng và dấu xuống dòng. &xxxx; Ký tự Đặc biệt Mã cho ký tự đặc biệt và các dấu phụ ... Nhấp nháy Làm nhấp nháy văn bản ít đợc sử dụng. ... Kích thớc Phông Đổi kích thớc của đoạn văn với X=1-7. Cũng có thể sử dụng sự thay đổi kích thớc tơng đối (+1, +2, -1, -2, v.v...) so với trị hiện tại. ... ... Kích thớc Phông Đổ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 Phông Đổ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. ... ... Superscript/Subscript Tạo superscript (ví dụ x3 + 2xy + y2 = 0) hay subscript (ví dụ H2SO4) 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 <hr width=X size=X align=left|right noshade> Hard Rule: Sang dòng mới và tạo một đờng phân cách. Thuộc tính thêm vào width cho biết độ rộng của đờng, với X là số điểm tuyệt đối hay "X%" là độ rộng tơng đối so với cửa sổ browser; size cho biết độ dày của đờng tính bằng điểm; align chỉnh lề đờng về một phía nào đó của trang thay vì để ngay giữa; noshade vẽ đờng đặc không có bóng ba chiều ... ... 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 ... <table border=X cellpadding=Y cellspacing=Z>... ... <td align=left|center|right valign=top|middle|bottom rowspan=X colspan=Y Bảng đơn giản vẽ đờng viền có độ dày bằng một điểm đơn và các bức tờng chia cách các phần tử. Bỏ qua thuộc tính border, hay thiết lập border=0 tạo ra bảng không nhìn thấy đợc. Trị cho border lớn hơn 1 làm dày hơn đờng viền quanh bảng/ cellpadding là số khoảng trắng (tính bằng điểm) giữa nội dung các phần tử và bức tờng của nó. cellspacing xác định độ dày các bức tờng bên trong của bảng. để định nghĩa hàng trong bảng và để định nghĩa dữ kiện cho một phần tử. Các thuộc tính cho tag để chỉnh lề theo hàng và cột bên trong một phần tử. Các thuộc tính rowspan và colspan có thể sử dụng để tạo các phần tử đợc mở rộng ra hơn so với một phần tử bình thờng. Danh Sách Danh sách không có thứ tự tạo các mục có bullet, danh sách có thứ tự tạo các mục có đánh thứ tự Bullet cho Danh sách Không có thứ tự Định lại dạng bullet mặc định: type=circle type=square type=disc Kiểu Đánh thứ tự cho Danh sách Có thứ tự Sử dụng các ký tự khác nhau cho danh sách: type=1 (1,2,3...) type=A (A,B,C,...) type=a (a,b,c,...) type=I (I,II,III,...) type=i (i,ii,iii,...) Giá trị Số cho Danh sách Có thứ tự start bắt đầu đánh thứ tự từ một số nguyên dơng bất kỳ. value bắt đầu đánh thứ tự lại từ một trị mới. Danh sách Mô tả Danh sách với các phần tử văn bản và phần định nghĩa thụt vào trong <img src="file.gif" alt="###" align=top|middle|bottom| left|right height=x width=y> Hình ảnh Inline Hiển thị một hình bên trong trang web. src (source) là tên, đờng dẫn, hay URL của tập tin hình; alt (alternative) là văn bản hiển thị cho các browser không đồ thị hay khi ngời sử dụng tắt việc nạp hình; align điều khiển vị trí của hình và văn bản quanh nó (top/middle/bottom chỉnh lề MộT dòng của văn bản theo sau; left/right đặt hình vào một bên trang còn bên kia là văn bản); height và width là các chiều của hình tính bằng điểm. hypertext 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 Siêu văn bản Cục bộ 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 Siêu văn bản Cục bộ 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 URL Uniform Resource Locator Địa chỉ các nguồn trên Internet hypertext 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 a name="xyz" Anchor Đợc đặt tên Đánh dấu một đoạn văn trong tài liệu bằng tên "xyz" hypertext Liên kết đến Anchor Đợc đặt tên Nhảy đến anchor đợc đặt tên trong cùng tài liệu hay trong tài liệu khác <img src="file.gif" border=0> 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 <a href="mailto: "doe@xyz.edu">... Liên kết Mail của Internet Tạo một thông báo email đến địa chỉ đợc chỉ định <img src="image.gif" usemap="#map_name"> <area shape="rect" coords="x1,y1,x2,y2" HREF=URL> <area shape="rect" coords="x1,y1,x2,y2" HREF=URL> Bản đồ Hình ảnh Liên kết về phía Client Bản đồ hình ảnh liên kết đợc thông dịch bởi browser. ... có thể đặt mọi chỗ trong cùng tập tin hay trong tập tin khác. Các tọa độ là đỉnh trên bên trái và đỉnh dới bên phải của vùng của một vùng vuông vức CÁC KÝ TỰ ĐẶC BIỆT TRÊN HTML KÝ TỰ Ý NGHĨA Á Á À À Å Å Ã Ã Ä Ä Ç ầ Ð é É ẫ Ê ấ È ẩ Ë ậ Í í Ì ì Ï ẽ Ñ Đ Ó ĩ Ò ị Ø ỉ Õ ế Ö  Þ ị Ú Ú Û Û Ù Ù Ü ĩ Ý í á ỏ â õ à à å ồ ã ó ä ọ ð ð é ộ ê ờ è ố ë ở í í î ỵ ì ì ï ù ñ đ ó ĩ ô ơ ò ị ø ứ õ ừ ö  ß ò þ ỵ ú ỳ û ỷ ù ự ü ỹ ý ý ÿ ÿ ASCII &#n (n la mã ASCII) A A Z Z x x .... ... Reserved HTML Characters < < > > & & " “ ® đ © â MỤC LỤC Lời nói đầu………………………………………………………………..1 Chương1:các khái niệm cơ bản về ngôn ngữ HTML……………………..2 1. Các khái niệm cơ bản…………………………………………………..2 2. Ngôn ngữ HTML………………………………………………………2 Chơng II:Active Server Pages và ngôn ngữ lập trình trên ASP……..……7 1. Giới thiệu về ACTIVE SERVER PAGES…………………………… ..7 2. Ngôn ngữ lập trinh sử dung với ASP…………………………………...9 3. VISUALBASIC SCRIPT LANGUAGE (VBSCRIPT)………………..11 4. Những vấn đề liên quan đến việc xây dựng một ứng dụng trên ASP:……………………………………………………………………..13 5. Các đối tợng (OBJECT) trong ASP……………………………..…….17 6. Các COMPONENT của ASP:………………………………………...22 Chơng III:phân tích thiết kế hệ thống và xây dựng cơ sở dữ liệu cho website quản lý âm nhạc trực tuyến……………………………………..27 3.1 Phân Tích và Thiết Kế Hệ Thống……………………………………27 3.2.Xây Dựng Cơ Sở Dữ Liệu…………………………………………...33 Chương IV: xây dựng giao diện ngời dùng và một số mã minh hoạ…....40 4.1. Giao diện trang chủ…………………………………………………40 4.2. Giao diện đăng nhập………………………………………………..51 4.3. Giao diện thêm bài hát……………………………………………...53 4.4 Giao diện thêm ca sĩ mới……………………………………………56 Chương V:Kết luận……………………………………………………...60 Phụ Lục: các Tag của ngôn ngữ HTML…………………………………61

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

  • docxXây dựng Website quản lý Album âm nhạc.docx