แนะนำ: วิธีแก้ปัญหาของชื่ออักขระที่สกัดกั้นด้านซ้ายที่มีความยาวแตกต่างกัน เรามักจะเห็นว่าเมื่อเราใช้ด้านซ้ายเพื่อตัดสตริงเพราะตัวละครจีนและภาษาอังกฤษอยู่ร่วมกันในชื่อเรื่องข่าวทั้งสองมีความยาวแตกต่างกัน เพื่อแก้ปัญหานี้เราสามารถใช้ฟังก์ชั่นต่อไปนี้ % '***************************************************************************************************************
ผู้ใช้มักจะพบกับสถานการณ์ที่ไม่คาดคิดเมื่อส่งแบบฟอร์มเช่นการรีเฟรชหน้าหลายครั้งกดปุ่มย้อนกลับ ฯลฯ หากไม่มีมาตรการควบคุมมันจะทำให้เกิดปัญหาการส่งแบบฟอร์มซ้ำ ๆวิธีการป้องกันที่แนะนำในบทความนี้ส่วนใหญ่ประกอบด้วยรูทีนย่อยสี่รูต ในแอปพลิเคชันที่ค่อนข้างง่ายคุณเพียงแค่วางรหัสเหล่านี้ในไฟล์รวมและอ้างโดยตรง สำหรับสภาพแวดล้อมที่ซับซ้อนยิ่งขึ้นเราให้คำแนะนำการปรับปรุงบางอย่างในตอนท้ายของบทความ
1. กระบวนการทำงานขั้นพื้นฐาน
ต่อไปเราจะหารือเกี่ยวกับรูทีนย่อยทั้งสี่นี้
(i) การเริ่มต้น
ที่นี่เราต้องการบันทึกตัวแปรสองตัวในวัตถุเซสชันซึ่ง:
⑴แต่ละแบบฟอร์มสอดคล้องกับตัวระบุที่ไม่ซ้ำกันที่เรียกว่า FID และตัวนับจะใช้เพื่อทำให้ค่านี้ไม่ซ้ำกัน
⑵เมื่อใดก็ตามที่มีการส่งแบบฟอร์มสำเร็จ FID ของมันจะต้องถูกเก็บไว้ในวัตถุพจนานุกรม
เราใช้กระบวนการเฉพาะเพื่อเริ่มต้นข้อมูลข้างต้น แม้ว่ารูทีนย่อยแต่ละรายการจะเรียกมันว่าในอนาคต แต่จริง ๆ แล้วมันจะถูกดำเนินการเพียงครั้งเดียวในแต่ละเซสชั่น:
subinitializefid ()
ifnotisobject (เซสชัน (fidlist)) จากนั้น
SetSession (fidlist) = server.createObject (scripting.dictionary)
เซสชัน (fid) = 0
endif
enddub
(ii) ตัวระบุที่ไม่ซ้ำกันสำหรับการสร้างแบบฟอร์ม
ฟังก์ชั่นต่อไปนี้ generateFid () ใช้เพื่อสร้างธงที่ไม่ซ้ำกันสำหรับแบบฟอร์ม ฟังก์ชั่นแรกเพิ่มค่า FID โดย 1 จากนั้นส่งคืน:
FunctionGenerateFid ()
Initializefid
เซสชัน (fid) = เซสชัน (fid) +1
generateFid = เซสชัน (fid)
endfunction
(iii) การลงทะเบียนแบบฟอร์มส่ง
เมื่อส่งแบบฟอร์มสำเร็จตัวระบุที่ไม่ซ้ำกันจะถูกลงทะเบียนในวัตถุพจนานุกรม:
subregisterfid ()
dimstrfid
Initializefid
strfid = คำขอ (fid)
เซสชั่น (FIDLIST) .AddSTRFID ตอนนี้ ()
enddub
(iv) ตรวจสอบว่ามีการส่งแบบฟอร์มซ้ำ ๆ หรือไม่
ก่อนที่จะประมวลผลแบบฟอร์มที่ส่งโดยผู้ใช้อย่างเป็นทางการคุณควรตรวจสอบว่า FID นั้นลงทะเบียนในวัตถุพจนานุกรมหรือไม่ ฟังก์ชั่น checkfid () ต่อไปนี้ใช้เพื่อทำงานนี้ให้เสร็จสมบูรณ์ หากมีการลงทะเบียนแล้วจะส่งกลับเท็จมิฉะนั้นจะส่งคืนจริง:
functionCheckFid ()
dimstrfid
Initializefid
strfid = คำขอ (fid)
checkfid = notsession (fidlist) .exists (strfid)
endfunction
แบ่งปัน: ตีความการใช้ ASP เพื่อเขียนรหัสคล้ายกับฟังก์ชั่นเครื่องมือค้นหา ขั้นแรกให้สร้างฐานข้อมูลการเข้าถึง มีตาราง urlindex ในไลบรารีซึ่งฟิลด์ URL และคำหลักได้รับการจัดทำดัชนีตามลำดับดังนี้: ข้อความ URL (ดัชนี: ด้วย (ไม่มีการทำซ้ำ)) ชื่อข้อความคำอธิบายข้อความข้อความสรุปข้อความข้อความ (ดัชนี: ไม่มี (ไม่มีการทำซ้ำ)) ไฟล์โปรแกรม
2 หน้ารวมหน้าก่อนหน้า 12 หน้าถัดไป