لیست توابع اعتبار سنج در PHP :
جدول زیر شامل انواع تابع های پیش ساخته اعتبار سنج در PHP می باشد . برای دریافت اطلاعات کاملتر و مشاهده مثال های عملی بر روی نام هر یک از آنها کلیک نمایید .
نام تابع | شرح عملکرد |
filter_has_var ( ) | این تابع کنترل می کند که آیا کاربر مقدار لازم را در کادر داده ورودی وارد کرده و یا آن را خالی رها نموده است . |
filter_id ( ) | این تابع ID یا شناسه یک فیلتر خاص را در صورت وجود بررسی کرده و نتیجه آن را بر می گرداند . |
filter_input ( ) | این تابع مقادیر و متغیرهایی که به صفحه وارد می شوند مثل کوکی ها و یا مقادیر وارد شده در کادر های متن را دریافت کرده و اعتبار سنجی می نماید . |
filter_input_array ( ) | این تابع مقدار آرایه ای از متغیر ها یا اطلاعاتی که به صفحه وارد می شوند مثل کوکی ها و یا مقادیر وارد شده در یک سری کادر متن را دریافت کرده و اعتبار سنجی می نماید . |
filter_list ( ) | تابع ( ) filter_list ، آرایه ای از کلیه فیلترهای اعتبار سنجی که سرور PHP و مرورگر کاربر پشتیبانی می کند ، را بر می گرداند . |
filter_var ( ) | این تابع مقدار یک متغیر را گرفته و براساس مورد نظر برنامه ریزی شده ، اعتبار سنجی می نماید . |
filter_var_array ( ) | این تابع مقدار چندین متغیر ( آرایه ای از متغیر ها ) را گرفته و براساس مورد نظر برنامه ریزی شده ، اعتبار سنجی می نماید . |
اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_has_var:
تابع اعتبار سنج ( ) filter_has_var :
تابع ( ) filter_has_var بررسی می کند که آیا مقداری برای متغیر مربوط به یک داده ورودی به صفحه وجود دارد یا خیر .
برای درک مفهوم مثال می زنیم . فرض کنید که یک نوع متغیر به وسیله متد GET به صفحه ارسال می شود . این تابع نام متغیر و نوع آن را دریافت کرده و بررسی می کند که آیا مقداری برایش وجود دارد یا اینکه بدون مقدار یا null است .
در صورتی که داری مقداری باشد ، تابع مقدار True و در صورتی که بدون مقدار باشد ، تابع False را بر می گرداند .
این تابع برای کنترل این مسئله به کار می رود که آیا مقداری برای متغیر مورد نظر ما به صفحه وارد شده و یا اینکه بدون مقدار است و برای مبنای آن تصمیم بعدی در برنامه گرفته شود .
شکل کلی استفاده از این تابع به صورت زیر است :
Syntax | filter_has_var ( type , variable ) |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نوع متغیری که به صفحه وارد شده و می خواهیم مقدار داشتن یا نداشتن آن را بررسی نماییم . برای مثال این پارامتر می تواند یک کوکی یا مقداری باشد که توسط یک متد GET به صفحه ارسال شده است .
استفاده از این پارامتر اجباری است . |
type |
این پارامتر تعیین کننده نام متغیری است که تابع می خواهد آن را بررسی و اعتبار سنجی کند . استفاده از این پارامتر اجباری است . |
variable |
با ارایه یک مثال ، موارد بالا را در عمل نمایش داده ایم .
مثال : در مثال زیر تابع ( ) filter_has_var ، یک متغیر از نوع INPUT_GET را که توسط یک متد GET به صفحه ارسال شده و نام آن name است را اعتبار سنجی می کند . در صورتی که این متغیر دارای مقدار باشد ، برنامه عبارت " Input type exists " به معنای وجود داشتن مقدار را برای آن بر می گرداند . اما اگر این متغیر مقدار نداشته باشد و null باشد ، برنامه عبارت " Input type does not exist " را به معنای خالی بودن متغیر بر می گرداند .
مثال |
< ? php |
اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_Input :
تابع اعتبار سنج ( ) filter_input :
تابع ( ) filter_input ، مقدار وارد شده برای یک داده ورودی به صفحه را دریافت کرده و بر اساس معیار مورد نظر اعتبار سنجی می کند .
برای مثال داده ورودی می تواند یک مقدار وارد شده در یک کادر متن در یک فرم وب ، یک کوکی و یا مقداری باشد که توسط یک متد GET یا POST به صفحه ارسال شده است .
برای مثال فرض کنید که کاربر باید در یک کادر متن آدرس ایمیل خود را وارد نماید . این تابع مقدار وارد شده در کادر متن مربوط به ایمیل را دریافت کرده و آن را با استفاده از یکی از فیلترهای پیش ساخته اعتبار سنج PHP به نام FILTER_VALIDATE_EMAIL بررسی می کند که آیا با فرمت یک ایمیل معمولی سازگاری دارد یا خیر .
در صورتی که مقدار وارد شده اعتبار سنجی شده و با معیار مورد نظر مطابقت داشت ، تابع مقدار True و در صورتی که مطابقت نداشت ، مقدار False را بر می گرداند .
شکل کلی استفاده از این تابع به صورت زیر است :
Syntax | filter_input ( input_type , variable , filter ) |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نوع منبع داداه ای است که به صفحه وارد شده و می خواهیم مقدار آن را با فیلتر مورد نظرمان اعتبار سنجی نماییم . برای مثال این پارامتر می تواند مقدار وارد شده در یک کادر متن در یک فرم وب و یا یک کوکی یا مقداری باشد که توسط یک متد GET به صفحه ارسال شده است .
استفاده از این پارامتر اجباری است . |
type |
این پارامتر تعیین کننده نام متغیری است که تابع می خواهد آن را بررسی و اعتبار سنجی کند . مقدار وارد شده در منبع ورودی در یک متغیر با نام خاص ریخته شده و برنامه آن را اعتبار سنجی می کند . استفاده از این پارامتر اجباری است . |
variable |
این پارامتر تعیین کننده نام یا ID یکی از فیلتر های پیش ساخته اعتبار سنج PHP است که بر مبنای آن داده ورودی اعتبار سنجی می شود . مقدار پیش فرض برای این پارامتر FILTER_SANITIZE_STRING است . برای دریافت اطلاعات کامل راجع به انواع فیلتر های پیش ساخته PHP به صفحه مرجع فیلتر های اعتبار سنج در PHP بروید . استفاده از این پارامتر اختیاری است . |
filter |
با ارایه یک مثال ، موارد بالا را در عمل نمایش داده ایم .
مثال : در مثال زیر تابع ( ) filter_input ، مقدار ورودی برای یک متغیر از نوع INPUT_POST را که توسط یک متد POST به صفحه ارسال شده و نام آن email است را با استفاده از فیلتر FILTER_VALIDATE_EMAIL اعتبار سنجی می کند . در صورتی که مقدار وارد با فرمت یک ایمیل واقعی سازگاری داشته باشد ، برنامه پیام تایید ارسال می کند . اما در صورتی که ایمیل وارد فرمت صحیحی نداشته باشد ، پیام ایراد صادر می شود .
مثال |
< ? php if ( ! filter_input ( INPUT_POST , ' email ' , FILTER_VALIDATE_EMAIL ) ) { echo ( " E-Mail is not valid " ) ; } else { echo ( " E-Mail is valid " ) ; } ?> |
اعتبار سنجی داده های ورودی در 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 به صفحه ارسال شده است .
استفاده از این پارامتر اجباری است . |
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 ) |
اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_list:
تابع اعتبار سنج ( ) filter_list :
تابع ( ) filter_list ، آرایه ای از کلیه فیلترهای اعتبار سنجی که سرور PHP و مرورگر کاربر پشتیبانی می کند ، را بر می گرداند .
خروجی این تابع کاربرد چندانی نداشته و فقط برای آگاهی از فیلتر های اعتبار سنج قابل دسترس استفاده می شود .
خروجی این تابع ، به صورت آرایه ای از اسامی فیلترهای اعتبار سنج قابل دسترس می باشد .
شکل کلی استفاده از این تابع به صورت زیر است :
Syntax | filter_list ( ) |
مثال : در مثال زیر ، نحوه استفاده و خروجی این تابع را در عمل نمایش داده ایم :
مثال |
< ? php print_r ( filter_list ( ) ) ; ?> |
خروجی |
Array ( [0] => int [1] => boolean [2] => float [3] => validate_regexp [4] => validate_url [5] => validate_email [6] => validate_ip [7] => string [8] => stripped [9] => encoded [10] => special_chars [11] => unsafe_raw [12] => email [13] => url [14] => number_int [15] => number_float [16] => magic_quotes [17] => callback ) |
اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_var:
تابع اعتبار سنج ( ) filter_var :
تابع ( ) filter_var ، مقدار وارد شده برای یک متغیر دریافت کرده و بر اساس معیار مورد نظر اعتبار سنجی می کند .
برای مثال متغیر می تواند یک مقدار از پیش تعیین شده یا مقداری که کاربر در یک کادر متن در یک فرم وب وارد کرده است ، باشد.
برای مثال فرض کنید که کاربر باید در یک کادر متن آدرس ایمیل خود را وارد نماید . این تابع مقدار وارد شده در کادر متن مربوط به ایمیل را دریافت کرده و آن را با استفاده از یکی از فیلترهای پیش ساخته اعتبار سنج PHP به نام FILTER_VALIDATE_EMAIL بررسی می کند که آیا با فرمت یک ایمیل معمولی سازگاری دارد یا خیر .
یا مثلا می خواهیم مطمئن شویم که مقدار یک متغیر عددی در رنج عدد مورد نظر ما قرار دارد یا خیر .
در صورتی که مقدار وارد شده اعتبار سنجی شده و با معیار مورد نظر مطابقت داشت ، تابع مقدار True و در صورتی که مطابقت نداشت ، مقدار False را بر می گرداند .
شکل کلی استفاده از این تابع به صورت زیر است :
Syntax | filter_var ( variable , filter ) |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام متغیری است که تابع می خواهد آن را بررسی و اعتبار سنجی کند . مقدار وارد شده در منبع ورودی در یک متغیر با نام خاص ریخته شده و برنامه آن را اعتبار سنجی می کند . استفاده از این پارامتر اجباری است . |
variable |
این پارامتر تعیین کننده نام یا ID یکی از فیلتر های پیش ساخته اعتبار سنج PHP است که بر مبنای آن داده ورودی اعتبار سنجی می شود . مقدار پیش فرض برای این پارامتر FILTER_SANITIZE_STRING است . برای دریافت اطلاعات کامل راجع به انواع فیلتر های پیش ساخته PHP به صفحه مرجع فیلتر های اعتبار سنج در PHP بروید . استفاده از این پارامتر اختیاری است . |
filter |
با ارایه یک مثال ، موارد بالا را در عمل نمایش داده ایم .
مثال : در مثال زیر تابع ( ) filter_var ، یک متغیر را دریافت کرده و آن را با فیلتر FILTER_VALIDATE_EMAIL که بررسی کننده فرمت ایمیل است ، بررسی کرده و در صورتی که فرمت آن صحیح باشد ، پیام تایید و در غیر اینصورت پیام هشدار صادر می شود :
مثال 1 : فرمت نا صحیح یک ایمیل .
مثال |
< ? php if ( ! filter_var ( "someone@example....com" , FILTER_VALIDATE_EMAIL ) ) { echo ( " E-Mail is not valid " ) ; } else { echo ( " E-Mail is valid " ) ; } ?> |
خروجی مثال در این حالت | E-Mail is not valid |
مثال 2 : فرمت صحیح یک ایمیل .
مثال |
< ? php if ( ! filter_var ( "someone@example.com" , FILTER_VALIDATE_EMAIL ) ) { echo ( " E-Mail is not valid " ) ; } else { echo ( " E-Mail is valid " ) ; } ?> |
خروجی مثال در این حالت | E-Mail is valid |
اعتبار سنجی داده های ورودی در PHP - تابع ( ) filter_var_array:
تابع اعتبار سنج ( ) filter_var_array :
تابع ( ) filter_var_array ، مقدار چندین ( آرایه ای از ) متغیر را دریافت کرده و آنها را بر اساس معیار مورد نظر اعتبار سنجی می کند .
برای مثال متغیرها می توانند مقداری از پیش تعیین شده بوده یا مقداری که کاربر در کادرهای متن در یک فرم وب وارد کرده است ، باشد.
فرق تابع ( ) filter_var_array با تابع ( ) filter_var در این است که تابع ( ) filter_var_array می تواند چندین متغیر را همزمان و بدون نیاز به تکرار دستوری ، اعتبار سنجی نماید ، حال آنکه تابع ( ) filter_var ، فقط می تواند یک متغیر را اعتبار سنجی نماید .
خروجی این تابع ، به صورت آرایه ای از جواب های True یا False خواهد بود .
شکل کلی استفاده از این تابع به صورت زیر است :
Syntax | filter_var_array ( array , filter args ) |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام آرایه ای از متغیر هایی که تابع قرار است آنها را اعتبار سنجی نماید . استفاده از این پارامتر اجباری است . |
array |
این پارامتر تعیین کننده نام یا ID یکی از فیلتر های پیش ساخته اعتبار سنج PHP است که بر مبنای آن داده ورودی اعتبار سنجی می شود . مقدار پیش فرض برای این پارامتر FILTER_SANITIZE_STRING است . برای دریافت اطلاعات کامل راجع به انواع فیلتر های پیش ساخته PHP به صفحه مرجع فیلتر های اعتبار سنج در PHP بروید . استفاده از این پارامتر اختیاری است . |
filter args |
با ارایه یک مثال ، موارد بالا را در عمل نمایش داده ایم .
مثال : در مثال زیر تابع ( ) filter_var_array را برای اعتبار سنجی 3 متغیری که در آرایه arr قرار داده اند ، استفاده کرده ایم . مقادیر ورودی یک name ، age و یک e-mail addres هستند.
مثال |
< ? php $arr = array ( "name" => "peter griffin", "age" => "41", "email" => "peter@example.com", ); $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_var_array($arr, $filters)); ?> |
خروجی |
Array ( [name] => Peter Griffin [age] => 41 [email] => peter@example.com ) |
منبع: developer1