สคริปต์ ASP ของกระดานสนทนาที่ใช้ใน The Code Project นี่เป็นโครงการโอเพ่นซอร์สสำหรับชุมชน Code Project
นี่เป็น "โครงการ" แรกที่เป็นแรงบันดาลใจให้กับแนวคิดดั้งเดิมของโครงการ Code เราได้จัดเตรียมสคริปต์เหล่านี้ไว้เพื่อช่วยเหลือนักพัฒนา และเราหวังว่านักพัฒนาเช่นตัวคุณเองจะช่วยตอบแทนเราด้วยการทดสอบ การส่งรายงานข้อผิดพลาด การแนะนำการปรับปรุง และการส่งส่วนขยาย
เราขอเชิญชวนให้คุณใช้สคริปต์เหล่านี้ในเว็บไซต์ของคุณเอง แต่เราขอให้คุณเก็บโลโก้ "สนับสนุนโดย CodeProject" ไว้ที่มุมซ้ายบน เรายังขอความอดทนและความเข้าใจของคุณล่วงหน้าด้วย สคริปต์เหล่านี้จะเปลี่ยนแปลง ไปมากอย่าง ไม่ต้องสงสัย ดังนั้นเราขอแนะนำให้คุณกลับมาตรวจสอบเป็นประจำเพื่อดูการพัฒนาล่าสุด หรือสมัครรับจดหมายข่าวเพื่อรับการแจ้งเตือนการอัปเดต
ณ วันที่ 5 กรกฎาคม พ.ศ. 2543 เราจะจัดเตรียมซอร์สโค้ดให้กับตัวควบคุม ActiveX ที่จัดการงานหลักในการจัดระเบียบข้อความให้เป็นระเบียบ เราอยากจะแสดงความคิดเห็นเกี่ยวกับโค้ดอย่างหนัก และให้รายละเอียดทีละขั้นตอนเกี่ยวกับวิธีการทำงานของโค้ด แต่เราไม่มีเวลาเลย และตัดสินใจว่าการโพสต์ตามที่เป็นอยู่นั้นดีกว่าการไม่โพสต์เลย หากคุณพบจุดบกพร่องหรือทำการปรับปรุง กรุณาส่งข้อมูลเหล่านั้นเข้ามา
คำเตือน
รหัสเวอร์ชัน ActiveX ใช้ตัวควบคุม ActiveX ถูกใช้เพื่อให้บรรลุการสั่งซื้อนี้โดยการโหลดข้อความ ทั้งหมด ในฟอรั่มแล้วเรียงลำดับอย่างถูกต้อง สิ่งนี้ส่งผลให้ประสิทธิภาพไม่ดีอย่างเห็นได้ชัดเมื่อฟอรัมเริ่มเติบโต เวอร์ชัน ASP ล้วนๆ เวอร์ชันที่ตามมาจะมีช่อง "SortOrder" สำหรับแต่ละข้อความ ซึ่งหมายความว่าข้อความจะถูกจัดเรียงในเวลาสืบค้น DB และสามารถรวมเพจ / การกรองเพื่อลดขนาดและโหลดชุดระเบียนได้อย่างมาก ไม่แนะนำให้ใช้โค้ดเวอร์ชัน ActiveX
26 สิงหาคม พ.ศ. 2544 - Philip Andrew ได้จัดทำฟอรัมเวอร์ชัน PHP
กระดานสนทนาที่ใช้ใน CodeProject เขียนโดย Uwe Keim และประกอบด้วยตัวควบคุม ActiveX (เขียนโดยใช้ Visual C++) และชุดของสคริปต์ ASP ตัวควบคุม ActiveX ให้การเข้าถึงฐานข้อมูลข้อความฟอรัมในระดับต่ำ และจัดเตรียมฟังก์ชันการทำงานเพื่อลดความยุ่งยากในการส่งพารามิเตอร์จากเพจหนึ่งไปยังอีกเพจหนึ่ง ปัจจุบันตัวควบคุม ActiveX เปิดตัวในรูปแบบ DLL เท่านั้น ส่วนหนึ่งเป็นเพราะเรายังเขียนมันไม่เสร็จ และอีกส่วนหนึ่งเป็นเพราะเราเพิ่งจะเริ่มบันทึกมันด้วยซ้ำ :)
ใหม่ : บอร์ดเวอร์ชันใหม่ได้รับการเขียนโดย Uwe ซึ่งเป็น ASP เท่านั้น ดังนั้นจึงไม่ต้องยุ่งกับตัวควบคุม ActiveX อีกต่อไป บอร์ดมีการใช้งานเพียงเล็กน้อยแต่จะให้ทุกสิ่งที่คุณต้องการเพื่อให้กระดานสนทนาพร้อมใช้งาน ในขณะนี้เป็นแบบเข้าถึงได้เท่านั้น แต่การย้ายไปยัง SQLServer เป็นเพียงแบบฝึกหัดง่ายๆ สำหรับผู้อ่าน ดูส่วนดาวน์โหลดที่ด้านบนของหน้านี้สำหรับไฟล์
ดังนั้น - เข้าสู่สคริปต์ การสนทนาทั้งหมดต่อจากนี้จะเน้นไปที่เวอร์ชัน ActiveX เท่านั้น เวอร์ชันที่ไม่ใช่ activeX มีความคล้ายคลึงกันเพียงพอ แม้ว่าโครงสร้างไดเร็กทอรีและการซ้อนไฟล์จะแตกต่างกันเล็กน้อย
สิ่งเหล่านี้แบ่งออกเป็นหลายประเภท:
นอกจากนี้ยังมี:
ถือว่าคุณใช้งาน NT4 Server ขึ้นไปด้วย IIS4 ขึ้นไป หรือ Win9X พร้อม PWS ฟอรัมถูกจัดเก็บไว้ในฐานข้อมูล Access และใช้ Jet Engine เพื่อเข้าถึง
ตกลง คุณมีไฟล์แล้วและต้องการเริ่มเล่นแทนที่จะอ่านส่วนที่เหลือของบทความนี้ ฉันไม่โทษคุณ นี่คือสิ่งที่คุณทำ:
/CodeProject/forum/bin
/CodeProject/common/config.asp
เพื่อให้เหมาะกับไซต์ของคุณ/CodeProject/forum/includes/config.asp
เพื่อให้เหมาะกับกระดานสนทนาของคุณ/CodeProject/forum/data/forum.mdb
/CodeProject/common/email.inc
เพื่อให้เหมาะสม ตอนนี้เพียงชี้เบราว์เซอร์ของคุณไปที่ /CodeProject/forum/index.asp
แล้วคุณก็ออกไป
สคริปต์ประกอบด้วยชุดสคริปต์อินเทอร์เฟซผู้ใช้หลัก (ในไดเร็กทอรีราก) ที่ใช้สคริปต์ผู้ปฏิบัติงาน (ในไดเร็กทอรี /forum/app
) เพื่อทำงานจริง สิ่งเหล่านี้จะเปลี่ยนเส้นทางเบราว์เซอร์กลับไปยังสคริปต์ส่วนต่อประสานผู้ใช้
ความกล้าของระบบอยู่ใน /forum/includes/forum.inc
ไฟล์นี้ประกอบด้วยคำจำกัดความของคลาสฟอรัมและเป็น wrapper สำหรับตัวควบคุม ActiveX ของฟอรัมหลัก คลาสนี้เป็นจุดสื่อสารหลักที่มีฟังก์ชันการทำงานที่เกี่ยวข้องกับฟอรัมทั้งหมด คุณไม่เคยสื่อสารกับตัวควบคุม ActiveX ของฟอรัมโดยตรง แต่จะติดต่อทางอ้อมผ่านคลาสนี้เสมอ
คลาสไม่เพียงแต่มีวิธีการทำงานเท่านั้น แต่ยังทำหน้าที่ส่งคืน URL ไปยังสคริปต์แอปพลิเคชันต่างๆ ด้วยการทำเช่นนี้ เราสามารถตั้งชื่อของสคริปต์ต่างๆ ในไฟล์ /forum/includes/config.asp
ซึ่งทำให้การเปลี่ยนโครงสร้างไดเร็กทอรีเป็นเรื่องง่ายมาก
แต่ละข้อความมีรหัสผ่านที่กำหนดโดยผู้เขียนข้อความนั้น ซึ่งอนุญาตให้ผู้เขียนแก้ไขหรือลบข้อความได้ นอกจากนี้คุณยังสามารถแก้ไขหรือลบข้อความได้โดยใช้รหัสผ่านส่วนกลาง สิ่งนี้ถูกกำหนดไว้ใน /forum/includes/config.asp
และใช้โดยการเพิ่ม " &ad=
" ต่อท้าย URL ใดก็ตามที่คุณกำลังดูอยู่
ตัวอย่างเช่น หากคุณกำลังดูดัชนีของฟอรัมด้วย ID 1 และ URL ของคุณคือ http://www.myserver.com/codeproject/forum/index.asp?forumid=1
หากต้องการเข้าสู่โหมดผู้ดูแลระบบ เพียงแก้ไข URL ไปที่:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
โดยที่ "12345" คือรหัสผ่าน (กำหนดใน /forum/includes/config.asp
เป็น ADMIN_PW
จากนั้นจะให้ตัวเลือกแก่คุณในการจัดการฟอรัม (ตั้งชื่อและคำอธิบายฟอรัม รวมถึงที่อยู่อีเมลที่จะส่งอีเมลเมื่อมีข้อความใหม่หรือ มีการโพสต์ข้อความตอบกลับ)
ในการเพิ่มหรือลบฟอรั่ม คุณต้องแก้ไขฐานข้อมูลด้วยตนเอง นี่เป็นเพียงสิ่งที่เรายังไม่ได้ทำ...
ในโหมดผู้ดูแลระบบ คุณยังมีตัวเลือกในการแก้ไขหรือลบข้อความอีกด้วย นอกจากนี้ เมื่ออยู่ในโหมดผู้ดูแลระบบ คุณจะยังคงอยู่ในโหมดผู้ดูแลระบบต่อไปเมื่อคุณเลื่อนดูสคริปต์ของฟอรัม เพียงลบ " &ad=
" เพื่อออกจากโหมดผู้ดูแลระบบ
สคริปต์เวอร์ชันล่าสุดมีส่วนติดต่อผู้ใช้ที่ได้รับการปรับปรุง พร้อมด้วยการเปลี่ยนแปลงภายในบางอย่างที่ออกแบบมาเพื่อแก้ไขปัญหาบางประการในเวอร์ชันแรก ในเปลือกถั่ว:
มากเกินไป. นี่เป็นเพียงภาพร่างของฟอรั่ม และไม่ได้อธิบายว่าแต่ละไฟล์ทำอะไร และเราวางแผนที่จะขยายสคริปต์อย่างไร เราจะทำงานอย่างต่อเนื่องเพื่อปรับปรุงสคริปต์เหล่านี้ และส่วนขยายและการแก้ไขทั้งหมดที่ทำในฟอรัม CodeProject หลักจะรวมอยู่ในไฟล์ที่ดาวน์โหลดได้เหล่านี้
ถือว่านี่เป็นงานที่กำลังดำเนินการ!