Xây dựng diễn đàn trên web - Web Forum

Vbscript cuõng do Microsoft phaùt trieån. Cuõng nhö Jscript, Vbscript ñöôïc cheøn vaøo trang web ñeå laøm taêng theâm tính naêng töông taùc cho trang web. Thöôøng Vbsript ñöôïc duøng ñeå vieát nhöõng ñoaïn chöông trình tính toaùn soá lieäu treân trang web, hoaëc coù theå duøng noù ñeå vieát nhöõng ñoaïn chöông trình trao ñoåi döõ lieäu giöõa trang web vaø caùc cô sôû döõ lieäu. Toùm laïi, Jscript vaø Vbscript khoâng phaûi laø phieân baûn cuûa baát kyø moät ngoân ngöõ naøo maëc duø Jscript thì troâng gaàn gioáng nhö Java hay Vbscript thì troâng gaàn gioáng nhö Visual basic. Theâm vaøo ñoù Jscript vaø VBScript khoâng duøng ñeå taïo ra ñöôïc caùc öùng duïng ñoäc laäp maø noù phaûi ñöôïc chaïy keøm vaøo trong caùc trang web vaø caùc ñoaïn maõ cuûa caùc ngoân ngöõ naøy seõ ñöôïc dòch vaø thöïc thi treân web server hay treân trình duyeät cuûa ngöôøi söû duïng.

doc49 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2303 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Xây dựng diễn đàn trên web - Web Forum, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
noäi dung vöøa ñoïc. Ngoaøi ra ngöôøi söû duïng coù theå göûi moät baøi môùi. Qui trình tìm kieám baøi AÙp duïng ñoái vôùi: Ngöôøi söû duïng bình thöôøng, ngöôøi söû duïng coù ñaêng kyù, ngöôøi quaûn lyù. Khi ngöôøi söû duïng muoán tìm kieám moät baøi naøo ñoù, seõ coù moät trang tìm kieám vaø ôû trang tìm kieám - Tìm kieám theo chuû ñeà cuûa baøi göûi - Tìm kieám theo noäi dung cuûa baøi göûi - Tìm kieám nhöõng baøi trong moät khoaûng thôøi gian giôùi haïn naøo ñoù Keát quaû traû veà: Neáu tìm thaáy caùc baøi coù nhö noäi dung ngöôøi duøng caàn tìm kieám thì danh saùch caùc baøi ñöôïc tìm thaáy seõ ñöôïc lieät keâ treân trang web Neáu khoâng tìm thaáy seõ hieån thò thoâng baùo khoâng tìm thaáy Qui trình ñaêng kyù vaø login cuûa ngöôøi söû duïng, ghi nhôù baøi AÙp duïng ñoái vôùi: Ngöôøi chöa ñaêng kyù, ngöôøi ñaõ ñaêng kyù, ngöôøi quaûn lyù. Ñeå trôû thaønh moät thaønh vieân cuûa dieãn ñaøn, ngöôøi söû duïng phaûi ñaêng kyù moät account vaø seõ ñöôïc heä thoáng caáp moät teân truy nhaäp vaø maät khaåu rieâng cho ngöôøi ñoù. Khi yeâu caàu ñöôïc ñaêng kyù, moät trang ñaêng kyù bao goàm caùc oâ ñeå nhaäp thoâng tin ñöôïc hieän ra, ngöôøi söû duïng seõ nhaäp caùc thoâng tin vaøo caùc oâ naøy vaø göûi ñi, neáu ñöôïc heä thoáng chaáp nhaän thì ngöôøi ñaêng kyù seõ nhaän ñöôïc moät thoâng baùo chuùc möøng thaønh coâng, neáu khoâng thaønh coâng heä thoáng seõ thoâng baùo loãi vaø hieän ra laïi trang ñaêng kyù cho ngöôøi söû duïng söûa laïi caùc thoâng tin ñaêng kyù cho phuø hôïp. Khi ñaõ trôû thaønh moät thaønh vieân cuûa dieãn ñaøn ngöôøi söû duïng ngoaøi vieäc coù theå söû duïng caùc trang gioáng nhö moät ngöôøi söû duïng bình thöôøng coøn coù theå ñaùnh daáu nhöõng baøi maø mình öu thích. Qui trình hoaït ñoäng cuûa ngöôøi quaûn lyù: AÙp duïng ñoái vôùi: Ngöôøi quaûn lyù Ñeå forum hoaït ñoäng toát caàn phaûi coù moät ngöôøi quaûn lyù, chöùc naêng cuûa ngöôøi quaûn lyù bao goàm: - Xoaù baøi Chöông trình cho pheùp ngöôøi quaûn lyù choïn baát cöù moät baøi naøo ñoù ñeå xoaù vaø coù theå xoaù nhieàu baøi hoaëc xoaù moät baøi. Vieäc xoaù baøi thöïc hieän theo nguyeân taéc: khi moät baøi cha ñöôïc xoaù thì taát caû caùc baøi con cuûa noù seõ ñöôïc xoaù theo. Theâm ngöôøi söû duïng , xoaù ngöôøi söû duïng Nhaèm quaûn lyù ñöôïc ngöôøi duøng treân heä thoáng, chöông trình cho pheùp ngöôøi quaûn lyù coù theå theâm ngöôøi söû duïng vaøo heä thoáng vaø ngöôïc laïi coù theå xoaù ngöôøi söû duïng ra khoûi heä thoáng. - Theâm chuû ñeà , xoaù chuû ñeà Ñeå cho dieãn ñaøn ngaøy caøng phong phuù, ngöôøi quaûn lyù coù theå theâm vaøo dieãn ñaøn nhöõng chuû ñeà cho phuø hôïp vôùi yeâu caàu thöïc tieãn. Ngöôïc laïi, neáu coù moät chuû ñeà naøo ñoù maø quaù laâu ngaøy khoâng coù ngöôøi tham gia thì ngöôøi quaûn lyù coù theå xoaù chuû ñeà ñoù ñi. Vieäc xoaù chuû ñeà cuõng theo nguyeân taéc laø taát caû caùc baøi thuoäc chuû ñoù cuõng xoaù theo. CHÖÔNG 4 PHAÂN TÍCH THIEÁT KEÁ HEÄ THOÁNG Nhö ñaõ noùi trong phaàn giôùi thieäu toång quan veà hoaït ñoäng cuûa dieãn ñaøn, ngöôøi söû duïng khi göûi moät baøi leân dieãn ñaøn thì caùc thaønh phaàn cuûa moät baøi göûi: thoâng tin veà ngöôøi göûi, tieâu ñeà baøi göûi, noäi dung... ñeàu phaûi ñöôïc löu tröõ trong cô sôû döõ lieäu treân maùy chuû. Thoâng thöôøng ngöôøi ta thöôøng duøng caùc moâ hình cô sôû döõ lieäu quan heä ñeå chöùa caùc thoâng tin veà baøi göûi nhö SQL Server hay MS Access. Trong ñoà aùn naøy em choïn cô sôû döõ lieäu laø Access ñeå löu caùc thoâng tin veà baøi göûi. Do coù lieân quan nhieàu ñeán cô sôû döõ lieäu, ñoàng thôøi caùc thoâng tin cuûa baøi göûi ñoøi hoûi phaûi ñöôïc toå chöùc moät caùch hôïp lyù vaø chaët cheõ neân trong phaàn naøy chuû yeáu trình baøy veà phaàn phaân tích vaø thieát keá heä thoáng. I. NHÖÕNG THOÂNG TIN CAÀN QUAÛN LYÙ TREÂN CÔ SÔÛ DÖÕ LIEÄU Thoâng tin caùc baøi maø ngöôøi söû duïng göûi leân dieãn ñaøn, moãi baøi phaûi coù maõ rieâng, caáp cuûa baøi ñoù, noäi dung cuûa baøi laø gì. Thoâng tin veà ngöôøi duøng, khi ngöôøi söû duïng ñaêng kyù thì caùc thoâng tin veà ngöôøi söû duïng nhö: teân truy nhaäp, maät khaåu, caáp cuûa ngöôøi söû duïng (caáp Admin vaø caáp User) phaûi ñöôïc löu tröõ treân cô sôû döõ lieäu. Noäi dung cuûa baøi sau khi göûi seõ ñöôïc taùch ra thaønh caùc töø khoaù, caùc töø khoaù naøy seõ taïo neân caùc baûng chæ muïc duøng cho muïc ñích tìm kieám thoâng tin veà caùc baøi göûi ñaõ göûi leân dieãn ñaøn. Do vaäy caùc töø khoaù, caùc chæ muïc cuõng phaûi ñöôïc löu giöõ. Quaûn lyù caùc chuû ñeà cuûa baøi göûi, caùc chuû ñeà naøy do ngöôøi quaûn lyù dieãn ñaøn qui ñònh vaø coù theå theâm bôùt. Quaûn lyù caùc thoâng tin ghi nhôù baøi cuûa taát caû caùc thoâng tin veà ngöôøi söû duïng: hoï teân, e-mail... II. PHAÂN TÍCH VAØ THIEÁT KEÁ 1. Sô ñoà doøng döõ lieäu DFD User Chöa ñaêng kyù Gôûi baøi leân dieãn ñaøn Admin gôûi yeâu caàu Yeâu caàu tìm kieám caùc thoâng tin treân dieãn ñaøn Yeâu caàu xem caùc baøi treân dieãn ñaøn Caùc baøi vieát treân dieãn ñaøn Keát quaû tìm kieám Caùc trang Web Admin Login Xem caùc baøi ñaõ ñöôïc gôûi 1 Phaân tích baøi ñöôïc gôûi 3 Tìm kieám 4 Xöû lyù yeâu caàu cuûa Admin 7 Login 5 Admin User ñaõ ñaêng kyù Xöû lyù yeâu caàu cuûa User ñaõ ñaêng kyù 6 User Login User gôûi yeâu caàu Ñaêng kyù 2 Ñaêng kyù Baûng chæ muïc, baûng töø khoaù Döõ lieäu caùc baøi gôûi Danh saùch User Caùc chuû ñeà cuûa forum User chöa ñaêng kyù User ñaõ ñaêng kyù Admin Hình 12: DFD caáp 0 Hình 13: DFD caáp 1 cuûa phaàn xem caùc baøi ñaõ ñöôïc göûi (1) Xem caùc baøi ñaõ ñöôïc göûi 1 Caùc baøi vieát treân dieãn ñaøn Caùc chuû ñeà cuûa dieãn ñaøn Saép xeáp baøi theo tieâu ñeà, thôøi gian, chuû ñeà... 1.1 Hình 14: DFD caáp 1 cuûa phaân ñaêng kyù (2) Ñaêng kyù 2 Danh saùch ngöôøi söû duïng Kieåm tra cho pheùp ñaâng kyù 2.1 Hình 15: DFD caáp 1 cuûa phaân tích baøi ñöôïc gôûi leân dieãn ñaøn (3) Phaân tích baøi ñöôïc gôûi 3 Caùc baøi vieát treân dieãn ñaøn Caùc chuû ñeà cuûa dieãn ñaøn Baûng chæ muïc, baûng töø khoaù phaân tích noäi dung cuûa baøi gôûi 3.1 Phaân tích caùc thoâng tin chuû ñeà; ngaøy thaùng gôûi, caáp baøi gôûi... 3.2 Hình 16: DFD caáp 2 cuûa quaù trình tìm kieám (4) Tìm kieám 4 Tìm kieám theo noäi dung 4.1 Tìm kieám theo chuû ñeà 4.2 Tìm kieám theo tieâu ñeà 4.3 Caùc baøi vieát treân dieãn ñaøn Caùc chuû ñeà cuûa dieãn ñaøn Baûng töø khoaù, baûng chæ muïc Döõ lieäu caùc baøi gôûi Hình 17: DFD caáp 1 cuûa phaân Login (5) Login 5 Danh saùch ngöôøi söû duïng Kieåm tra cho pheùp login 5.1 Hình 18: DFD caáp 1 cuûa quaù trình xöû lyù caùc yeâu caàu cuûa User ñaõ ñaêng kyù (6) Danh saùch ngöôøi söû duïng Caùc chuû ñeà cuûa dieãn ñaøn Caùc baøi vieát treân dieãn ñaøn 6.1 Ñaùnh daáu caùc baøi öa thích. 6 Xöû lyù yeâu caàu cuûa User ñaõ ñaêng kyù Hình 19: DFD caáp 1 cuûa quaù trình xöû lyù yeâu caàu cuûa Admin (7) Xöû lyù yeâu caàu cuûa Admin 7 Theâm chuû ñeà 7.1 Xoaù caùc baøi ñaõ gôûi 7.5 Theâm User 7.3 Caùc chuû ñeà cuûa forum Döõ lieäu noäi dung baøi gôûi Danh saùch User Xoaù User 7.4 Xoaù chuû ñeà 7.2 2. Döõ lieäu thu thaäp ñöôïc a. Döõ lieäu veà baøi göûi Moãi baøi göûi bao goàm caùc thuoäc tính nhö sau: - Maõ baøi göûi - Caáp cuûa baøi göûi - Maõ baøi cha (neáu laø baøi môùi tröôøng naøy coù giaù trò laø 0, baøi traû lôøi tröôøng naøy chöùa maõ baøi cuûa baøi ñöôïc noù traû lôøi) - Thöù töï - Thuoäc chuû ñeà naøo - Tieâu ñeà cuûa baøi vieát - Hoï teân ngöôøi göûi - Ñòa chæ mail cuûa ngöôøi göûi - Ngaøy giôø göûi - Noäi dung cuûa baøi göûi. b. Döõ lieäu veà ngöôøi söû duïng Moãi ngöôøi söû duïng khi ñaêng kyù seõ coù nhöõng thuoäc tính sau: - Maõ ngöôøi söû duïng - Teân truy nhaäp - Maät khaåu - Quyeàn truy caäp (Admin hay User) - Ñòa chæ Email c. Döõ lieäu veà chuû ñeà cuûa caùc baøi göûi Caùc chuû ñeà cuûa caùc baøi treân web forum coù caùc thuoäc tính sau: - Maõ chuû ñeà - Teân chuû ñeà 3. Caùc caáu truùc kieåu BaøiGöûi MaõBaøiGöûi Caáp BaøiTröôùc ThöùTöï MaõChuûÑeà Tieâu Ñeà NgöôøiGöûi Email NgaøyGiôøGöûi NoäiDung Döïa vaøo caùc döõ lieäu thu löôïm ñöôïc ta coù xaây döïng thaønh caùc caáu truùc kieåu. Töø caùc caáu truùc kieåu naøy ta coù theå xaây döïng ñöôïc caùc moâ hình bieåu dieãn heä thoáng thoâng tin cuûa web forum a. Döõ lieäu baøi göûi: Döõ lieäu Maõ baøi göûi laø khoaù cuûa thöïc theå BaøiGöûi vì noù cho pheùp chæ ñònh moät baøi duy nhaát Caùc kieåu döõ lieäu khaùc ñeàu laø thuoäc tính cuûa thöïc theå BaøiGöûi vì coù caùc phuï thuoäc haøm giöõa khoaù laø MaõBaøiGöûi vaø moãi thuoäc tính cuûa noù. Vaäy ta nhaän ñöôïc caáu truùc kieåu phieáu laø BAIGUI Vaäy moãi giaù trò cuûa khoaù MaõBaøiGöûi töông öùng vôùi moät vaø chæ moät giaù trò thuoäc tính khaùc cuûa thöïc theå BAIGUI NgöôøiSD MaõNgöôøiSD TeânTruyNhaäp Email MaätKhaåu QuyeànTruyCaäp b. Ngöôøi söû duïng: MaõNgöôøiSD laø khoaù cuûa thöïc theå NGUOISD, ñaây cuõng laø caáu truùc kieåu phieáu vaø khoaù MaõNgöôøiSD cho pheùp chæ ñònh moät ngöôøi söû duïng duy nhaát. Moãi moät giaù trò cuûa khoaù MaõNgöôøiSD chæ töông öùng vôùi moät vaø chæ moät giaù trò thuoäc tính khaùc cuûa thöïc theå NGUOISD. c. Chuû ñeà: ChuûÑeà MaõChuûÑeà TeânChuûÑeà MaõChuûÑeà laø khoaù cuûa thöïc theå chuû ñeà, thuoäc tính coøn laïi duy nhaát cuûa phieáu CHUDE laø ChuûÑeà (teân cuûa chuû ñeà). Moãi moät ChuûÑeà cho pheùp xaùc ñònh duy nhaát moät chuû ñeà. d. Döõ lieäu Töø khoaù: TöøKhoaù MaõTöøKhoaù TöøKhoaù Töø khoaù coù nguoàn goác töø noäi dung cuûa baøi göûi. Töø noäi dung cuûa baøi göûi ta taùch noäi dung thaønh caùc töø rieâng bieät, moãi töø laø moät töø khoaù. MaõTöøKhoaù laø khoaù cuûa thöïc theå TUKHOA. Trong caáu truùc cuûa thöïc theå TUKHOA MaõTöøKhoaù töông öùng vôùi moät vaø chæ moät giaù trò thuoäc tính TöøKhoaù. 4. Quan heä giöõa caùc thöïc theå a. Quan heä giöõa BaøiGöûi vaø Töø khoaù Sau khi ngöôøi söû duïng göûi moät baøi baát kyø leân dieãn ñaøn, noäi dung cuûa baøi ngoaøi vieäc löu giöõ vaøo cô sôû döõ lieäu coøn ñöôïc taùch ra thaønh caùc töø, caùc töø naøy ñöôïc goïi laø caùc töø khoaù vaø cuõng ñöôïc löu tröõ. Vaø ñeå theå hieän moái quan heä giöõa caùc töø khoaù ta coù moät keát hôïp khoâng phaân caáp giöõa hai thöïc theå BAIGUI vaø TUKHOA. Thuoäc veà 1-n 0-n BaøiGöûi MaõBaøiGöûi Caáp MaõBaøiTröôùc ThöùTöï MaõChuûÑeà Tieâu Ñeà NgöôøiGöûi Email NgaøyGiôøGöûi NoäiDung TöøKhoaù MaõTöøKhoaù TöøKhoaù b. Quan heä giöõa CHUDE vaø BAIGUI Ñaây laø moät caáu truùc kieåu CHA_CON. Moãi chuû ñeà coù theå khoâng coù moät baøi naøo noùi veà chuû ñeà ñoù hoaëc cuõng coù theå coù nhieàu baøi noùi veà chuû ñeà naøy. Vaø moãi baøi chæ duy nhaát noùi veà moät chuû ñeà. 0_n 1_1 BaøiGöûi MaõBaøiGöûi Caáp MaõBaøiTröôùc ThöùTöï Tieâu Ñeà NgöôøiGöûi Email NgaøyGiôøGöûi NoäiDung ChuûÑeà MaõChuûÑeà TeânChuûÑeà c. Quan heä giöõa ngöôøi söû duïng vaø baøi göûi: Ñoái vôùi ngöôøi söû duïng coù ñaêng kyù moät teân truy nhaäp vaø moät maät khaåu treân heä thoáng, thì chöông trình cung caáp khaû naêng löu tröõ baát cöù moät baøi naøo ñoù maø ngöôøi duøng öa thích, hoaëc löu nhôù laïi ñeå laàn sau ñoïc caùc baøi naøy ñöôïc deã daøng vaø nhanh choùng. Ñeå theå hieän moái quan heä treân ta coù quan heä sau: GhiNhôùBaøi 1-1 0-n BaøiGöûi MaõBaøiGöûi Caáp MaõBaøiTröôùc ThöùTöï MaõChuûÑeà Tieâu Ñeà NgöôøiGöûi Email NgaøyGiôøGöûi NoäiDung NgöôøiSD MaõNgöôøiSD TeânTruyNhaäp MaätKhaåu QuyeànTruyCaäp MaõChuûÑeà TeânChuûÑeà ChuûÑeà MaõBaøiGöûi Caáp MaõBaøiTröôùc ThöùTöï Tieâu Ñeà NgöôøiGöûi Email NgaøyGiôøGöûi NoäiDung BaøiGöûi MaõTöøKhoaù TöøKhoaù TöøKhoaù MaõNgöôøiSD Teânñaàyñuû TeânTruyNhaäp MaätKhaåu NgöôøiSD Ghi nhôù baøi Thuoäc veà 1-1 0-n 0-n 1-1 1-n 1-n Moâ hình thöïc theå keát hôïp: Moâ hình quan nieäm döõ lieäu ChuûÑeà Ghinhôùbaøi BaøiGöûi MaõChuûÑeà TeânChuûÑeà Maõ Maõbaøi MaõNgöôøiSD MaõNgöôøiSD TeânTruyNhaäp MaätKhaåu QuyeànTruyCaäp NgöôøiSD MaõTöøKhoaù TöøKhoaù TöøKhoaù MaõChæMuïc MaõBaøiGöûi MaõTöøKhoaù ChæMuïc MaõBaøiGöûi Caáp MaõBaøiTröôùc ThöùTöï MaõChuûÑeà Tieâu Ñeà NgöôøiGöûi Email NgaøyGiôøGöûi NoäiDung 1-1 0-n 1-1 0-n 1-1 0-n 1-n 1-1 1-1 0-n Chuyeån ñoåi moâ hình quan nieäm döõ lieäu thaønh moâ hình logic döõ lieäu teäp: Baûng BaøiGöûi: Baûng naøy ñöôïc duøng ñeå löu tröõ caùc baøi ñöôïc göûi leân dieãn ñaøn B¶ng 5 B¶ng 2 B¶ng 1 Döõ lieäu Moâ taû kieåu döõ lieäu Moâ taû MaõBaøiGöûi N Maõ (Soá thöù töï) cuûa baøi ñöôïc göûi. Caáp N Duøng chöùa caáp cuûa baøI göûi. MaõBaøiTröôùc N Chöùa MaõBaøiGöûi cuûa baøI maø noù traû lôøi. ThöùTöï N MaõChuûÑeà N Chöùa maõ chuû ñeà cuûa baøi göûi ñoù TieâuÑeà M Chöùa tieâu ñeà cuûa baøi göûi NgöôøiGöûi C50 Teân cuûa ngöôøi göûi Email C100 Ñòa chæ Email cuûa ngöôøi göûi NgaøyGiôøGöûi D Ngaøy giôø luùc göûi NoäiDung M Noäi dung cuûa baøi göûi Baûng ChæMuïc: Döõ lieäu Moâ taû kieåu döõ lieäu Moâ taû MaõChæMuïc N MaõBaøiGöûi N MaõTöøKhoaù N B¶ng 3 Baûng TöøKhoaù: Döõ lieäu Moâ taû kieåu döõ lieäu Moâ taû MaõTöøKhoaù N TöøKhoaù C30 B¶ng 4 Baûng NgöôøiSD: Döõ lieäu Moâ taû kieåu döõ lieäu Moâ taû MaõNgöôøiSD N TeânTruyNhaäp C30 MaätKhaåu C30 MaõQuyeànTruyNhaäp N Baûng GhiNhôùBaøi: Döõ lieäu Moâ taû kieåu döõ lieäu Moâ taû Maõ N MaõNgöôøiSD N MaõBaøiGöûi C30 CHÖÔNG 5 XAÂY DÖÏNG CHÖÔNG TRÌNH Chöông naøy trình baøy hai phaàn chính: Phaàn 1: Phaân tích caùc chöùc naêng chung nhö thuaät toaùn quaûn lyù caùc baøi nhö theá naøo, traät töï caùch hieån thò thoâng tin veà caùc baøi leân web. Phaàn 2: Ñi saâu vaøo caùch vieát caùc trang theo yeâu caàu cuûa ngöôøi söû duïng: ví duï caùc trang ñaùp öùng yeâu caàu cuûa ngöôøi quaûn lyù, cuûa ngöôøi söû duïng I. QUAÛN LYÙ CAÙC BAØI GÖÛI LEÂN DIEÃN ÑAØN Taát caû caùc baøi vieát göûi leân dieãn ñaøn ñeàu coù ñaëc ñieåm chung gioáng nhau nhö sau: - Thuoäc veà moät chuû ñeà naøo ñoù - Coù theå laø caâu hoûi hoaëc laø caâu traû lôøi cho moät vaán ñeà naøo ñoù. Vaäy ñeå quaûn lyù caùc baøi vieát treân dieãn ñaøn ta phaûi bieát: - Baøi ñoù thuoäc chuû ñeà naøo - Phaûi phaân bieät ñöôïc ñaâu laø caâu hoûi ñaâu laø caâu traû lôøi - Neáu laø caâu traû lôøi thì phaûi bieát traû lôøi cho baøi naøo Ñeå giaûi quyeát caùc vaán ñeà treân ta ñöa ra caùc caùch giaûi quyeát sau: Coù nhieàu caùch quaûn lyù baøi khaùc nhau, trong phaàn naøy em xin ñöôïc trình baøy hai caùch toå chöùc quaûn lyù baøi, phaân tích öu nhöôïc ñieåm cuûa hai phöông phaùp, cuoái cuøng ruùt ra phöông phaùp noåi troäi hôn. Caùch 1: Caùch döõ lieäu cuûa baøi göûi ñöôïc löu tröõ trong baûng coù caáu truùc nhö sau: Teân tröôøng Kieåu Dieãn giaûi Maõbaøi Number Soá baøi vieát Thöùtöï Char(40) Thöù töï baøi vieát treân dieãn ñaøn Chuûñeà Char(255) Chuû ñeà baøi vieát Trong ñoù: Maõbaøi: töï ñoäng taêng leân 1 khi theâm 1 baøi vieát môùi Thöùtöï: ñaây laø chuoãi kyù töï goàm moät hoaëc nhieàu cuïm 4 chöõ soá, vaø soá cuïm töø cho bieát caáp cuûa baøi ñoù: Soá cuïm = 1 (caáp 1): ñaây laø moät baøi vieát môùi. Soá cuïm = n, n>1 (caáp n): ñaây laø baøi traû lôøi cho baøi caáp n-1 Caùch xaây döïng tröôøng Thöùtöï Neáu laø baøi vieát môùi: Thöùtöï = Maõbaøi Neáu laø baøi traû lôøi:Thöùtöï = Thöùtöï cuûa baøi traû lôøi + Maõbaøi Neáu maõ baøi khoâng ñuû boán chöõ soá thì theâm caùc chöõ soá 0 vaøo ñaàu cho ñuû boán chöõ soá. Ví duï: Ta coù 4 baøi vieát ñöôïc göûi leân dieãn ñaøn vaø ñöôïc löu tröõ trong cô sôû döõ lieäu nhö sau: Maõbaøi Thöùtöï Tieâu ñeà 1 0001 Tieâu ñeà 1 2 00020001 Traûlôøi: Tieâu ñeà 1 3 000300020001 Traûlôøi:Traûlôøi: Tieâu ñeà 1 4 00040001 Traûlôøi: Tieâu ñeà 1 Vôùi caùch löu tröõ nhö treân ta ñeã daøng nhaän ra ñöôïc qui luaät toå chöùc caùc baøi treân ñöôïc göûi leân dieãn ñaøn. Cuï theå: baøi soá 1 coù tröôøng Thöùtöï laø moät cuïm boán chöõ soá vaäy ñaây laø baøi caáp 1, baøi vieát soá 2 coù Thöùtöï laø moät chuoãi coù 2 cuïm boán chöõ soá, vaäy ñaây laø baøi caáp 2 ñoàng thôøi chuoãi kyù töï cuoái (tröø 4 kyù töï ñaàu) laø chuoãi Thöùtöï cuûa baøi 1 neân ñaây laø baøi traû lôøi cho baøi 1.... Tuy nhieân vôùi caùch quaûn lyù nhö treân, veà maët hình thöùc nhìn vaøo raát khoù hieåu, veà maët noäi dung caùch toå chöùc tröôøng noäi dung nhö vaäy laø toán keùm (nhö khi coù moät baøi caáp = 10 thì soá kyù töï cuûa tröôøng naøy seõ leân ñeán 4 x 10 = 40 kyù töï). Hay ñeå tìm moät baøi xem noù laø baøi con cuûa baøi naøo thì phaûi phaân tích moät chuoãi kyù töï khaù daøi sau ñoù laïi phaûi ñi so saùnh vôùi tröôøng thöù töï cuûa taát caû caùc baøi môùi tìm ñöôïc... Caùch 2 Ñeå deã hình dung caùch quaûn lyù caùc baøi vieát treân dieãn ñaøn ta ñöa ra ví duï sau: Giaû söû ta ñaõ coù caùc baøi göûi coù maõ baøi töø: 150 ñeán 157 trong ñoù coù caû caùc caâu hoûi vaø caâu traû lôøi. Khi tham gia vaøo dieãn ñaøn, muoán xem caùc baøi ñaõ göûi chuùng ta seõ thaáy xuaát hieän moät trang troâng gioáng nhö hình sau: Hình 20: Trang hieån thò caùc baøi vieát Nhö ñaõ thaáy trong hình, moät baøi vieát ñöôïc hieån hieän leân trang web bao goàm caùc thoâng tin veà: tieâu ñeà cuûa baøi vieát, ngöôøi göûi, ngaøy giôø göûi. Tieâu ñeà ñöôïc hieån thò döôùi daïng moät sieâu lieân keát vaø khi ngöôøi söû duïng nhaép vaøo ñaây seõ xem ñöôïc noäi dung cuûa baøi vieát. Vaø caùc baøi vieát seõ ñöôïc löu tröõ trong cô sôû döõ lieäu nhö sau: Maõbaøi Caápbaøi Baøicha Thöùtöï Tieâuñeà Chuûñeà Ngöôøigöi Noäidung ... 150 1 0 1 ... ... ... ... ... 151 1 0 1 ... ... ... ... ... 152 2 151 1 ... ... ... ... 153 2 151 2 ... ... ... ... 154 3 152 1 ... ... ... ... 155 4 154 1 ... ... ... ... 156 1 0 1 ... ... ... ... 157 2 156 1 ... ... ... ... Caáp cuûa baøi vieát Ñeå coù theå quaûn lyù ñöôïc baøi vieát göûi leân dieãn ñaøn thì moãi moät baøi ñöôïc göûi seõ ñöôïc gaùn cho moät maõ soá, nhöng ñeå coù theå quaûn lyù theo kieåu phaân caáp giöõa baøi cha, baøi con thì phaûi coù theâm moät tröôøng phaân baøi ra thaønh caùc caáp khaùc nhau. Caáp cuûa baøi phaûi tuaân theo qui taéc sau ñaây: - Baøi ñöôïc göûi laàn ñaàu tieân khoâng traû lôøi cho baøi naøo caû seõ laø caáp 1 - Caùc baøi traû lôøi cho baøi caáp 1 seõ coù caáp laø 2 - Baøi traû lôøi cho baøi caáp 2 seõ coù caáp laø 3... Ví duï: nhö trong hình treân caùc baøi coù daáu coäng phía tröôùc coù caáp laø 1, caùc baøi coøn laïi caáp cuûa baøi ñöôïc xaùc ñònh baèng caùc daáu muõi teân ôû phía tröôùc (coù 2 muõi teân seõ laø baøi caáp 2...) Löu tröõ maõ baøi cha Ñaây laø caùch ñi keøm vôùi caùch xaùc ñònh caáp baøi ñeå xem baøi naøo laø baøi cha, baøi naøo laø baøi con vaø baøi con ñoù thuoäc veà baøi cha naøo. Tröôøng baøi cha ñöôïc toå chöùc theo caùch: - Neáu laø baøi göûi ñaàu tieân, khoâng traû lôøi cho moät baøi naøo caû thì giaù trò cuûa tröôøng naøy baèng 0 - Neáu laø baøi traû lôøi thì giaù trò cuûa tröôøng naøy laø soá maõ baøi cuûa baøi cha (baøi maø noù traû lôøi). Ví duï: Nhìn vaøo trong baûng sau ta coù theå thaáy ñöôïc qui luaät toå chöùc tröôøng baøi cha nhö theá naøo. Baøi 150, 151, 156 laø caùc caâu hoûi, baøi ñaàu tieân. Baøi 152, 153 laø baøi traû lôøi cuûa baøi 151, 154 laø baøi traû lôøi cuûa baøi 152... Caùch toå chöùc tröôøng thöù töï Ñeå giuùp cho vieäc xaùc ñònh thöù töï cuûa caùc baøi göûi leân dieãn ñaøn. Ñöôïc toå chöùc theo luaät sau: caâu hoûi (khoâng traû lôøi cho baøi naøo caû) coù thöù töï baèng 1. Caâu traû lôøi cho moät baøi theo luaät sau: - Neáu coù moät caâu traû lôøi thì thöù töï cuûa caâu traû lôøi baèng 1 - Neáu coù töø hai caâu traû lôøi cho moät baøi (hai caâu traû lôøi coù caáp baøi baèng nhau) thì baøi traû lôøi thöù nhaát cuõng coù giaù trò thöù töï baèng 1, baøi traû lôøi thöù hai seõ coù thöù töï baèng 2... Chuùng ta seõ thaáy ñöôïc taùc duïng cuûa tröôøng naøy moät caùch roõ reät laø khi in danh saùch caùc baøi theo qui luaät caây thö muïc. Hieån thò baøi theo qui luaät caây thö muïc Vôùi caùch quaûn lyù treân ta coù theå vieát nhöõng ñoaïn chöông trình cho pheùp hieån thò caùc baøi vieát theo luaät hieån thò cuûa moät caây thö muïc, töùc laø baøi con hieån thò ngay sau döôùi baøi cha. Hình veõ sau hieån thò taát caû caùc baøi trong baûng treân. 1 2 3 4 5 156 157 151 152 154 155 153 150 Baøi cha Thöù töï 1 0 1 2 156 1 3 0 1 4 151 1 5 152 1 6 154 1 7 151 2 8 0 1 Caáp baøi Maõ baøi Trong hình treân, ñaàu tieân baøi caáp 1 seõ ñöôïc hieån thò ñaàu tieân, sau ñoù laø caùc caáp lôùn hôn nhöng phaûi laø baøi con cuûa baøi ñaõ hieån thò. Ví duï baøi 156 coù moät baøi con laø baøi 157. Töông töï cho caùc baøi khaùc. Trong caùc hieån thò treân ta thaáy baøi baøi 151 coù taát caû 4 baøi traû lôøi, trong ñoù coù hai baøi traû lôøi cuøng caáp laø 152 vaø 153, nhö vaäy tröôøng thöù töï cuûa chuùng khaùc nhau ñeå coù theå in ra ñöôïc ñuùng traät töï (in ngang haøng vôùi baøi 152). Vaäy ta coù theå thaáy caùch quaûn lyù baøi thöù hai hieäu quaû vaø roõ raøng hôn nhieàu so vôùi caùch quaûn lyù thöù nhaát. Do vaäy trong chöông trình caùch thöù hai seõ ñöôïc choïn ñeå quaûn lyù caùc baøi vieát treân dieãn ñaøn. Treân laø phaàn toùm taét caùch quaûn lyù vaø caùch hieån thò caùc baøi nhö theá naøo treân trang web, sau ñaây chuùng ta ñi saâu vaøo caùch xaây döïng töøng trang web. Xaây döïng caùc trang web döïa vaøo yeâu caàu cuûa ngöôøi söû duïng II. XÖÛ LYÙ YEÂU CAÀU CUÛA NGÖÔØI CHÖA ÑAÊNG KYÙ Xin ñöôïc nhaéc laïi ngöôøi söû duïng chöa ñaêng kyù coù theå coù caùc yeâu caàu sau: - Xem baøi - Göûi moät baøi môùi - Traû lôøi moät baøi ñaõ coù - Saép xeáp caùc baøi ñaõ hieån thò treân trang web theo nhieàu caùch: saép xeáp theo thôøi gian, saép xeáp theo thöù töï abc cuûa tieâu ñeà, saép xeáp theo thöù töï abc cuûa ngöôøi göûi. Hieån thò baøi theo moät thaùng naøo ñoù tuyø yù. - Tìm kieám Trang web phaûi cho pheùp ngöôøi söû duïng thöïc hieän ñöôïc taát caû caùc yeâu caàu treân. Ñaàu tieân ta duøng hình veõ cuûa trang web ñeå minh hoaï, sau ñoù seõ ñi saâu vaøo thuaät toaùn ñöôïc xaây döïng nhö theá naøo ñeå thöïc hieän caùc yeâu caàu ñoù. Hình 21: Caùc chöùc naêng chính treân trang web Tìm kieám Saép xeáp baøi theo thaùng Danh saùch caùc baøi Choïn caùch saép xeáp Gôûi baøi môùi 1. Xem baøi Ñeå xem ñöôïc noäi dung moät baøi caàn phaûi bieát baøi ñoù thuoäc chuû ñeà naøo vaø coù maõ soá baèng bao nhieâu. Do vaäy, khi moät ngöôøi tham gia vaøo dieãn ñaøn thì trang ñaàu tieân maø ngöôøi söû duïng nhìn thaáy laø moät danh saùch caùc chuû ñeà cuûa dieãn ñaøn. Töø ñaây ngöôøi söû duïng baét ñaàu choïn chuû ñeà maø mình quan taâm. Sau khi choïn chuû ñeà xong neáu coù baøi thuoäc chuû ñeà ñoù thì danh saùch baøi seõ ñöôïc hieån thò, trong hình treân laø danh saùch baøi thuoäc chuû ñeà “Laäp trình”. Vaø soá baøi hieån thò chæ laø caùc caùc baøi göûi trong thaùng, ví duï: hieän taïi ñang laø thaùng 5 thì caùc baøi trong thaùng 5 ñöôïc hieån thò leân. Thuaät toaùn hieån thò danh saùch caùc baøi theo chuû ñeà: Ñaàu vaøo: chuû ñeà caàn hieån thò Ñaàu ra: Neáu coù toàn taïi chuû ñeà: danh saùch caùc baøi theo chuû ñeà ñaõ choïn Neáu khoâng toàn taïi chuû ñeà: hieån thò thoâng baùo khoâng tìm thaáy Hình 22: Chuû ñeà cuûa dieãn ñaøn Ñeå coù ñöôïc ñaàu vaøo ta duøng caùc truyeàn bieán theo lieân keát, ví duï: neáu ngöôøi söû duïng caàn hieån thò baøi theo chuû ñeà laø “Laäp trình” töông öùng vôùi chuû ñeà laäp trình seõ coù moät maõ cho chuû ñeà ñoù (caùc giaù trò naøy naèm trong baûng “Chuû ñeà”), chuû ñeà laäp trình coù maõ laø “10” vaäy ta truyeàn bieán baèng nhö sau: sdachbai.asp?chude=10 trang dsachbai.asp seõ nhaän ñöôïc bieán chuû ñeà naøy baèng caùch duøng ñoái töôïng Request.QueryString(“chude”), sau ñoù duøng bieán naøy ñeå hieån thò caùc baøi chuû ñeà = 10 Thuaät toaùn hieån thò baøi: Choïn nhöõng baøi coù caáp = 1, theo thöù töï thôøi gian, theo chuû ñeà coù tröôùc Löu taát caû caùc baøi caáp 1 vaøo trong moät maûng coù teân mangCap1 Choïn nhöõng baøi coù caáp > 2 Löu taát caû caùc baøi caáp 2 vaøo maûng coù teân mangCap2 Hieån thò baøi: IF soá baøi caáp 1 > 0 thì For i = 0 to soá phaàn töû cuûa mangCap1 Hieån thò baøi caáp 1 Kieåm tra xem baøi naøy coù baøi traû lôøi hay khoâng Neáu coù: hieån thò baøi con ELSE Thoâng baùo [Khoâng coù baøi Thuaät toaùn tìm baøi con cuûa moät baøi caáp 1: - Ñaàu vaøo: maõ baøi cuûa baøi caáp 1 caàn tìm baøi con - Ñaàu ra: taát caû caùc baøi con (bao goàm taát caû baøi con cuûa baøi con) - Ñeå coù theå hieån thò ñöôïc taát caû caùc baøi con, ta duøng moät thuû tuïc ñeä qui. Thuû tuïc tìmbaicon (mabaicha) For i = 0 to soá phaàn töû cuûa maûng mangCap2 If baøi con coù BaøiCha = maõbaøicha thì In baøi con Goïi ñeä qui timbaicon(mabaicon) {maõ baøi con vöøa tìm thaáy} Neáu tìm thaáy: In ra End timbaicon 2. Xem noäi dung moät baøi Hình 23: Xem noäi dung baøi göûi Ñeå xem noäi dung moät baøi, ngöôøi söû duïng nhaép vaøo lieân keát cuûa baøi ñöôïc hieån thò, ví duï nhaép vaøo lieân keát “Con troû trong C” seõ ñoïc ñöôïc noäi dung nhö hình beân: Ñeå coù theå hieån thò ñöôïc noäi dung cuûa baøi vieát, moãi lieân keát cuûa moãi baøi coù chöùa bieán soá laø maõ cuûa baøi ñoù, ví duï baøi “Con troû trong C” coù maõ baøi laø 156 thì lieân keát seõ coù daïng: noidungbai.asp?mabai=156. Sau ñoù bieán naøy seõ ñöôïc truyeàn sang trang ñoïc noäi dung vôùi maõ baøi baèng 156. Trang noidungbai duøng Request.QueryString(“mabai”) ñeå laáy bieán maõ baøi. Sau khi xem xong, neáu bieát traû lôøi ngöôøi duøng coù theå baám vaøo nuùt, “Traû lôøi” ñeå traû lôøi cho baøi ñoù. 3. Gôûi baøi (baøi môùi vaø baøi traû lôøi) Khi ngöôøi duøng muoán göûi moät baøi môùi leân dieãn ñaøn, ngöôøi duøng nhaép vaøo nuùt göûi baøi Coù hai hình thöùc göûi baøi ñoù laø göûi baøi môùi vaø göûi baøi traû lôøi. Neáu göûi baøi môùi thì caùc tham soá caàn thieát phaûi coù laø: - Teân ngöôøi göûi Hình 24: Traû lôøi moät baøi - E-mail - Tieâu ñeà - Noäi dung baøi göûi Neáu laø baøi traû lôøi thì caùc tham soá caàn thieát laø: - Maõ cuûa baøi ñöôïc traû lôøi - Teân ngöôøi göûi - E-mail - Tieâu ñeà - Noäi dung baøi göûi Thuaät toaùn nhö sau: Kieåm tra tính chính xaùc cuûa caùc thoâng tin {email, ngöôøi göûi, tieâu ñeà ñaõ nhaäp ñuû chöa} Kieåm tra coù toàn taïi maõ baøi cuûa caâu hoûi hay khoâng Neáu coù { ñaây laø baøi traû lôøi } Döïa vaøo maõ baøi cuûa caâu hoûi xaùc ñònh: Caáp cuûa caâu hoûi Thöù töï cuûa caâu hoûi Gaùn caùc bieán cho baøi con: Caáp baøi = caáp baøi cha + 1 Baøi cha = maõ baøi cha ELSE {ñaây laø baøi môùi} Caáp baøi = 1 Baøi cha = 1 Thöù töï = 1 Ñöa taát caû caùc bieán vöøa coù vaøo cô sôû döõ lieäu ] 4. Ñaêng kyù trôû thaønh thaønh vieân cuûa Forum Khi ngöôøi söû duïng tham gia vaøo dieãn ñaøn, neáu ñaêng kyù moät teân truy nhaäp treân heä thoáng thì ngöôøi söû duïng ngoaøi caùc quyeàn gioáng nhö moät ngöôøi söû duïng bình thöôøng (ngöôøi söû duïng chöa ñaêng kyù) thì coøn coù khaû naêng ghi nhôù caùc baøi vieát treân dieãn ñaøn maø ngöôøi ñoù caûm thaáy ñaùng ñeå ñoïc, ñaùng ñeå nhôù. Ñeán luùc naøo ñoù ngöôøi söû duïng caàn ñoïc laïi noäi dung caùc baøi naøy treân dieãn ñaøn thì khoâng phaûi tìm caùc baøi ñoù maø chæ caàn login vaøo heä thoáng vaø yeâu caàu ñöôïc xem nhöõng baøi maø hoï ñaõ ñaùnh daáu, yeâu caàu naøy seõ ñöôïc chöông trình ñaùp öùng ngay. Vieäc ñaêng kyù moät teân truy nhaäp vaø moät maät khaåu khoâng naèm ngoaøi muïc ñích laø duøng teân truy nhaäp ñeå laøm cô sôû phaân bieät baøi ñöôïc ghi nhôù laø do ai thöïc hieän vaø giuùp cho chöông trình coù theå phaân bieät ñöôïc baøi naøo laø do ngöôøi naøo ghi nhôù. Khi ñaêng kyù yeâu caàu ngöôøi ñaêng kyù phaûi ñieàn ñaày caùc thoâng tin nhö treân hình sau: Hình 25: Ñaêng kyù söû duïng Sau khi nhaäp ñaày ñuû caùc thoâng tin treân, ngöôøi söû duïng baám nuùt “Ñaêng kyù”, chöông trình thöïc hieän thuû tuïc ñaêng kyù. Thuaät toaùn ñaêng kyù nhö sau: Nhaän thoâng tin veà Teânñaàyñuû, Teântruynhaäp, MaätKhaåu, E-mail Kieåm tra phaùt hieän loãi (thieáu thoâng tin, nhaäp sai yeâu caàu) IF coù loãi then baùo loãi Quay laïi trang nhaäp ELSE Truy xuaát cô sôû döõ lieäu chöùa döõ lieäu ngöôøi duøng cuûa heä thoáng If tìm thaáy moät Teântruynhaäp gioáng teân vöøa ñaêng kyù THEN Baùo loãi Quay laïi trang nhaäp Else {thoâng tin ñaêng kyù hôïp leä} Nhaäp taát caû caùc thoâng tin vöøa ñaêng kyù vaøo CSDL END IF Vaäy neáu ñaêng kyù thaønh coâng thì ngöôøi söû duïng ñoù töø ñaáy trôû veà sau coù theå söû duïng teân truy nhaäp vaø maät khaåu vöøa ñaêng kyù ñeå Login vaøo heä thoáng. 5. Tìm kieám: ÖÙng duïng cho pheùp ngöôøi söû duïng tìm kieám thoâng tin veà baát cöù moät baøi vieát naøo ñoù treân dieãn ñaøn theo nhöõng löïa choïn: tìm kieám theo chuû ñeà cuûa baøi göûi, tìm kieám theo tieâu ñeà cuûa baøi göûi, tìm kieám theo noäi dung baøi göûi. a. Tìm kieám theo chuû ñeà Ñeå tìm kieám theo chuû ñeà, ngöôøi söû duïng goõ moät chuoãi kyù töï baát kyø thuoäc chuû ñeà ñoù, sau ñoù baám nuùt “Search”, neáu coù chuû ñeà naøo coù chöùa chuoãi kyù töï cuûa ngöôøi söû duïng vöøa nhaäp thì seõ coù keát quaû traû veà nhö hình 27 Hình 26: Tìm kieám theo chuû ñeà Hình 27: Keát quaû tìm kieám theo chuû ñeà Thuaät toaùn tìm kieám theo chuû ñeà: SQLQuery = "Select * from chude where chude.chude like '%"&chuoicantim&"%'; Ta duøng caâu leänh SQL sau ñeå thöïc hieän vieäc tìm kieám: Trong ñoù bieán “chuoicantim” laø bieán ñöôïc laây töø oâ nhaäp chuoãi caàn tìm cuûa trang web tìm kieám. b. Tìm kieám theo noäi dung: Xaây döïng baûng chæ muïc phuïc vuï cho vieäc tìm kieám Ñeå xaây döïng baûng chæ muïc ñaàu tieân ta phaûi coù moät baûng töø khoaù chöùa caùc töø khoaù cuûa baøi vieát. Töø khoaù coù ñöôïc laø do noäi dung cuûa baøi vieát ñöôïc taùch thaønh caùc töø, sau ñoù cheøn vaøo baûng töø khoaù theo luaät sau: Baûng töø khoaù laø moät baûng chöùa caùc töø maø trong ñoù moãi töø chæ xuaát hieän moät laàn. Ñeå coù theå xaây döïng ñöôïc baûng töø khoaù ñaàu tieân phaûi coù ñöôïc noäi dung cuûa baøi vieát. Ñaàu vaøo: Noäi dung cuûa baøi vieát Ñaàu ra: Caùc töø khoaù Qui trình thöïc hieän xaây döïng moät baûng töø khoaù coù theå toùm taét nhö sau: - Ñaàu tieân ta taùch noäi dung cuûa baøi vieát thaønh caùc töø khoaù - Ñöa taát caû caùc töø khoaù vöøa taùch ñöôïc vaøo trong moät baûng taïm - Duøng ngoân ngöõ truy vaán döõ lieäu ñeå caäp nhaät caùc töø khoaù trong baûng taïm vaøo trong baûng töø khoaù chính theo nguyeân taéc: khoâng theâm vaøo baûng chính nhöõng töø maø baûng chính ñaõ coù. Ví duï: Ta coù moät baøi göûi coù caùc tham soá sau: Maõbaøigöûi = 100 Noäidung: Töï hoïc Visual-Basic 6 trong 6 ngaøy Sau khi taùch ra löu vaøo trong baûng taïm nhö sau: Maõbaøigöûi Töø khoaù 100 Töï 100 hoïc 100 Visual 100 Basic 100 6 100 Trong 100 6 100 Ngaøy Ñöa töø khoaù trong baûng taïm vaøo baûng chính: Ñöa caùc töø khoaù vaøo trong baûng töø khoaù theo nguyeân taéc, töø khoaù naøo ñaõ coù thì khoâng theâm vaøo, ngöôïc laïi töø chöa coù thì theâm vaøo cuoái baûng.Ta duøng ngoân ngöõ truy vaán döõ lieäu ñeå thöïc hieän ñieàu naøy 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 khi thöïc hieän caâu leänh sql treân baûng töø khoaù seõ theâm vaøo nhöõng töø chöa coù. Ví duï baûng töø khoaù tröôùc ñaõ coù töø: Visual, hoïc, sau khi theâm caùc töø khoaù cuûa baøi coù maõ baøi göûi laø 100 vaøo thì nhö sau: Maõtöøkhoaù Töøkhoaù 1 Visual 2 Hoïc 3 Töï 4 Basic 5 Trong 6 6 7 Ngaøy Thuû tuïc taùch noäi dung cuûa baøi göûi thaønh caùc töø khoaù vaø ñöa caùc töø khoaù naøy vaøo baûng taï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 = 0 then exit sub start = 1 for i = 1 to length ch = mid(str, i, 1) if InStr(delim, ch) > 0 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 + 1 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 Taïo baûng chæ muïc: Ñeå coù theå tìm kieám ñöôïc baøi vieát theo tieâu ñeà vaø theo noäi dung, chöông trình xaây döïng caùc baûng chæ muïc ñeå tìm kieám cuï theå nhö sau: Sau khi ñaõ coù ñöôïc baûng töø khoaù taïm vaø baûng töø khoaù ta tieáp tuïc xaây döïng baûng chæ muïc. Baûng töø khoaù taïm ñöôïc duøng ñeå laáy caùc töø khoaù cuûa moät baøi môùi ñöôïc göûi vaø soá maõ baøi cuûa baøi göûi ñoù keát hôïp vôùi baûng töø khoaù moãi töø khoaù seõ öùng vôùi moät maõ töø khoaù. Vaäy ta ñaõ coù ñöôïc 2 giaù trò laø maõbaøigöûi vaø maõtöøkhoaù ñeå cheøn vaøo baûng chæ muïc. Teân tröôøng Kieåu döõ lieäu Giaûi thích Maõbaøigöûi Number Maõtöøkhoaù Number Ví duï: Baûng sau ñaây laø ví duï cho caùc töø khoaù cuûa baøi coù maõ 100, tröôøng maõ töø khoaù seõ ñöôïc ñoái chieáu vôùi baûng töø khoaù. Giaû söû töø Visual trong baøi soá 98, töø hoïc coù maõ baøi soá 99 Maõbaøigöûi Maõtöøkhoaù 98 1 99 2 100 3 100 2 100 1 100 4 100 6 100 5 100 6 100 7 Caâu leänh sql duøng ñeå xaây döïng baûng chæ muïc: sqlQuery = "INSERT INTO ChiMuc ([mabai], [matukhoa] )SELECT DISTINCT TuKhoaTam.ma, TuKhoa.matukhoa FROM TuKhoaTam LEFT JOIN TuKhoa ON TuKhoaTam.tukhoa=TuKhoa.tukhoa;" Vaäy ta ñaõ coù ñöôïc baûng chæ muïc Tìm kieám nhö theá naøo? Ñeå tìm kieám ñöôïc moät baøi naøo ñoù theo noäi dung ta caàn phaûi keát hôïp ba baûng “BaøiGöûi” baûng “TöøKhoaù” vaø baûng “ChæMuïc” theo quan heä nhö hình sau: Hình 28: Quan heä giöõa baûng “Baøi Göûi”, “Chæ Muïc”, “TöøKhoaù “ Vôùi söï keát hôïp nhö treân ta coù theå coù caùch tìm kieám nhö sau: Ví duï ngöôøi söû duïng caàn tìm kieám moät baøi coù chöõ “Java” thì thöïc hieän query sau: Hình 29: Duøng SQL ñeå tìm kieám Tuy nhieân trong trang tìm kieám ta nhaän töø tìm kieám töø trang web, sau khi nhaän xong ta phaûi ñöa töø naøy vaøo trong chuoãi query ñeå tìm ra ñöôïc baøi caàn tìm. Trong caâu truy vaán sau, bieán chuoicantim chính la bieán ñöôïc laá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 khi thöïc hieän query neáu coù baøi ñöôïc tìm thaáy ta seõ cho xuaát leân trang web coù hình nhö sau: Hình 30: Keát quaû tìm kieám theo noäi dung c.Tìm kieám theo tieâu ñeà Caùc tieâu ñeà cuûa baøi göûi sau khi ñöôïc göûi leân dieãn ñaøn cuõng ñöôïc taùch ra thaønh caùc töø khoaù vaø cuõng ñöôïc löu tröõ trong caùc baûng töø khoaù vaø baûng chæ muïc daønh rieâng cho töø khoaù. Caùch xaây döïng caùc baûng chæ muïc, xaây döïng baûng töø khoùa vaø caùch thöùc xaây döïng thuaät toaùn tìm kieám hoaøn toaøn töông töï nhö caùch xaây döïng thuaät toaùn tìm kieám thao noäi dung. Saép xeáp caùc baøi theo nhöõng löïa choïn khaùc nhau Coù nhieàu löïa choïn saép xeáp cho pheùp löïa choïn caùc caùch phuø hôïp vôùi yeâu caàu cuûa ngöôøi söû duïng. Moãi moät caùch saép xeáp khaùc nhau chaúng qua xuaát ra maøn hình danh saùch caùc baøi theo caùc caùch khaùc nhau. Do vaäy, trong chöông trình seõ coù nhieàu thuû tuïc xuaát caùc baøi göûi ra maøn hình treân cuøng moät trang, khi ngöôøi söû duïng choïn moät trong caùc caùch saép xeáp thì trang web naøy seõ ñöôïc chaïy laïi vaø coù caùch xuaát hieän baøi vieát theo thuû tuïc khaùc. Khi coù moät taùc ñoäng töø ngöôøi duøng, chöông trình seõ xuaát ra moät bieán “sapxep” ñi keøm vôùi ñòa chæ cuûa trang hieån thò baøi select name="list" onchange="window.open(this.options[this.selectedIndex].value,'_top'); list.options[0].selected=true" style="FONT-FAMILY: .VNTime; FONT-SIZE: 10pt"> [Choïn caùch Sxeáp] Chuû ñeà Tieâu ñeà Caâu hoûi Thôøi gian Ngöôøi göûi Bình thöôøng Vôùi caùch truyeàn bieán keøm theo ñòa chæ cho pheùp ta chæ caàn söû duïng moät trang hieån thò maø coù theå duøng nhieàu caùch hieån thò baøi khaùc nhau vaøo töøng thôøi ñieåm khaùc nhau. Ví duï: Ngöôøi söû duïng choïn caùch hieån thò “Caâu hoûi” thì trang seõ chaïy laïi trang dsachbai.asp nhöng coù keøm theo bieán sapxep = cauhoi. Trang dsachbai.asp duøng Request.QueryString(“sapxep”) seõ laáy ñöôïc bieán sapxep vaø duøng bieán naøy ñeå choïn ra nhöõng baøi laø caâu hoûi ñeå hieån thò. III. XÖÛ LYÙ YEÂU CAÀU CUÛA NGÖÔØI ÑAÕ ÑAÊNG KYÙ Ñoái vôùi ngöôøi ñaõ ñaêng kyù ngoaøi caùc quyeàn nhö moät ngöôøi söû duïng chöa ñaêng kyù nhö: göûi baøi, xem baøi, tìm kieám ... coøn coù theâm ñöôïc chöùc naêng ghi nhôù baøi Ghi nhôù baøi Khi ngöôøi söû duïng coù ñaêng kyù treân heä thoáng moät teân truy nhaäp thì heä thoáng cho pheùp ngöôøi söû duïng sau khi login vaøo heä thoáng coù theå löu laïi ñöôïc nhöõng baøi maø hoï caûm thaáy caàn phaûi nhôù. Heä thoáng döïa vaøo teân truy nhaäp seõ phaân bieät ñöôïc baøi naøo laø cuûa teân truy nhaäp naøo löu tröõ, laàn sau neáu ngöôøi söû duïng truy nhaäp heä thoáng ñuùng teân truy nhaäp vaø maät khaåu thì heä thoáng cho pheùp ngöôøi ñoù xem caùc baøi cuûa mình ñaõ löu laàn tröôùc. Taùc duïng lôùn cuûa phöông phaùp naøy laø giuùp ngöôøi söû duïng coù theå ñoïc ngay ñöôïc nhöõng baøi maø hoï chuù yù thay vì phaûi tìm kieám treân haøng traêm baøi treân dieãn ñaøn. Caùc baøi ñöôïc choïn seõ ñöôïc löu vaøo trong baûng ghi nhôù sau: Teân tröôøng Kieåu döõ lieäu Giaûi thích MaõngöôøiSD Number Maõbaøigöûi Number Sau khi ngöôøi söû duïng login chöông trình seõ töï ñoäng thieát laäp moät soá bieán Session ñeå löu tröõ thoâng tin cuûa ngöôøi söû duïng bao goàm: - Maõ ngöôøi söû duïng - Teân ngöôøi söû duïng Nhôø caùc bieán naøy maø trong suoát phieân laøm vieäc cuûa ngöôøi söû duïng chöông trình luoân luoân söû duïng ñöôïc bieán “maõ ngöôøi söû duïng” do vaäy khi ngöôøi söû duïng xem moät baøi naøo ñoù muoán löu laïi baøi ñoù thì keát hôïp giöõa bieán Session(“manguoiSD”) vaø maõ cuûa baøi göûi ñoù vaø löu hai giaù trò naøy vaøo baûng treân. Ñeå baûo maät thoâng tin sau khi ngöôøi söû duïng chuû ñoäng logout thì bieán Session(“manguoiSD”) seõ ñöôïc xoaù. IV. XÖÛ LYÙ YEÂU CAÀU CUÛA NGÖÔØI QUAÛN LYÙ: Ñoái vôùi ngöôøi quaûn lyù ngoaøi caùc chöùc naêng gioáng nhö ngöôøi söû duïng chöa ñaêng kyù, ngöôøi söû duïng ñaõ ñaêng kyù coøn coù nhöõng chöùc naêng khaùc nhaèm duy trì cho heä thoáng hoaït ñoäng toát hôn. 1. Xoaù baøi Ñeå moät quaûn lyù ñöôïc noäi dung cuûa dieãn ñaøn, heä thoáng cho pheùp ngöôøi quaûn lyù dieãn ñaøn coù theå xoaù baát cöù baøi naøo treân dieãn ñaøn. Thuaät toaùn xoaù baøi thöïc hieän nhö sau: <Töø danh saùch caùc baøi Choïn baøi ñeå xoaù {laáy ñöôïc maõbaøi} Doø tìm taát caû caùc baøi traû lôøi cho baøi ñoù {thuaät toaùn tìm baøi con} Xoaù baøi & xoaù luoân caû baøi con Xoaù maõbaøi ñoù trong baûng chæ muïc Hình 31: Trang xoaù baøi 2. Theâm ngöôøi söû duïng Ngöôøi quaûn lyù coù quyeàn theâm ngöôøi söû duïng cuõng nhö theâm ngöôøi quaûn lyù vaøo heä thoáng. Ñeå phaân bieät ñöôïc ngöôøi söû duïng vaø ngöôøi quaûn lyù, chöông trình chia ngöôøi söû duïng thaønh hai caáp: Caáp 2: ñaây laø caáp ngöôøi söû duïng, vôùi ngöôøi söû duïng loaïi naøy coù theå thöïc hieän caùc yeâu caàu gioáng nhö ngöôøi söû duïng chöa ñaêng kyù ñoàng thôøi coù theå ghi nhôù baøi maø hoï öu thích. Caáp 1: ñaây laø caáp quaûn lyù, ngoaøi quyeàn gioáng nhö moät ngöôøi söû duïng caáp 2 coøn coù quyeàn cao hôn so vôùi ngöôøi söû duïng caáp 2. Ngöôøi söû duïng ôû caáp naøy coù theå thöïc hieän ñöôïc 5 chöùc naêng cuûa ngöôøi quaûn lyù ñoù laø: xoaù baøi, theâm ngöôøi söû duïng, xoaù ngöôøi söû duïng, theâm chuû ñeà cho dieãn ñaøn, xoaù chuû ñeà cuûa dieãn ñaøn. Hình 32: Trang ñaêng kyù ngöôøi söû duïng Thuaät toaùn: Nhaän döõ lieäu: teânñaàyñuû, teântruynhaäp, maätkhaåu, email, caáp If thieáu thoâng tin then Baùo loãi Else If teân truy nhaäp truøng teân ñaõ coù tröôùc then Thoâng baùo Môû laïi form ñaêng kyù Else Ñöa döõ lieäu vaøo cô sôû döõ lieäu End if End if 3. Xoaù ngöôøi söû duïng Ñeå quaûn lyù ñöôïc soá löôïng ngöôøi söû duïng cuõng nhö soá löôïng ngöôøi quaûn lyù cuûa heä thoáng. Ngöôøi quaûn lyù coù quyeàn xoaù ngöôøi söû duïng ra khoûi heä thoáng. Hình 33: Xoaù ngöôøi söû duïng ra khoûi heä thoáng Chöông trình cho pheùp choïn 1 hoaëc nhieàu ngöôøi söû duïng ñeå xoaù. Moãi oâ checkbox laø moät giaù trò öùng vôùi maõ cuûa ngöôøi söû duïng töông öùng. Do vaäy khi choïn moät oâ hay nhieàu oâ vaø baám nuùt “Xoaù User” thì caùc bieán checkbox seõ ñöôïc truyeàn ñi vaø thuû tuïc xoaù ngöôøi söû duïng seõ laáy caùc bieán naøy ñeå xoaù ngöôøi söû duïng trong baûng cuûa cô côû döõ lieäu. Tuy nhieân ñeå ñaûm baûo cho heä thoáng hoaït ñoäng toát, ñoái vôùi tröôøng hôïp xoaù ngöôøi söû duïng caáp moät seõ coù moät ñieàu khaùc laø: neáu treân heä thoáng chæ coøn moät ngöôøi quaûn lyù thì khoâng cho pheùp xoaù. 4. Theâm chuû ñeà Ñeå coù theå ñaùp öùng ñöôïc nhu caàu trao ñoåi thoâng tin veà nhieàu lónh vöïc khaùc nhau cuûa ngöôøi söû duïng. Chöông trình cho pheùp ngöôøi quaûn lyù theâm chuû ñeà cho dieãn ñaøn. Ví duï: dieãn ñaøn ñaõ coù caùc chuû ñeà trao ñoåi veà maïng, Internet-web, laäp trình. Neáu ngöôøi quaûn thaáy caûm thaáy nhu caàu cuûa ngöôøi söû duïng caàn trao ñoåi caùc vaán ñeà veà Cô sôû döõ lieäu thì ngöôøi quaûn lyù coù theå theâm chuû ñeà naøy vaøo cô sôû döc lieäu. Hình sau cho pheùp ngöôøi quaûn lyù nhaäp caùc thoâng tin lieân quan ñeán chuû ñeà. Hình 34: Theâm chuû ñeà Thuaät toaùn: Nhaän döõ lieäu veà teân chuû ñeà, giaûi thích veà chuû ñeà If thieáu teân chuû ñeà Baùo loãi Else Kieåm tra treân cô sôû döõ lieäu ñaõ coù chuû ñeà chöa If coù Thoâng baùo truøng chuû ñeà Môû laïi form ñaêng kyù Else {thaønh coâng} Ñöa vaøo cô sôû döõ lieäu End if End if 5. Xoaù chuû ñeà Neáu coù theâm chuû ñeà thì phaûi coù xoaù chuû ñeà, hay nhöõng chuû ñeà ñaõ cuõ khoâng coøn ai quan taâm ñeán thì ngöôøi quaûn lyù coù theå xoaù ñi. Ñeå xoaù chuû ñeà chöông trình cuõng ñöa ra moät danh saùch caùc baøi vaø cho ngöôøi quaûn lyù choïn nhöõng baøi caàn xoaù. Moãi moät checkbox chöùa giaù trò maõ chuû ñeå, khi choïn vaøo ñaây vaø nhaép nuùt xoaù chuû ñeà thì caùc bieán cuûa checkbox seõ ñöôïc truyeàn ñi. Thuû tuïc xoaù chuû ñeà nhaä caùc thoâng tin veà maõ chuû ñeà ñöôïc xoaù vaø theo ñoù truy xuaát vaøo cô sôû döõ lieäu ñeå xoaù caùc chuû ñeà. Ñoàng thôøi vôùi vieäc xoaù chuû ñeà thì taát caû caùc baøi cuûa chuû ñeà ñoù neáu coù seõ ñöôïc xoaù . Hình 35: Xoaù chuû ñeà Tính baûo maät cuûa heä thoáng: Taát caû caùc trang web daønh cho ngöôøi quaûn lyù thì chæ ñöôïc truy xuaát bôûi ngöôøi quaûn lyù. Do vaäy caùc trang naøy phaûi coù tính baûo maät. Ñeå thöïc hieän ñieàu nay ta laøm nhö sau: Sau khi ngöôøi quaûn lyù Login thaønh coâng thì thieát laäp bieán Session(“capNguoiSD”), bieán naøy toàn taïi trong suoát phieân laøm vieäc cuûa ngöôøi quaûn lyù vaø taát caû caùc trang web ñöôïc xaây döïng cho ngöôøi quaûn lyù khi ñöôïc môû seõ kieåm tra bieán session naøy ñaàu tieân, neáu bieán naøy khoâng phuø hôïp thì khoâng cho môû trang naøy. Ñeå ñaûm baûo tính baûo maät, sau khi söû duïng ngöôøi quaûn lyù coù theå chuû ñoäng Logout ñeå xoaù bieán Session hoaëc sau moät khoaûng thôøi gian khoâng söû duïng chöông trình thì bieán Session naøy seõ töï ñoäng ñöôïc xoaù ñi Ví duï: Moät ngöôøi söû duïng coù ñaêng kyù, sau khi Login seõ coù bieán Session(“capNguoiSD”) = 2, thì khoâng theå truy xuaát ñeán caùc quaûn lyù ñöôïc vì ñieàu kieän ñeå truy xuaát caùc trang naøyphaûi coù bieán Session(“capNguoiSD”) = 3. CHÖÔNG 6 KEÁT LUAÄN, ÑAÙNH GIAÙ KEÁT QUAÛ Toùm taét noäi dung ñaõ thöïc hieän Trong suoát thôøi gian gaàn ba thaùng xaây döïng chöông trình, caên cöù vaøo nhieäm ñeà cöông nhieäm vuï nghieân cöùu em ñaõ thöïc hieän ñöôïc moät soá coâng vieäc sau ñaây: Nghieân cöùu caùc coâng cuï hoã trôï cho laäp trình - Web Server - ASP (active server page) - Jscript - VBScript - ODBC - DHTML Keát quaû ñöôïc trình baøy trong Chöông 2 Phaân tích vaø thieát keá heä thoáng Caên cöù vaøo döõ lieäu thu thaäp ñöôïc ñeå xaây döïng caùc thöïc theå töông öùng Döïa vaøo caùc thöïc theå ñaõ xaây döïng vaø caùc thoâng tin coù lieân quan ñeå xaây döïng moâ hình yù nieäm Döïa vaøo moâ hình yù nieäm, xaây döïng moâ hình quan heä vaø xöû lyù Keát quaû ñöôïc trình baøy trong chöông 4 Xaây döïng chöông trình Dieãn ñaøn treân Web laø moät chöông trình öùng duïng döïa treân coâng ngheä web ñoäng coù keát noái vôùi cô sôû döõ lieäu. Döïa vaøo caùc keát quaû phaân tích töø yeâu caàu cuûa ngöôøi söû duïng, em ñaõ xaây döïng caùc trang web nhaèm ñaùp öùng caùc nhu caàu ñoù. Keát quaû ñöôïc trình baøy trong Chöông 5 Ñaùnh giaù keát quaû ñaït ñöôïc, nhöõng thieáu soùt coøn toàn taïi. Trong suoát quaù trình laøm ñoà aùn, nhôø söï tích cöïc tìm toøi cuûa baûn thaân coäng vôùi söï giuùp ñôõ taän tình cuûa thaày höôùng daãn neân ñaõ ñem ñaït ñöôïc moät soá keát quaû sau: Ñaõ naém baét ñöôïc caùch söû duïng caùc coâng cuï, caùc ngoân ngöõ laäp trình töông ñoái môùi vaø aùp duïng thaønh coâng vaøo trong chöông trình. Hoaøn thaønh noäi dung cuûa yeâu caàu ñoà aùn ñeà ra Ñöa ra ñöôïc thuaät toaùn quaûn lyù phaân caáp caùc baøi vieát deã hieåu, deã quaûn lyù. Xaây döïng ñöôïc trang tìm kieám theo chæ muïc, ñaây laø phöông phaùp tìm kieám nhanh vaø hieäu quaû. Ñaûm baûo ñöôïc tính baûo maät cho caùc trang thuoäc quyeàn cuûa ngöôøi quaûn lyù. Ñaõ ñöa ñöôïc Tieáng Vieät vaøo haàu heát caùc trang web, trong caùc form nhaäp döõ lieäu, caùc nuùt trong chöông trình, taïo thuaän lôïi cho ngöôøi söû duïng. Tuy nhieân do trình ñoä vaø thôøi gian coù haïn neân vaãn coøn nhieàu thieáu soùt toàn taïi nhö: Trong trang hieån thò baøi göûi, nhaèm haïn cheá soá baøi hieån thò quaù nhieàu treân moät trang em ñaõ chia ra cho hieån thò theo thaùng, leõ ra ngoaøi hieån thò theo thaùng coøn phaûi cho hieån thò thaønh caùc trang khaùc nhau neáu coù quaù nhieàu baøi. Thieáu phaàn thoáng keâ: theo soá ngöôøi truy caäp, theo chuû ñeà, ngaøy thaùng töø ñoù giuùp cho ngöôøi quaûn lyù coù theå toå chöùc laïi dieãn ñaøn cho phuø hôïp hôn. Höôùng phaùt trieån cuûa ñoà aùn Xöû lyù caùc loãi chaët cheõ hôn tröôùc khi ñöa vaøo söû duïng. Veà vaán ñeà tìm kieám, coù theå lieân keát ñeán caùc ñòa chæ khaùc khi khoâng tìm thaáy treân dieãn ñaøn naøy. Ví duï nhö coù theå göûi caùc yeâu caàu ñeán caùc Search Engine khaùc treân maïng Internet (neáu web server keát noái vôùi Internet) nhö: Yahoo, AntaVista, InfoSeek... Xaây döïng theâm moät soá chöùc naêng cho ngöôøi ñaêng kyù nhö: nhaän ñöôïc caùc thoâng tin môùi, caùc caâu hoûi hay baøi traû lôøi veà moät ñeà taøi naøo ñoù. öùng duïng naøy coù tính toång quaùt vaø khaù linh hoaït, coù theå aùp duïng cho nhieàu moâi tröôøng ngöôøi söû duïng khaùc nhau (cô quan, tröôøng hoïc...). Tuyø theo ñaëc thuø cuûa ngöôøi söû duïng, ta coù theå ñieàu chænh laïi moät soá phaàn ñeå öùng duïng hoaøn thieän hôn Keát luaän Sau thôøi gian töông ñoái ngaén vöøa phaûi nghieân cöùu nhöõng coâng cuï môùi vöøa phaûi laäp trình, em ñaõ hoaøn thaønh ñoà aùn vaø ñaõ giaûi quyeát caùc yeâu caàu ñeà ra. Neáu coù theâm thôøi gian khaéc phuïc vaø ñöa vaøo thöû nghieäm thì öùng duïng seõ hoaøn thieän hôn. Tuy coøn nhieàu thieáu soùt nhöng em tin raèng vôùi kieán thöùc mình coù ñöôïc em coù theå phaùt trieån ñöôïc nhöõng chöông trình khaùc lôùn hôn. TAØI LIEÄU THAM KHAÛO - Tieán Só Phan Huy Khaùnh. Phaân tích vaø Thieát keá heä thoáng. - Alex Homer, Andrew Enfield, Christian Gross, Stephen Jakab, Bruce Hartwell, Darren Gill, Brian Francis. Profestional Active Server Page. - Gunnit S.Khurana, Balbir S. Khurana. Web DataBase. - David Gulbransen, Kenrick Rawlings. Dynamic HTML - Gary Cornell. Learn Visual Basic Scripting Now. - MSDN. Miscrosoft Developer Network - Book Online. MUÏC LUÏC Trang LÔØI NOÙI ÑAÀU CHƯƠNG 1 Đặt vấn đề 3 I. Giới thiệu chung 3 II.Hướng xây dựng chương trình 4 CHƯƠNG 2 Các công cụ trợ giúp 5 I. Yêu cầu về môi trường làm việc của ứng dụng 5 II. Các công cụ trợ giúp trong lập trình 6 1. Jscript (Javascript) 6 2. VBScript (visual basic script) 6 3. ASP (active server page) 6 4. Visual InterDev (visual Internet Development) 8 5 . DHTML (dynamic html) 10 CHƯƠNG 3 Phân tích chương trình 11 I. Tổng quát về chức năng của diễn đàn trên web 11 II. Các vấn đề cần giải quyết khi xây dựng chương trình 12 1. Phân cấp ngưòi sử dụng 12 Sơ đồ qui trình hoạt động của các trang trong ứng dụng web forum 14 2. Hoạt động cuẩ chương trình 15 CHƯƠNG 4 Phân tích thiết kế hệ thống 17 I. Những thông tin cần quản lý trên cơ sở dữ liệu 17 II. Phân tích và thiết kế 18 1. Sơ đồ dòng dữ liệu 18 2. Dữ liệu thu thập được 21 3. Các cấu trúc kiểu 21 Mô hình thực thể kết hợp 24 Mô hình quan niêm dữ liệu 24 Chuyễn đổi mô hình quan niệm dữ liệu thành mô hình logic dữ liệu tệp 25 CHƯƠNG 5 Xây dựng chương trình 26 I. Quản lý các bài gởi lên diễn đàn 26 II. Xữ lý yêu cầu của người chưa đăng ký 29 1. Xem bài 30 2. Xem nội dung một bài 32 3. Gởi bài 32 4. Đăng ký trỏ thành thành viên của forum 33 5. Tìm kiếm 34 III. Xử lý yêu cầu của người đăng ký 39 IV. Xử lý yêu cầu của ngưòi quản lý 40 1. Xoá bài 40 2. Thêm người sử dụng 41 3. Xoá người sử dụng 42 4. Thêm chủ đề 42 5. Xoá chủ đề 43 Tính bảo mật cuẩ hệ thống 44 CHƯƠNG 6 Kết luận, đánh giá kết quả 45 Tài liệu tham khảo 47

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

  • docLuan van dien dan tren mang.doc
  • rarCHUONGTRINH.rar