شرح صفوف ومحتوى الفقرة
تقرأ الدالة filter_input($type, $varName, $filter, $options) مفتاحاً من مصادر الطلب الخارجية (INPUT_GET أو INPUT_POST) وتتحقق منه في خطوة واحدة.
- على عكس قراءة
$_POST["age"]مباشرة، لا تطلقfilter_input(INPUT_POST, "age", ...)تحذير مفتاح غير معرف إذا كان الحقل مفقوداً. - انتبه لقيمتها المرجعة: ترجع
nullإذا لم يُرسل الحقل أصلاً في الطلب، وترجعfalseإذا أُرسل الحقل ولكنه فشل في التحقق! - تقرأ
filter_input()بيانات الطلب الأصلية القادمة من الخادم، ولا تتأثر بالتعديلات اليدوية على$_GETأو$_POSTأثناء تشغيل السكريبت.
تفرّق المقارنة الصارمة === null بين الحقل الاختياري غير المرسل أصلاً وبين الحقل المرسل بصيغة خاطئة (=== false).
PHP
<?php
// Simulating filter_input return states:
$missingField = filter_input(INPUT_GET, "coupon_id", FILTER_VALIDATE_INT);
if ($missingField === null) {
echo "Status: 'coupon_id' was not provided in query string.\n";
} elseif ($missingField === false) {
echo "Status: 'coupon_id' must be a valid integer.\n";
}