فیلترهاfilters در php

بازدید: 424 بازدید
فیلترها filters در php

فیلترها filters در php، به منزله صافی هایی عمل می کنند که سلامت و درستی فرم ها و اطلاعات آنها را بررسی می کنند.

از این فیلترها برای اعتبار سنجی داده هایی که از فرم ها گرفته می شوند، استفاده می شود.

پسوند فیلتر، توابع بسیاری که برای اعتبارسنجی داده های ورودی کاربر موردنیاز است را در خود دارد.

این پسوند برای اینکه به اعتبارسنجی داده ها و اطلاعات با دقت و سرعت بالاتری انجام شود، ایجاد شده است.

در آموزش امروز از سری اموزش های دوره حرفه ای php درباره فیلتر و نحوه استفاده از آن صحبت خواهیم کرد.

همراه پرنیان باشید.

با سلام خدمت همراهان همیشگی سایت پرنیان طرح

فیلترها filters در php، به منزله صافی هایی عمل می کنند که سلامت و درستی فرم ها و اطلاعات آنها را بررسی می کنند.

از این فیلترها برای اعتبار سنجی داده هایی که از فرم ها گرفته می شوند، استفاده می شود.

پسوند فیلتر، توابع بسیاری که برای اعتبارسنجی داده های ورودی کاربر موردنیاز است را در خود دارد.

این پسوند برای اینکه به اعتبارسنجی داده ها و اطلاعات با دقت و سرعت بالاتری انجام شود، ایجاد شده است.

در آموزش امروز از سری اموزش های دوره حرفه ای php درباره فیلتر و نحوه استفاده از آن صحبت خواهیم کرد.

همراه پرنیان باشید.

اعتبارسنجی داده ها یعنی، بررسی اینکه آیا اطلاعات در فرم درستی قرار دارند.

پاکسازی داده ها، یعنی پاک کردن اطلاعات ورودی فرم ها از هر گونه کاراکترهای غیرمجاز و اضافی

بعد از آشنایی با مفاهیم اولیه فیلتر، در ادامه با انواع توابع فیلتر و نحوه کارکرد آنها آشنا خواهیم شد.

تابع ()filter_list

از این تابع برای لیست کردن تمام امکاناتی که فیلتر در اختیار شما قرار می دهد، استفاده می شود.

به کد زیر توجه کنید:

[php]

<table>
<tr>
<td>Filter Name</td>
<td>Filter ID</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo ‘<tr><td>’ . $filter . ‘</td><td>’ . filter_id($filter) . ‘</td></tr>’;
}
?>
</table>

[/php]

خروجی این کد، جدولی است که نام فیلتر و کد آن را نمایش خواهد داد.

جدول لیست فیلترها

چرا از فیلتر استفاده می کنیم؟

بسیاری از برنامه اینترنتی، ورودی هایی را از خارج از برنامه دریافت می کنند.

ورودی/اطلاعات خارجی می توانند موارد زیر باشند:

  • اطلاعات وارد شده توسط کاربر در یک فرم
  • کوکی ها
  • اطلاعات سرویس های وب
  • متغیرهای سرور
  • نتایج پرس و جو های دیتابیس

تابع ()filter_var

این تابع هم کار اعتبارسنجی داده ها و هم ضدعفونی کردن آنها را انجام می دهد.

این تابع، یک متغیر را با فیلتر تعیین شده، فیلتر می کند.

این مسئله منجر به بررسی دو بخش از داده می شود:

  • متغیری که می خواهید چک کنید.
  • نوع چک کردن مورد استفاده

 

پاکسازی یک رشته

در مثال زیر از تابع ()filter_var استفاده خواهیم کرد تا تمام تگ های html را از رشته مثال پاک کنیم.

[php]

<?php
$str = “<h1>Hello World!</h1>”;
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>

[/php]

و در نهایت خروجی کد بالا عبارت Hello World! می باشد.

اعتبارسنجی یک مقدار عددی

در مثال زیر از تابع ()filter_var استفاده می کنیم تا تشخیص دهیم که آیا متغیر int$ یک مقدار عددی هست یا نه.

اگر مقدار موجود در این متغیر، یک مقدار عددی باشد، خروجی کد مثال، عبارت  “Integer is valid” و در غیراینصورت خروجی آن مقدار “Integer is not valid” خواهد بود.

[php]

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo(“Integer is valid”);
} else {
echo(“Integer is not valid”);
}
?>

[/php]

در حال حاضر مقدار موجود در متغیر مورد نظر یک عدد می باشد.

خروجی کد بالا در اینصورت مقدار Integer is valid می باشد.

میتوانید از این لینک برای تغییر مقدار موجود در متغیر استفاده کنید.

نکته!

تابع ()filter_var و مشکل آن با مقدار 0

در مثال قبل، اگر مقدار موجود در متغیر int$ برابر با 0 مقدار دهی می شد، تابع مقدار “Integer is not valid” را در خروجی نمایش می داد. برای حل این مشکل از کد زیر استفاده می کنیم:

[PHP]

<?php
$int = 0;

if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo(“Integer is valid”);
} else {
echo(“Integer is not valid”);
}
?>

[/PHP]

اعتبارسنجی یک آدرس IP

در مثال زیر از تابع ()filter_var استفاده می کنیم تا چک کنیم که آیا آدرسip وارد شده در متغیر ip$، یک مقدار معتبر است یا خیر.

[php]

<?php
$ip = “127.0.0.1”;

if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
echo(“$ip is a valid IP address”);
} else {
echo(“$ip is not a valid IP address”);
}
?>

[/php]

در حال حاضر خروجی این کد ، با توجه به مقدار وارد شده درون متغیر ، valid خواهد بود.

می توانید از طریق این لینک ، مقدار درون متغیر را تغییر دهید.

پاکسازی و اعتبار سنجی یک آدرس ایمیل

درمثال زیر از تابع ()filetr_var برای پاکسازی آدرس ایمیل از کاراکترهای غیرمجاز، و بعد اعتبارسنجی آدرس استفاده میکنیم .

[php]

<?php
$email = “john.doe@example.com”;

// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);

// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo(“$email is a valid email address”);
} else {
echo(“$email is not a valid email address”);
}
?>

[/php]

خروجی کد بالا، نمایش پیغام john.doe@example.com is a valid email address خواهد یود.

می توانید از این لینک برای تغییر مقادیر موجود در متغیرها استفاده کیند.

پاکسازی و اعتبارسنجی یک آدرس URL

در مثال زیر نیز از تابع ()FILTER_VAR استفاده کرده ایم تا کاراکترهای غیرمجاز را از درون URL حذف کنیم. پس از آن نیز عملیات اعتبار سنجی روی URL توسط همین تابع انجام می شود.

[PHP]

<?php
$url = “https://www.w3schools.com”;

// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);

// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo(“$url is a valid URL”);
} else {
echo(“$url is not a valid URL”);
}
?>

[/PHP]

خروجی کد بالا ، نمایش پیغام https://www.w3schools.com is a valid URL  خواهد بود.

می توانید از این لینک برای تغییر مقدار موجود در متغیر آدرس استفاده کنید.

اگر این مطلب برای شما مفید بود ما را در گوگل ستاره باران کنید.

دسته بندی برنامه نویسی php
اشتراک گذاری
مقالات مرتبط

دیدگاهتان را بنویسید

سبد خرید

هیچ محصولی در سبد خرید نیست.