👁️ เข้าชมหน้านี้แล้ว:
421
ครั้ง
1. ส่วนการเข้าถึงและตรวจสอบสิทธิ์ (Access & Validation Flow)
- User Action: ผู้ใช้คลิกไอคอน “เค้ก 🎂” บนปฏิทินหน้าเว็บไซต์
- Data Input: ระบบรับค่า
user_idของเจ้าของวันเกิดผ่าน URL (Method: GET) - System Validation (Gatekeeper):
- Check 1 (Time Gate): ตรวจสอบว่า
วันเกิดอยู่ในช่วง หน้า 3 วัน / หลัง 3 วัน จากปัจจุบันหรือไม่? - Check 2 (Auth Gate): ตรวจสอบว่าผู้จะอวยพร Login เข้าระบบแล้วหรือยัง?
- Check 1 (Time Gate): ตรวจสอบว่า
- Result:
- ✅ ถ้าผ่าน: แสดงฟอร์มให้กรอกคำอวยพร
- ❌ ถ้าไม่ผ่าน: แสดงข้อความแจ้งเตือน (หมดเวลา หรือ กรุณา Login)
2. ส่วนการส่งข้อมูล (Submission Flow via Stealth AJAX)
- User Input: ผู้ใช้กรอกข้อความ, เลือก Sticker, แนบรูปภาพ, หรือแนบวิดีโอ (จำกัด 30-256MB)
- AJAX Transmission:
- Web Browser แพ็คข้อมูลทั้งหมดเป็น
FormData - ส่งข้อมูลแบบเงียบ (Background) ไปที่
admin-ajax.php(เพื่อหลบเลี่ยง Firewall กองทัพเรือที่บล็อกwp-comments-post.php)
- Web Browser แพ็คข้อมูลทั้งหมดเป็น
- Server Processing (High Performance):
- ระบบ PHP ปลดล็อค
set_time_limit(0)และเพิ่มmemory_limitชั่วคราว เพื่อรองรับการอัปโหลดไฟล์ใหญ่
- ระบบ PHP ปลดล็อค
3. ส่วนการจัดเก็บข้อมูล (Storage & Media Handling)
- Comment Storage: บันทึก “ข้อความ” ลงในตาราง
wp_comments - Media Upload (Crucial Step):
- Images: อัปโหลดลง Media Library -> ได้รับ
attachment_id - Video: อัปโหลดลง Media Library -> ได้รับ
attachment_id(จุดที่มักมีปัญหาเรื่อง Server Config)
- Images: อัปโหลดลง Media Library -> ได้รับ
- Data Linking (Meta Mapping):
- ระบบนำ
attachment_idของรูปและวิดีโอ มาผูกติดกับคอมเมนต์ผ่านตารางwp_commentmeta - Keys ที่ใช้:
wish_image_ids,wish_video_id,wish_sticker,target_wish_user_id
- ระบบนำ
4. ส่วนการแสดงผล (Display Flow – V.Link Only)
- Query Data: หน้าเว็บดึงข้อมูลคอมเมนต์ทั้งหมดที่มี
target_wish_user_idตรงกับเจ้าของวันเกิด - Rendering:
- ข้อความ & Sticker: แสดงผลทันที
- รูปภาพ: แสดงเป็น Gallery ย่อขนาด
- วิดีโอ (Clips): ระบบตรวจสอบว่ามี
wish_video_idหรือไม่?- 👉 ถ้ามี: แสดงเป็น ปุ่มลิงก์สีฟ้า (“🎥 มีคลิปวิดีโอแนบมา คลิกเพื่อเปิดดู”)
- 👉 การทำงาน: เมื่อคลิก จะเปิดแท็บใหม่ (
target="_blank") เพื่อเล่นไฟล์วิดีโอโดยตรง (ลดภาระหน้าเว็บ)
5. ส่วนการโต้ตอบ (Interaction Flow)
- Reply Action: เจ้าของวันเกิดกดปุ่ม “↩️ ตอบกลับ”
- Process: ข้อมูลจะถูกบันทึกเป็น Comment ใหม่ โดยมี
comment_parentเชื่อมโยงกับคำอวยพรต้นทาง - Hierarchy: แสดงผลแบบย่อหน้าเยื้อง (Indented) ต่อจากคำอวยพรหลัก
6. ส่วนการจัดการโดยผู้ดูแล (Admin Override Flow)
- Scenario: กรณีไฟล์วิดีโออัปโหลดสำเร็จ (มีไฟล์ใน Server) แต่ระบบไม่ผูก ID ให้อัตโนมัติ (Database Error/Timeout)
- Admin Action: Admin เข้าสู่ระบบหลังบ้าน -> ไปที่เมนู Comments -> Edit Comment
- Manual Fix: Admin ค้นหา ID ไฟล์จาก Media Library แล้วนำมากรอกใส่ช่อง “🎥 Video Attachment ID” (Admin Tool Box)
- Result: หน้าเว็บจะแสดงปุ่มลิงก์วิดีโอขึ้นมาทันที เหมือนระบบออโต้ปกติ
Facebook Comments Box
Visited 167 times, 1 visit(s) today