ฉันพบสิ่งนี้เมื่อทำแบบฟอร์ม ajax ที่ฉันรวมชุดฟิลด์หลายชุด ยกตัวอย่างการสมัครงาน ฉันเริ่มต้นด้วยชุดข้อมูลอ้างอิงระดับมืออาชีพหนึ่งชุดและฉันมีปุ่มที่ระบุว่า "เพิ่มเพิ่มเติม" นี่เป็นการโทร ajax ด้วยพารามิเตอร์ $ count เพื่อรวมชุดอินพุตอีกครั้ง (ชื่อผู้ติดต่อโทรศัพท์ .. ฯลฯ ) สิ่งนี้ใช้ได้ดีในการเรียกหน้าแรกเมื่อฉันทำสิ่งที่ชอบ:
<?php
include('references.php');`
?>
ผู้ใช้กดปุ่มที่โทร ajax ajax('references.php?count=1');
จากนั้นภายในไฟล์ references.php ฉันมีสิ่งที่ต้องการ:
<?php
$count = isset($_GET['count']) ? $_GET['count'] : 0;
?>
ฉันยังมีไดนามิกอื่น ๆ เช่นนี้ตลอดทั้งไซต์ที่ส่งผ่านพารามิเตอร์ ปัญหาเกิดขึ้นเมื่อผู้ใช้กดส่งและมีข้อผิดพลาดแบบฟอร์ม ดังนั้นในตอนนี้เพื่อไม่ให้โค้ดซ้ำกันเพื่อรวมชุดฟิลด์พิเศษเหล่านั้นที่รวมแบบไดนามิกฉันจึงสร้างฟังก์ชันที่จะตั้งค่าการรวมด้วยพารามิเตอร์ GET ที่เหมาะสม
<?php
function include_get_params($file) {
$parts = explode('?', $file);
if (isset($parts[1])) {
parse_str($parts[1], $output);
foreach ($output as $key => $value) {
$_GET[$key] = $value;
}
}
include($parts[0]);
}
?>
ฟังก์ชันจะตรวจสอบพารามิเตอร์ของคิวรีและเพิ่มลงในตัวแปร $ _GET โดยอัตโนมัติ สิ่งนี้ใช้ได้ผลดีสำหรับกรณีการใช้งานของฉัน
นี่คือตัวอย่างในหน้าแบบฟอร์มเมื่อเรียก:
<?php
for ($i=0; $i<12; $i++) {
if (isset($_POST['references_name_'.$i]) && !empty($_POST['references_name_'.$i])) {
include_get_params(DIR .'references.php?count='. $i);
} else {
break;
}
}
?>
อีกตัวอย่างหนึ่งของการรวมพารามิเตอร์ GET แบบไดนามิกเพื่อรองรับกรณีการใช้งานบางอย่าง หวังว่านี่จะช่วยได้ โปรดทราบว่ารหัสนี้ยังไม่อยู่ในสถานะสมบูรณ์ แต่ก็เพียงพอแล้วที่จะให้ทุกคนเริ่มต้นได้ดีสำหรับกรณีการใช้งาน