บางโปรแกรมที่เราดาวน์โหลดออนไลน์เช่นฟอรัมได้ติดตั้งพ่อมดเช่นซอฟต์แวร์ในระหว่างการติดตั้ง
ปัญหาหลักที่เราเผชิญคือ:
1. อินเทอร์เฟซนั้นเหมือนกับตัวช่วยสร้าง Windows
2. ผู้ใช้สามารถใช้ปุ่มย้อนกลับเพื่อกลับไปยังขั้นตอนก่อนหน้าใด ๆ และสามารถเปลี่ยนเนื้อหาที่เลือกในขั้นตอนก่อนหน้าใด ๆ
3. แบบฟอร์มต้องจดจำเนื้อหาทั้งหมดที่กรอกไว้
4. ไม่สามารถใช้ฐานข้อมูล
5. ไม่สามารถใช้เซสชันเพื่อป้องกันไม่ให้อินพุตทั้งหมดของผู้ใช้หายไปหลังจาก Sessiosn ล้มเหลว
เพราะตัวเลือกคุกกี้หลายตัวที่มักจะปิดเบราว์เซอร์
6. ความสามารถในการพกพาได้ดีกว่าเพราะปรับให้เข้ากับสถานการณ์เมื่อขั้นตอนการติดตั้งแตกต่างกัน
สารละลาย:
1. ใช้ตัวแปรที่ซ่อนอยู่เพื่อผ่านพารามิเตอร์
2. การใช้วิธีการโพสต์อย่าใช้วิธีการรับเพราะวิธีนี้ถูก จำกัด ด้วยความยาว
3. แต่ละหน้าจะต้องมีฟังก์ชันเพื่ออ่านค่าที่ส่ง
4. แต่ละหน้า (ยกเว้นหน้าแรก) ต้องมีแบบฟอร์มที่ซ่อนอยู่เพื่อส่งพารามิเตอร์ไปยังหน้าแรก
หากคุณใช้ช่องทำเครื่องหมายหรือปุ่มตัวเลือกในหน้าของคุณโปรดใช้ค่าการอ่านรหัสต่อไปนี้:
<% สำหรับแต่ละรายการใน request.form
ถ้า request.form (รายการ). นับแล้ว
สำหรับ intloop = 1 to request.form (รายการ) .count
Response.write item = & item & index = & intloop & <br>
ต่อไป
อื่น
Response.write item = & item & <br>
สิ้นสุดถ้า
ต่อไป
-
การออกแบบคือการใช้วิธีการประมวลผลพิเศษสำหรับช่องทำเครื่องหมายและวิทยุ:
1. เฉพาะค่าล่าสุดเท่านั้นที่จะถูกบันทึกไว้ในสองวิธีนี้
2. ผู้ใช้สามารถใช้ย้อนกลับเพื่อเปลี่ยนค่าที่ป้อนมาก่อน แต่จะต้องส่งด้วยถัดไปเพื่อให้มีผล
3. หน้าจะต้องสามารถรับมือกับสถานการณ์ที่มีการควบคุมหลายตัวในหน้าเดียว
วิธีการใช้งานเฉพาะ:
หน้า n ควรมี:
1. แบบฟอร์มแรก: การกระทำ = หน้า (n+1) .asp และด้านล่างต้องมีปุ่มถัดไป
2. แบบฟอร์มที่สอง: การกระทำ = หน้า (n-) .asp และปุ่มย้อนกลับ
3. กฎการตั้งชื่อตัวแปร: ตัวอย่าง: N_ <หน้า> คำต่อท้ายคือประเภทการควบคุม
หมายความว่าชื่อของหน้าสองคือวิทยุ
4. ฟังก์ชั่นที่ใช้ในการอ่านการส่ง
หน้ากำหนดหน้าของการควบคุมปัจจุบันที่ใช้วัฏจักร
รหัสมีดังนี้:
< %@language = vbscript %>
<html>
<head>
</head>
<body>
<!-การเขียนโปรแกรมโมดูลปุ่มถัดไปเริ่มต้น->
<form action = page03.asp method = post>
<! ---------------------------------------------------- ------------------------------------------------------ ------------------------------------------- --- ----------- >>
<!-อ่านฟังก์ชั่นเพื่อเริ่ม->
<! ---------------------------------------------------- ------------------------------------------------------ ------------------------------------------- --- ----------- >>
-
pageno = _p2
สำหรับแต่ละรายการใน request.form
ซึ่งหน้าใด = instr (1, cstr (รายการ), pageno, 1)
ifst.form (item) .count) และ (whitepage = 0) จากนั้น
strCount = request.form (รายการ) .count
stritem = request.form (รายการ) (strcount)
response.write <อินพุตประเภท = ชื่อที่ซ่อน = & item & value = & stritem &> & vbcrlf
elseif (ไม่ใช่ (request.form (it) .count) และ (whitepage = 0) จากนั้น
response.write <อินพุตประเภท = ชื่อที่ซ่อน = & item & value = & stritem &> & vbcrlf
สิ้นสุดถ้า
ต่อไป
-
<! ---------------------------------------------------- ------------------------------------------------------ ------------------------------------------- --- ---------- >>
<1-- อ่านฟังก์ชั่นของฟังก์ชัน->
<! ---------------------------------------------------- ------------------------------------------------------ ------------------------------------------- --- ---------- >>
<!-#รวมไฟล์ = check_uncheck.txt->
-
ฟังก์ชั่น check_uncheck (ctrlname, ctrlvalue)
dim ctrlname_in
dim ctrlvalue_in
dim ctrlvalue_actual
Dim outstr
ctrlvalue_in =
ctrlname_in =
ctrlvalue_actual =
Outstr =
ctrlname_in = ctrlname_in & ctrlname
ctrlvalue_in = ctrlvalue_in & ctrlvalue
ถ้า request.form (ctrlname_in) .count แล้ว
strCount = request.form (ctrlname_in) .count
ctrlvalue_actual = request.form (ctrlname_in) (strcount)
ถ้า ctrlvalue_actual = ctrlvalue_in แล้ว
outstr = ตรวจสอบ
สิ้นสุดถ้า
อื่น
ctrlvalue_actual = request.form (ctrlname_in)
ถ้า ctrlvalue_actual = ctrlvalue_in แล้ว
outstr = ตรวจสอบ
สิ้นสุดถ้า
สิ้นสุดถ้า
check_unches = outstr
ฟังก์ชันสิ้นสุด
-
<!-โมดูลปุ่มย้อนกลับเริ่มต้น->
-
stritem1 =
stritem1a =
สำหรับแต่ละรายการ 1 ใน request.form
ถ้า request.form (รายการ 1). นับแล้ว
strcount1 = request.form (item1) .count
stritem1 = requesest.form (item1) (strcount1)
response.write <ประเภทอินพุต = name hidden = & item1 & value = & stritem1 &> & vbcrlf
strcount1 =
stritem1 =
อื่น
stritem1a = request.form (รายการ 1)
response.write <ประเภทอินพุต = ชื่อที่ซ่อน = & item1 & value = & stritem1a &> & vbcrlf
สิ้นสุดถ้า
ต่อไป
stritem1 =
stritem1a =
-