Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
0,91 MB
Nội dung
http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN Xay dung dien dan tren web Chương ĐẶT VẤN ĐỀ OBO OK S CO M I GIỚI THIỆU CHUNG Nếu sử dụng Internet không lần nghe sử dụng dòch vụ nhóm thảo luận Internet (NewsGroup), dòch vụ phổ biến Khi ta gặp vấn đề thắc mắc, tìm kiếm thông tin đó, NewsGroup người trợ giúp đắc lực cho Dòch vụ cho phép người dùng gửi lên mạng Internet câu hỏi thắc mắc mình, sau người đó, giới tham gia vào nhóm thảo luận họ đọc được mẩu tin biết thông tin vấn đề họ trả lời cho ta ngược lại ta trở thành người trả lời Thật thú vò người toàn cầu giúp ta giải vấn đề Ngày NewsGroup thường tích hợp web nên tạo điều kiện thuận lợi cho người sử dụng người ta gọi Diễn đàn web (web forum) KIL Trên mạng Internet có nhiều diễn đàn nói nhiều chủ đề khác Ví dụ trang www.deja.com trang web tiếng vấn đề trao đổi thông tin người qua Internet Như ta thấy hình, người ta chia nhiều chủ đề như: copm (computer): khoa học máy tính, rec (recreation): hội thảo giải trí nghệ thuật Hình 1: Trang web tiếng diễn đàn (deja.com) Tác dụng lớn Diễn đàn web người tham gia vào mạng đặt vấn đề theo chủ đề đònh để nhận câu trả lời http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN KIL OBO OKS CO M nhiều người toàn giới Để thấy lợi ích tính quảng bá khối lượng thông tin, kiến thức đồ sộ diễn đàn ta so sánh dòch vụ với dòch vụ E-mail sau: Nếu nói thông tin trao đổi qua mail quan hệ 1-1 , tức có người gửi có người, nhóm người nhận thư Trong Diễn đàn web lại có quan hệ 1-n, tức người hỏi có nhiều người trả lời Như lợi ích mà Diễn đàn web đem lại cho người sử dụng không nhỏ Ngày Diễn đàn Web ứng dụng nhiều nơi, ví dụ trường đại học, diễn đàn giúp đỡ sinh viên trao đổi thảo luận với qua mạng, hay mạng nội quan Xuất phát từ lợi ích mà diễn đàn đem lại, với mong muốn tạo ứng dụng mạng, giúp người trao đổi thông tin với nên em chọn đề tài: “Xây dựng diễn đàn web - Web Forum” Hiện Khoa Công Nghệ Thông Tin - Điện tử Viễn thông có mạng cục đại, nhiên em chưa thấy có nơi cho phép sinh viên truy nhập, tìm hiểu vấn đề phục vụ cho công việc học tập hay giải trí Chương trình Diễn đàn Web sử dụng mạng trường mong góp phần vào việc trao đổi thông tin bạn sinh viên, đem lại hình thức trao đổi thông tin chắn hiệu II HƯỚNG XÂY DỰNG CHƯƠNG TRÌNH Khi nói đến diễn đàn người liên tưởng đến đến bàn luận, phân tích vấn đề nhóm người Trong diễn đàn người đưa ý kiến mình, câu hỏi để người tham gia phân tích tìm câu trả lời, diễn đàn sống ngày diễn nội nhóm người Ngày nay, với phát triển mạng Internet ý tưởng đưa nói chuyện, bàn luận xung quanh vấn đề đưa lên mạng Như vậy, tham gia diễn đàn mạng thành viên không cần phải tập trung đòa điểm mà cần ngồi nhà với máy tính tham gia vào mạng tham gia diễn đàn ưu điểm phương pháp chổ có nhiều người nhiều nơi giới tham gia vào diễn đàn vấn đề đặt diễn đàn chắn mau chóng giải thích Diễn đàn web chương trình ứng dụng xây dựng dạng trang web Với web, người sử dụng truy xuất đến trang ứng dụng để trao đổi thông tin với người khác Do chương trình xây dựng web có trao đổi thông tin người sử dụng với nên trang web ứng dụng thiết phải trang web có nội dung động Trong năm gần để xây dựng trang web động người ta thường hay sử dụng ngôn ngữ như: VBScript, Jscript, ASP Ngoài trang web cho phép người sử dụng trao đổi thông tin với nên phải có sở liệu để lưu trữ thông tin mà người sử dụng trao đổi với http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN Xay dung dien dan tren web CHƯƠNG CÁC CÔNG CỤ TR GIÚP Phần giới thiệu thành phần cần thiết để ứng dụng chạy công cụ giúp cho việc lập trình KIL OBO OKS CO M I YÊU CẦU VỀ MÔI TRƯỜNG LÀM VIỆC CỦA ỨNG DỤNG Diễn đàn Web chương trình ứng dụng viết giao diện web người sử dụng ngồi máy để truy xuất trang web ứng dụng yêu cầu phải có máy chủ chạy phần mềm web server (thông thường IIS (Internet Information Server chạy WinNT hay Personal Web Server chạy Win98) Thứ hai, trang web có tương tác với sở liệu cần phải có MS Access hay SQL Server Thứ ba, phải có chuẩn kết nối sở liệu để đưa liệu từ người sử dụng vào sở liệu truy xuất liệu từ bảng sở liệu Khi xây dựng chương trình có nhiều cách lựa chọn môi trường làm việc ứng dụng em chọn môi trường làm việc cho ứng dụng gồm: - PWS (Personal Web Server) - Cơ sở liệu: Microsoft Access 98 - Chuẩn kết nối: ODBC Web Server chương trình ứng dụng Trên web server chứa site mà máy truy xuất đến site Thông thường máy có hệ điều hành Windows 98 web server Personal Web Server, máy WindowsNT Server dùng phần mềm IIS 4.0 Về sở liệu, ứng dụng thực tế người ta thường hay sử dụng SQL Server Tuy nhiên trình xây dựng chương trình máy tính có cấu hình đủ mạnh để cài đặt SQL Server Hơn chương trình ta dùng sở liệu để lưu trữ thông tin vào bảng nên việc chọn SQL Server hay MS Access không quan trọng Về chuẩn ODBC, ODBC viết tắt Open Database Connectivity (hệ thống kết nối CSDL mở) ODBC coi giao thức chuẩn để giao tiếp chương trình ứng dụng với hệ thống bảng sở liệu Ví dụ ta viết chương trình ứng dụng có truy xuất sở liệu thông qua ODBC ODBC nhận yêu cầu từ chương trình ứng dụng chuyển thành ngôn ngữ database engine để truy xuất sở liệu Và để hình dung khái quát cách chương trình làm việc cách trao đổi liệu từ người sử dụng với sở liệu ta xem hình Máy Máy chủ Internet ODBC Intranet Hình 2: Yêu cầu môi trường làm việc ứng dụng CSDL http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN KIL OBO OKS CO M Theo hình vẽ trên, người sử dụng có thông qua môi trường mạng Internet hay Intranet truy xuất trang ứng dụng web server (máy chủ) Khi có thao tác với sở liệu như: gửi bài, tìm kiếm thông tin yêu cầu web server thực Web server thực thi đoạn mã lệnh để truy xuất bảng sở liệu thông quan ODBC, tuỳ theo yêu cầu người sử dụng web server đưa liệu vào sở liệu truy xuất thông tin từ sở liệu cuối trả cho người sử dụng kết mà họ yêu cầu Trên số điều môi trường cách thức hoạt động ứng dụng II CÁC CÔNG CỤ TR GIÚP TRONG LẬP TRÌNH Jscript (javascript): Jscript phát triển Microsoft nhằn làm tăng tính cho trình duyệt Internet Explorer Trước trang web viết HTML có khả tương tác với người sử dụng với Jscript tạo trang web đầy sống động khả tương tác mạnh Nếu lập trình với Java việc học Jscript dễ dàng Mặt dù chức Jscript không mạnh ngôn ngữ lập trình Java hay C++ đủ để người lập trình viết chương trình nhỏ cho trang web Trong thực tế người ta thường hay sử dụng Jscript để tạo trang web tương tác với người dùng như: form nhập số liệu, nút bấm trang web, hình ảnh chuyển động trang web , làm cho trang web giống chương trình thực thụ VBScript (visual basic script) Vbscript Microsoft phát triển Cũng Jscript, Vbscript chèn vào trang web để làm tăng thêm tính tương tác cho trang web Thường Vbsript dùng để viết đoạn chương trình tính toán số liệu trang web, dùng để viết đoạn chương trình trao đổi liệu trang web sở liệu Tóm lại, Jscript Vbscript phiên ngôn ngữ Jscript trông gần giống Java hay Vbscript trông gần giống Visual basic Thêm vào Jscript VBScript không dùng để tạo ứng dụng độc lập mà phải chạy kèm vào trang web đoạn mã ngôn ngữ dòch thực thi web server hay trình duyệt người sử dụng ASP (active server page) Microsoft Active Server Page (ASP) môi trường kòch máy chủ dùng để tạo ứng dụng Web động có tương tác ASP có tập đối tượng có sẵn với nhiều tính phong phú, khả hỗ trợ VBScript JScript với số thành phần ActiveX khác kèm theo - Đặc điểm ASP http://kilobooks.com THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN Xay dung dien dan tren web Tạo trang web động có tương tác: ASP có hộ trợ script JScript Vbscript, cách đưa script vào trang ASP tạo trang web động có tương tác KIL OBO OKS CO M ASP có hỗ trợ đối tượng xây dựng sẵn, với đối tượng với script tạo trang web đa Ví dụ dùng đối tượng Request để viết đoạn chương trình yêu cầu server cung cấp thông tin từ server Ngoài ASP có đối tượng khác mà dùng người dùng phải đònh nghóa trước dùng, đối tượng cung cấp cho người lập trình có khả tạo trang Web hữu ích Có thể truy xuất đến sở liệu MS Access hay SQL server - Khả ASP Với ASP ta tạo nhiều loại web có Internet Sau ta liệt kê số khả mà ASP làm: Tạo hình ảnh quảng cáo động sinh động đẹp mắt trang web Có thể đưa thông tin từ form HTML lên sở liệu Có thể tạo hiển thò nội dung khác tuỳ thuộc vào người sử dụng Có nghóa người sử dụng có nội dung hiển thò trình duyệt khác với người sử dụng khác Đối với trình duyệt web khác nhau, version khác (IE hay Netscape) asp có nội dung hiển thò khác tuỳ thuộc vào khả trình duyệt - Các đối tượng ASP Nhằm tạo điều kiện cho người lập trình, ASP cung cấp cho người lập trình năm đối tượng xây dựng sẵn CLIENT REQUEST OBJECT Cookies Form QueryString ServerVariables ClientCertificate SERVER RESPONSE OBJECT Cookies (properties) (methods) SERVER OBJECT (methods) Hình 3: Các đối tượng xây dựng sẵn ASP APPLICATION OBJECT SESSION OBJECT (methods) (properties) (methods) (properties) http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN Trong đó: Application Request Response Server Dùng để lưu trữ thông tin cần thiết phiên làm việc user Những thông tin lưu trữ session không bò user di chuyển qua trang ứng dụng Dùng để chia sẻ thông tin user ứng dụng Đối tượng Application thường dùng để đếm số lần truy cập đến ứng dụng user dùng để truy cập thông tin chuyển với yêu cầu HTTP Những thông tin gồm tham số form Submit dùng phương thức POST hay GET hay tham số ghi với trang asp lời gọi đến trang Dùng đối tượng Request để chia sẻ thông tin trang asp ứng dụng Ngoài Request dùng để lấy giá trò cookie lưu trữ máy client gửi thông tin user, gồm thông tin ghi trực tiếp browser, chuyển browser đến URL khác thiết lập cookie máy client cung cấp phương tiện truy cập đến phương thức thuộc tính server KIL OBO OKS CO M Session - Cách tạo trang ASP Với trang HTML có sẵn, ta dễ dàng tạo trang ASP cách thêm vào lệnh ASP Script cần thiết đổi phần mở rộng thành asp - Cách chèn ASP Script vào trang ASP: ASP Script phải đặt ký hiệu khối Những lệnh nằm phải sử dụng ngôn ngữ scripting thức qui đònh cho trang Để đònh ngôn ngữ thức cho trang ASP, ta dùng dẫn đặt dòng trang ASP Lưu ý, ngôn ngữ Vbsvript ngôn ngữ thức ngầm đònh cho trang ASP Dùng khối để đònh nghóa Procedure (Sub Function) có sử dụng trang ASP (các Procedure thường đặt cuối trang) Visual InterDev (visual Internet Development) Visual InterDev phần mềm phát triển Microsoft Đây phần mềm có hỗ trợ cho lập trình thiết kế web đặc biệt phần mềm có cho phép người lập trình nhìn thấy trực tiếp trang web thiết kế Visual InterDev hỗ trợ mạnh cho việc lập trình trang web có tương tác Tất đối tượng ASP phầm mềm hỗ trợ Do tất đối tượng ASP phần mềm hổ trợ nên việc lấy Visual Interdev để soạn thảo trang asp nhanh gặp lỗi http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ TRỰ C TUYẾN KIL OBO OKS CO M - Những ưu điểm phần mềm: Hỗ trợ mạnh cho người lập trình tạo trang ứng dụng ngôn ngữ HTML hay ngôn ngữ DHTML Là công cụ lập trình mạnh cho web, phần mềm có nhiều công cụ xây dựng sẵn, đối tượng xây dựng sẵn thư viện Ngoài người lập trình sử dụng đến công cụ gỡ rối chương trình, kiểm tra chương trình hay tạo trang web cách nhanh chóng Tích hợp tất thuộc tính, đối tượng ngôn ngữ VBScript, JavaScript, J++ hay đối tượng ASP Visual InterDev có trình soạn thảo thông minh, tự động hiểu tất method, properties, event đối tượng (để thấy rõ điều xin xem hình 5) Một vài hình vẽ sau cho thấy thuận tiện Visual InterDev việc lập trình web, đặc biệt lập trình với trang ASP Cho phép tạo trang html, asp Hình 4: Chọn lựa kiểu khác để tạo trang web Hiển thò tất thuộc tính phương thức đối tượng asp Hình 5: Trình soạn thảo thông minh cho phép lập trình thuận lợi http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 10 TRỰC TUYẾN Xay dung dien dan tren web Tạo Project để chứa tất file web site KIL OBO OKS CO M Cho phép gỡ rối chương trình Các công cụ hỗ trợ cho lập trình trang web Nhìn thấy trực tiếp kết lập trình Xem mã nguồn chương trình Hình 6: Có thể quản lý project, thấy trực quan kết lập trình, hỗ trợ công cụ DHTML (dynamic html) - DHTML kết hợp thuộc tính HTML, JavaScript Vbscript Trước muốn làm trang Web đẹp, với hình ảnh động, chữ đổi màu, đổi kiểu chữ hay muốn làm menu trang web điều khó khăn Gần Microsoft đưa công nghệ DHTML (dynamic HTML), DHTML xây dựng dựa tảng HTML, khả DHTML tỏ trội so với HTML khả tạo trang web động linh hoạt - Khả DHTML Với DHTML ta dễ dàng tạo hiệu ứng trang web, công việc trước phải nhiều thời gian công sức Có thể dấu dòng chữ hay ảnh trang web cho xuất ta muốn Có thể tạo dòng chữ hay tranh sống động trang web Có thể tạo form trang web, liệu form cho hiển thò lên trang web mà mở trang web khác (thông thường, với HTML ta muốn hiển thò thông tin khác lên trang web bắt buộc trang web khác phải mở ra) Có thể dùng DHTML để hiển thò thông tin sở liệu http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ 11 TRỰC TUYẾN CHƯƠNG PHÂN TÍCH CHƯƠNG TRÌNH I TỔNG QUÁT VỀ CHỨC NĂNG CỦA DIỄN ĐÀN TRÊN WEB KIL OBO OKS CO M - Gửi lên diễn đàn - Xem gửi theo chủ đề khác - Trả lời gửi - Tìm kiếm - Đăng ký trở thành thành viên diễn đàn - Đánh dấu ưa thích - Xoá có diễn đàn - Thêm người sử dụng - Xoá người sử dụng - Thêm chủ đề cho diễn đàn - Xoá chủ đề Chức Diễn đàn web cho phép người sử dụng đưa ý kiến họ lên mạng Để hiểu cách khái quát web forum hoạt động xét ví dụ chức diễn đàn xem gửi Ví dụ: Khi tham gia vào diễn đàn người sử dụng lựa chọn chủ đề loạt chủ đề diễn đàn hình 7, Ví dụ ta chọn chủ đề “lập trình”, sau chọn chủ đề xong, danh sách thuộc chủ đề xuất hình Người sử dụng chọn trong danh sách để xem nội dung, ví dụ chọn “Con trỏ C” nội dung hình 9, người đọc thấy trả lời nhắp vào nút trả lời nhập nội dung vào form hình 10 nhắp nút trả lời, trả lời nằm câu hỏi Nếu người sử dụng muốn gửi nhắp vào nút “Gửibàimới” Trên phần sơ lược hoạt động diễn đàn Ngoài cho phép người dùng có nhiều thao tác khác khác Để minh hoạ cho chức diễn đàn gửi trả lưòi bài, ta đưa ví dụ để hình dung khái quát diễn đàn dùng làm có dáng dấp Phần sau chi tiết chức diễn đàn Hình 7: Các chủ đề diễn ®µn Hình 8: Danh sách đăng http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 12 TRỰC TUYẾN KIL OBO OKS CO M Xay dung dien dan tren web Hình 9: Xem nội dung Hình 10: Gửi mới, trả lời II CÁC VẤN ĐỀ CẦN GIẢI QUYẾT KHI XÂY DỰNG CHƯƠNG TRÌNH Thiết kế tổng quát ứng dụng: nhằm giúp người lập trình dễ phát triển ứng dụng cách có tổ chức, hướng, yêu cầu đề Thiết kế sở liệu: phần quan trọng, có liên quan đến tính tối ưu hệ thống Xây dựng giao diện: tạo điều kiện thuận lợi cho người sử dụng gửi yêu cầu đến web server Viết trang web để thực chức chương trình: dựa vào ASP ngôn ngữ script để tạo modul cho chương trình Kiểm tra, sửa lỗi chương trình Phân cấp người sử dụng Không phải tất người sử dụng diễn có quyền thực tất khả Ví dụ, người sử dụng thông thường có quyền xoá diễn đàn, đánh dấu Do vậy, phân quyền cho người sử dụng điều cần thiết tham gia vào diễn đàn tuỳ theo quyền mà có chức khác Chương trình chia người sử dụng thành cấp: cấp 0, cấp cấp - Cấp 0: người sử dụng chưa đăng ký - Cấp 1: người quản lý hệ thống - Cấp 2: người sử dụng có đăng ký tên truy nhập a Người sử dụng thông thường Diễn đàn mạng nơi mà tất người tham gia đóng góp ý kiến, câu hỏi Do vậy, người không cần đăng ký tham gia vào diễn đàn có khả sau: - Xem nội dung - Gửi câu hỏi theo chủ đề đònh - Gửi câu trả lời cho câu mà biết - Sắp xếp trật tự gởi theo ý muốn: theo chủ đề gửi, theo tiêu đề, theo ngày tháng năm, theo người gửi, - Tìm kiếm: tìm kiếm gởi diễn đàn theo: nội dung gởi, theo chủ đề, theo tiêu đề gửi http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 36 TRỰC TUYẾN Xay dung dien dan tren web Từ khoá 100 100 100 100 100 100 100 100 Tự học Visual Basic Trong Ngày KIL OBO OKS CO M Mãbàigửi Đưa từ khoá bảng tạm vào bảng chính: Đưa từ khoá vào bảng từ khoá theo nguyên tắc, từ khoá có không thêm vào, ngược lại từ chưa có thêm vào cuối bảng.Ta dùng ngôn ngữ truy vấn liệu để thực điều sqlQuery = "INSERT INTO TuKhoa ([tukhoa])SELECT DISTINCT TuKhoaTam.tukhoa FROM TuKhoaTam LEFT JOIN TuKhoa ON TuKhoaTam.tukhoa=TuKhoa.tukhoa WHERE (((TuKhoa.tukhoa) is null));" Sau thực câu lệnh sql bảng từ khoá thêm vào từ chưa có Ví dụ bảng từ khoá trước có từ: Visual, học, sau thêm từ khoá có mã gửi 100 vào sau: Mãtừkhoá Từkhoá Visual Học Tự Basic Trong Ngày http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ 37 TRỰC TUYẾN Thủ tục tách nội dung gửi thành từ khoá đưa từ khoá vào bảng tạm: KIL OBO OKS CO M sub AddKeyWordtoTempTable(theString, IDMsg) delim_ = ",.?/""!#$%^&*()-_=+\|;:" On error resume next delim = delim_ & chr(13) & chr(10)& chr(32) sql= "Delete * from TuKhoaTam;" Set Conn = Session("DBConn") Conn.Execute(sql) str = trim(theString) length = len(str) if length = then exit sub start = for i = to length ch = mid(str, i, 1) if InStr(delim, ch) > then KeyWord = trim(mid(str, start, i - start)) if KeyWord "" and not Isnull(KeyWord) then Set Cn = Session("Connect") sqlNew = "INSERT INTO TuKhoaTam ( ma, tukhoa )SELECT "&IDMsg&", '"&KeyWord&"';" Cn.Execute(sqlNew) end if start = i + end if next if start < i then KeyWord = Trim(Mid(str, start, i-start)) if KeyWord "" and not IsNull(KeyWord) then Set Conn = Session("Connect") sqlNew = "INSERT INTO TuKhoaTam ( ma, tukhoa)SELECT "&IDMsg&", '"&KeyWord&"';" Conn.Execute(sqlNew) end if end if end sub Tạo bảng mục: Để tìm kiếm viết theo tiêu đề theo nội dung, chương trình xây dựng bảng mục để tìm kiếm cụ thể sau: Sau có bảng từ khoá tạm bảng từ khoá ta tiếp tục xây dựng bảng mục Bảng từ khoá tạm dùng để lấy từ khoá gửi số mã gửi kết hợp với bảng từ khoá từ khoá ứng với mã từ khoá Vậy ta có giá trò mãbàigửi mãtừkhoá để chèn vào bảng mục http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 38 TRỰC TUYẾN Xay dung dien dan tren web Tên trường Mãbàigửi Mãtừkhoá Kiểu liệu Number Number Giải thích KIL OBO OKS CO M Ví dụ: Bảng sau ví dụ cho từ khoá có mã 100, trường mã từ khoá đối chiếu với bảng từ khoá Giả sử từ Visual số 98, từ học có mã số 99 Mãbàigửi 98 99 100 100 100 100 100 100 100 100 Mãtừkhoá 6 Câu lệnh sql dùng để xây dựng bảng mục: sqlQuery = "INSERT INTO ChiMuc ([mabai], [matukhoa] )SELECT DISTINCT TuKhoaTam.ma, TuKhoa.matukhoa FROM TuKhoaTam LEFT JOIN TuKhoa ON TuKhoaTam.tukhoa=TuKhoa.tukhoa;" Vậy ta có bảng mục Tìm kiếm nào? Để tìm kiếm theo nội dung ta cần phải kết hợp ba bảng “BàiGửi” bảng “TừKhoá” bảng “ChỉMục” theo quan hệ hình sau: Hình 28: Quan hệ bảng “Bài Gửi”, “Chỉ Mục”, “TừKhoá “ http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ 39 TRỰC TUYẾN Với kết hợp ta có cách tìm kiếm sau: Ví dụ người sử dụng cần tìm kiếm có chữ “Java” thực query KIL OBO OKS CO M sau: Hình 29: Dùng SQL để tìm kiếm Tuy nhiên trang tìm kiếm ta nhận từ tìm kiếm từ trang web, sau nhận xong ta phải đưa từ vào chuỗi query để tìm cần tìm Trong câu truy vấn sau, biến chuoicantim la biến lấy từ trang web SQLQuery = "SELECT BaiGui.mabai, BaiGui.tieude, BaiGui.nguoigui, BaiGui.email, BaiGui.thoigian, BaiGui.capbai, BaiGui.baicha, BaiGui.thutu, TuKhoa.TuKhoa FROM TuKhoa INNER JOIN (ChiMuc INNER JOIN BaiGui ON ChiMuc.mabai = BaiGui.mabai) ON TuKhoa.matukhoa = ChiMuc.matukhoa WHERE (((TuKhoa.TuKhoa)='"&chuoicantim&"'));" Sau thực query có tìm thấy ta cho xuất lên trang web có sau: Hình 30: Kết tìm kiếm theo nội dung http://kilobooks.com Xay dung dien dan tren web THƯ VIỆN ĐIỆN TỬ 40 TRỰC TUYẾN KIL OBO OKS CO M c.Tìm kiếm theo tiêu đề Các tiêu đề gửi sau gửi lên diễn đàn tách thành từ khoá lưu trữ bảng từ khoá bảng mục dành riêng cho từ khoá Cách xây dựng bảng mục, xây dựng bảng từ khóa cách thức xây dựng thuật toán tìm kiếm hoàn toàn tương tự cách xây dựng thuật toán tìm kiếm thao nội dung Sắp xếp theo lựa chọn khác Có nhiều lựa chọn xếp cho phép lựa chọn cách phù hợp với yêu cầu người sử dụng Mỗi cách xếp khác chẳng qua xuất hình danh sách theo cách khác Do vậy, chương trình có nhiều thủ tục xuất gửi hình trang, người sử dụng chọn cách xếp trang web chạy lại có cách xuất viết theo thủ tục khác Khi có tác động từ người dùng, chương trình xuất biến “sapxep” kèm với đòa trang hiển thò select name="list" onchange="window.open(this.options[this.selectedIndex].value,'_top'); list.options[0].selected=true" style="FONT-FAMILY: VNTime; FONT-SIZE: 10pt"> [Chọn cách Sxếp] Chủ đề Tiêu đề Câu hỏi Thời gian Người gửi Bình thường Với cách truyền biến kèm theo đòa cho phép ta cần sử dụng trang hiển thò mà dùng nhiều cách hiển thò khác vào thời điểm khác Ví dụ: Người sử dụng chọn cách hiển thò “Câu hỏi” trang chạy lại trang dsachbai.asp có kèm theo biến sapxep = cauhoi Trang dsachbai.asp dùng Request.QueryString(“sapxep”) lấy biến sapxep dùng biến để chọn câu hỏi để hiển thò III XỬ LÝ YÊU CẦU CỦA NGƯỜI ĐÃ ĐĂNG KÝ Đối với người đăng ký quyền người sử dụng chưa đăng ký như: gửi bài, xem bài, tìm kiếm có thêm chức ghi nhớ Ghi nhớ Khi người sử dụng có đăng ký hệ thống tên truy nhập hệ thống cho phép người sử dụng sau login vào hệ thống lưu lại mà họ cảm thấy cần phải nhớ Hệ thống dựa vào tên truy nhập phân biệt tên truy nhập lưu trữ, lần sau người sử dụng truy nhập hệ thống tên http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 41 TRỰC TUYẾN Xay dung dien dan tren web truy nhập mật hệ thống cho phép người xem lưu lần trước Tác dụng lớn phương pháp giúp người sử dụng đọc mà họ ý thay phải tìm kiếm hàng trăm diễn đàn Các chọn lưu vào bảng ghi nhớ sau: Kiểu liệu Number Number Giải thích KIL OBO OKS CO M Tên trường MãngườiSD Mãbàigửi Sau người sử dụng login chương trình tự động thiết lập số biến Session để lưu trữ thông tin người sử dụng bao gồm: - Mã người sử dụng - Tên người sử dụng Nhờ biến mà suốt phiên làm việc người sử dụng chương trình luôn sử dụng biến “mã người sử dụng” người sử dụng xem muốn lưu lại kết hợp biến Session(“manguoiSD”) mã gửi lưu hai giá trò vào bảng Để bảo mật thông tin sau người sử dụng chủ động logout biến Session(“manguoiSD”) xoá IV XỬ LÝ YÊU CẦU CỦA NGƯỜI QUẢN LÝ: Đối với người quản lý chức giống người sử dụng chưa đăng ký, người sử dụng đăng ký có chức khác nhằm trì cho hệ thống hoạt động tốt Xoá Để quản lý nội dung diễn đàn, hệ thống cho phép người quản lý diễn đàn xoá diễn đàn Thuật toán xoá thực sau: [...]... dung dien dan tren web II PHÂN TÍCH VÀ THIẾT KẾ 1 Sơ đồ dòng dữ liệu DFD KIL OBO OKS CO M Các bài viết trên diễn đàn Xem các bài đã được gởi Đăng ký User U chưa s đăng ký e Gởi bài lên diễn đàn Yêu cầu xem các bài trên diễn đàn Đăng ký Phân tích bài được gởi Yêu cầu tìm kiếm các thông tin trên diễn đàn Các trang Web Tìm kiếm Kết quả tìm kiếm U User đã s đăng ký e User gởi yêu cầu r User Login Xử lý... bài gởi Phân tích bài được gởi phân tích nội dung của bài gởi Bảng chỉ mục, bảng từ khoá Các chủ đề của diễn đàn Hình 15: DFD cấp 1 của phân tích bài được gởi lên diễn đàn (3) Bảng từ khoá, bảng chỉ mục Các chủ đề của diễn đàn Tìm kiếm theo chủ đề Tìm kiếm theo nội dung Các bài viết trên diễn đàn Tìm kiếm Dữ liệu các bài gởi Tìm kiếm theo tiêu đề Hình 16: DFD cấp 2 của quá trình tìm kiếm (4) http://kilobooks.com... Forum Khi người sử dụng tham gia vào diễn đàn, nếu đăng ký một tên truy nhập trên hệ thống thì người sử dụng ngoài các quyền giống như một người sử dụng bình thường (người sử dụng chưa đăng ký) thì còn có khả năng ghi nhớ các bài viết trên diễn đàn mà người đó cảm thấy đáng để đọc, đáng để nhớ Đến lúc nào đó người sử dụng cần đọc lại nội dung các bài này trên diễn đàn thì không phải tìm các bài đó mà... theo tiêu đề, thời gian, chủ đề Các bài viết trên diễn đàn Các chủ đề của diễn đàn Hình 13: DFD cấp 1 của phần xem các bài đã được gửi (1) http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 19 TRỰC TUYẾN Xay dung dien dan tren web Kiểm tra cho phép đâng ký Danh sách người sử dụng KIL OBO OKS CO M Đăng ký Hình 14: DFD cấp 1 của phân đăng ký (2) Các bài viết trên diễn đàn Phân tích các thông tin chủ đề; ngày tháng... sau: - Quản lý người sử dụng: - Xoá người sử dụng: xoá một người sử dụng bình thường ra khỏi hệ thống - Tạo người sử dụng mới - Xoá các bài trên diễn đàn: Đây là một biện pháp dùng để quản lý nội dung của các bài viết gởi lên diễn đàn - Quản lý các chủ đề của diễn đàn: - Xoá một chủ đề bất kỳ - Thêm vào một chủ đề mới http://kilobooks.com THƯ VIỆN ĐIỆN TỬ 14 TRỰC TUYẾN Xay dung dien dan tren web SƠ ĐỒ... các bài viết gửi lên diễn đàn đều có đặc điểm chung giống nhau như sau: - Thuộc về một chủ đề nào đó - Có thể là câu hỏi hoặc là câu trả lời cho một vấn đề nào đó Vậy để quản lý các bài viết trên diễn đàn ta phải biết: - Bài đó thuộc chủ đề nào - Phải phân biệt được đâu là câu hỏi đâu là câu trả lời - Nếu là câu trả lời thì phải biết trả lời cho bài nào Để giải quyết các vấn đề trên ta đưa ra các cách... Kiểu Number Char(40) Char(255) Diễn giải Số bài viết Thứ tự bài viết trên diễn đàn Chủ đề bài viết Trong đó: Mãbài: tự động tăng lên 1 khi thêm 1 bài viết mới Thứtự: đây là chuỗi ký tự gồm một hoặc nhiều cụm 4 chữ số, và số cụm từ cho biết cấp của bài đó: Số cụm = 1 (cấp 1): đây là một bài viết mới Số cụm = n, n>1 (cấp n): đây là bài trả lời cho bài cấp n-1 Cách xây dựng trường Thứtự Nếu là bài viết... dan tren web Ví dụ: Ta có 4 bài viết được gửi lên diễn đàn và được lưu trữ trong cơ sở dữ liệu như sau: Thứtự 0001 00020001 000300020001 00040001 Tiêu đề Tiêu đề 1 Trảlời: Tiêu đề 1 Trảlời:Trảlời: Tiêu đề 1 Trảlời: Tiêu đề 1 KIL OBO OKS CO M Mãbài 1 2 3 4 Với cách lưu trữ như trên ta đễ dàng nhận ra được qui luật tổ chức các bài trên được gửi lên diễn đàn Cụ thể: bài số 1 có trường Thứtự là một cụm bốn... lý và cách hiển thò các bài như thế nào trên trang web, sau đây chúng ta đi sâu vào cách xây dựng từng trang web Xây dựng các trang web dựa vào yêu cầu của người sử dụng II XỬ LÝ YÊU CẦU CỦA NGƯỜI CHƯA ĐĂNG KÝ Xin được nhắc lại người sử dụng chưa đăng ký có thể có các yêu cầu sau: - Xem bài - Gửi một bài mới - Trả lời một bài đã có - Sắp xếp các bài đã hiển thò trên trang web theo nhiều cách: sắp xếp... (Admin hay User) - Đòa chỉ Email c Dữ liệu về chủ đề của các bài gửi Các chủ đề của các bài trên web forum có các thuộc tính sau: - Mã chủ đề - Tên chủ đề 3 Các cấu trúc kiểu Dựa vào các dữ liệu thu lượm được ta có xây dựng thành các cấu trúc kiểu Từ các cấu trúc kiểu này ta có thể xây dựng được các mô hình biểu diễn hệ thống thông tin của web forum BàiGửi a Dữ liệu bài gửi: MãBàiGửi Dữ liệu Mã bài gửi ... chủ đề khác - Trả lời gửi - Tìm kiếm - Đăng ký trở thành thành viên diễn đàn - Đánh dấu ưa thích - Xoá có diễn đàn - Thêm người sử dụng - Xoá người sử dụng - Thêm chủ đề cho diễn đàn - Xoá chủ... cần thiết phải có là: - Tên người gửi - Nội dung gửi Nếu trả lời tham số cần thiết là: - Mã trả lời - Tên người gửi - E-mail - Tiêu đề - Nội dung gửi Hình 24: Trả lời http:/ /kilobooks. com THƯ VIỆN... MãChủĐề TênChủĐề 0-n 1-1 BàiGửi MãBàiGửi 0-n Cấp MãBàiTrước ThứTự MãChủĐề Tiêu Đề NgườiGửi Email NgàyGiờGửi NộiDung 1-n 1-1 TừKhoá MãTừKhoá TừKhoá 0-n 1-1 ChỉMục MãChỉMục MãBàiGửi 1-1 Ghinhớbài Mã