ไลบรารีอินเตอร์เฟส CGI
สารบัญ
- ข้อมูลทั่วไป
- เทคโนโลยี
- โครงสร้างเว็บไซต์
- ตั้งค่า
ข้อมูลทั่วไป
เป้าหมาย:
พัฒนาโปรแกรม C++ ที่ใช้เว็บเซิร์ฟเวอร์อินเทอร์เฟซ CGI สำหรับการสร้างและประมวลผลฐานข้อมูลหนังสือห้องสมุด
ทางออกของฉัน:
ด้วยความสามารถของไลบรารี sqlite3 และเซิร์ฟเวอร์ Apache ฉันสามารถเขียนอินเทอร์เฟซ CGI ของตัวเองในภาษา C ++ ซึ่งมีฟังก์ชันการทำงานขั้นต่ำของไลบรารีหนังสือที่มีความสามารถในการเพิ่ม ลบ แก้ไข และค้นหาภายในฐานข้อมูล
เทคโนโลยี
- ซี++ 14
- sqlite (เวอร์ชัน: 3.40.0)
- cgicc (เวอร์ชัน: 3.2.19#5)
- xampp (ใช้งานเซิร์ฟเวอร์ Apache)
- ในการทำงานกับไฟล์ .db ให้ใช้ DB Browser SQLite
โครงสร้างเว็บไซต์
- MainPage.cpp - ไฟล์ index.cgi หน้าหลักที่มีข้อมูลทั้งหมดและการดำเนินการทั้งหมด มีคำขอ GET เพื่อกรองการค้นหาห้องสมุดตามพารามิเตอร์สำหรับชื่อหนังสือและชื่อผู้แต่ง
URL: hostname/index.cgi
- AddToDB.cpp - ไฟล์ AddToDB.cgi สคริปต์รับข้อมูล (ชื่อหนังสือ ผู้แต่ง หน้า ฯลฯ ...) จากคำขอ POST และเพิ่มลงในฐานข้อมูล
URL: hostname/cgi-bin/AddToDB.cgi
- DeleteFromDB.cpp - ไฟล์ DeleteFromDB.cgi สคริปต์รับข้อมูล (ในกรณีนี้ - id) จากคำขอ POST จากนั้นค้นหาองค์ประกอบตาม id ในตารางแล้วลบออก
URL: hostname/cgi-bin/DeleteFromDB.cgi
- DropTable.cpp - ไฟล์ DropTable.cgi สคริปต์รับข้อมูล (ชื่อตาราง) จากคำขอ POST จากนั้นจึงปล่อยตาราง
URL: hostname/cgi-bin/DropTable.cgi
- EditDB.cpp - ไฟล์ EditDB.cgi สคริปต์รับข้อมูล (id) จากคำขอ POST จากนั้นค้นหาองค์ประกอบด้วย id ในตารางและตั้งค่าในรูปแบบ HTML จากนั้นให้ความเป็นไปได้ในการเปลี่ยนแปลงข้อมูลนี้
URL: hostname/cgi-bin/EditDB.cgi
- SaveEdit.cpp - ไฟล์ SaveEdit.cgi สคริปต์รับข้อมูล (ข้อมูลจาก EditDB.cgi) จากนั้นทำตาราง UPDATE ด้วยข้อมูลใหม่จาก EditDB.cgi
URL: hostname/cgi-bin/SaveEdit.cgi
ตั้งค่า
- ดาวน์โหลด xampp หรือใช้ไฟล์นี้
- รวบรวมไฟล์ .cpp เป็นไฟล์ .cgi และเปลี่ยนชื่อเหมือนในโครงสร้างเว็บไซต์
- ย้ายไฟล์ .cgi ทั้งหมดในโฟลเดอร์ cgi-bin เช่นนี้
- ใช้ไฟล์กำหนดค่านี้เพื่อใช้เซิร์ฟเวอร์ Apache
- เริ่มเซิร์ฟเวอร์ Apache ผ่านแอปพลิเคชัน xampp
- เขียนลงใน URL ของคุณ: localhost
เสร็จแล้ว! -