اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_input_array

تابع اعتبار سنج ( ) filter_input_array :

تابع ( ) filter_input_array ، چندین ( آرایه ای از ) مقادیر ورودی به صفحه را دریافت کرده و بر مبنای معیار مورد نظر اعتبار سنجی می کند .
برای مثال داده های ورودی می تواند مقادیر وارد شده در کادر های متن در یک فرم وب ، یک کوکی و یا مقادیری باشد که توسط یک متد GET یا POST به صفحه ارسال شده است .
فرق تابع ( ) filter_input_array با تابع ( ) filter_input در این است که تابع ( ) filter_input_array می تواند چندین متغیر را همزمان و بدون نیاز به تکرار دستوری ، اعتبار سنجی نماید ، حال آنکه تابع ( ) filter_input ، فقط می تواند یک مقدار ورودی را اعتبار سنجی نماید .

خروجی این تابع ، به صورت آرایه ای از جواب های True یا False خواهد بود .
شکل کلی استفاده از این تابع به صورت زیر است :

Syntax filter_input_array ( input_type , filter args )

syntax توضیح هر یک از موارد
توضیح پارامتر
این پارامتر تعیین کننده نوع منبع داداهایی است که به صفحه وارد شده و می خواهیم مقدار  آنها را با فیلتر مورد نظرمان اعتبار سنجی نماییم .  برای مثال این پارامتر می تواند مقدار وارد شده در یک کادر متن در یک فرم وب و یا یک کوکی یا مقداری باشد که توسط یک متد GET به صفحه ارسال شده است .
انواع داده های ورودی ممکن عبارتند از :
  • INPUT_GET
  • INPUT_POST
  • INPUT_COOKIE
  • INPUT_SERVER
  • INPUT_ENV
استفاده از این پارامتر اجباری است .
type
این پارامتر تعیین کننده نام یا ID یکی از فیلتر های پیش ساخته اعتبار  سنج PHP است که بر مبنای آن داده ورودی اعتبار سنجی می شود . مقدار پیش فرض برای این پارامتر FILTER_SANITIZE_STRING است . برای دریافت اطلاعات کامل راجع به انواع فیلتر های پیش ساخته PHP به صفحه مرجع فیلتر های اعتبار سنج در PHP بروید .
استفاده از این پارامتر اختیاری است .
filter args

با ارایه یک مثال ، موارد بالا را در عمل نمایش داده ایم .
مثال : در مثال زیر تابع ( ) filter_input_array را برای اعتبار سنجی 3 مقدار ورودی که توسط یک متد POST به صفحه وارد شده اند ، استفاده کرده ایم . مقادیر ورودی یک name ، age و یک e-mail addres هستند.

مثال < ? php
    $filters = array
        (
            "name" => array
                (
                    "filter"=>FILTER_CALLBACK,
                    "flags"=>FILTER_FORCE_ARRAY,
                    "options"=>"ucwords"
                ),
            "age" => array
                (
            "filter"=>FILTER_VALIDATE_INT,
            "options"=>array
                    (
                    "min_range"=>1,
                    "max_range"=>120
                    )
                ),
            "email"=> FILTER_VALIDATE_EMAIL,
        );
    print_r(filter_input_array ( INPUT_POST, $filters ) );
?>

خروجی Array
    (
        [name] => Peter
        [age] => 41
        [email] => peter@example.com
    )


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه  :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :               
آدرس Email :  

نظر شما :      
سوال امنیتی : جمع سه + پنج چنده ؟