ฟังก์ชัน filter_input() รับอินพุตจากภายนอกสคริปต์ (เช่น อินพุตแบบฟอร์ม) แล้วกรอง
ฟังก์ชันนี้ใช้เพื่อตรวจสอบตัวแปรจากแหล่งที่ไม่ปลอดภัย เช่น ข้อมูลเข้าของผู้ใช้
ฟังก์ชั่นนี้สามารถรับอินพุตจากแหล่งต่างๆ:
INPUT_GET
INPUT_POST
INPUT_COOKIE
INPUT_ENV
INPUT_SERVER
INPUT_SESSION (ยังไม่ได้ใช้งาน)
INPUT_REQUEST (ยังไม่ได้ใช้งาน)
หากสำเร็จ ข้อมูลที่กรองแล้วจะถูกส่งกลับ หากล้มเหลวจะส่งกลับ FALSE หากไม่ได้ตั้งค่าพารามิเตอร์ "ตัวแปร" จะส่งคืนค่า NULL
filter_input(input_type, ตัวแปร, ตัวกรอง, ตัวเลือก)
พารามิเตอร์ | อธิบาย |
---|---|
input_type | ที่จำเป็น. ระบุประเภทอินพุต ดูรายการประเภทที่เป็นไปได้ด้านบน |
ตัวแปร | ที่จำเป็น. ระบุตัวแปรที่จะกรอง |
กรอง | ไม่จำเป็น. ระบุ ID ของตัวกรองที่จะใช้ ค่าเริ่มต้นคือ FILTER_SANITIZE_STRING ดูคู่มืออ้างอิงตัวกรอง PHP ฉบับสมบูรณ์เพื่อดูตัวกรองที่เป็นไปได้ รหัสตัวกรองอาจเป็นชื่อรหัส (เช่น FILTER_VALIDATE_EMAIL) หรือหมายเลขรหัส (เช่น 274) |
ตัวเลือก | ไม่จำเป็น. ระบุอาร์เรย์ที่เชื่อมโยงของแฟล็ก/ตัวเลือก หรือแฟล็ก/ตัวเลือกเดียว ตรวจสอบแฟล็กและตัวเลือกที่เป็นไปได้สำหรับแต่ละตัวกรอง |
ในตัวอย่างนี้ เราใช้ฟังก์ชัน filter_input() เพื่อกรองตัวแปร POST ตัวแปร POST ที่ได้รับคือที่อยู่อีเมลที่ถูกต้อง:
<?phpif (!filter_input(INPUT_POST, 'email', FILTER_VALIDATE_EMAIL)) { echo "อีเมลไม่ถูกต้อง"; }else { echo "อีเมลถูกต้อง";
ผลลัพธ์ของโค้ดมีลักษณะดังนี้:
อีเมลถูกต้อง