Bộ lọc dữ liệu trong php

Bộ lọc php

Php hỗ trợ nhiều hàm xác minh dữ liệu .

Ví dụ lấy toàn bộ các filter trong php:

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td 
{
    border
: 1px solid black;
    border-collapse
: collapse;
}
th, td 
{
    padding
: 5px;
}
</style>
</head>
<body>

<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>

</body>
</html>

Kết quả có các bộ lọc xác minh như sau:

Filter name

Filter ID

int

257

boolean

258

float

259

validate_regexp

272

validate_url

273

validate_email

274

validate_ip

275

string

513

stripped

513

encoded

514

special_chars

515

full_special_chars

522

unsafe_raw

516

email

517

url

518

number_int

519

number_float

520

magic_quotes

521

callback

1024

 

Tại sao lại sử dụng bộ lọc

Hiện có nhiều form mẫu nên việc sử dụng bộ lọc để tránh spam. Ví dụ ô nhập số điện thoại mà nhập chữ sẽ báo lỗi.

Ví du String:

<!DOCTYPE html>
<html>
<body>

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

</body>
</html>

Kết quả:

Hello World!

Ví dụ 2 Integer:

<!DOCTYPE html>
<html>
<body>

<?php
$int = 
100;

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

</body>
</html>

Kết quả:

Integer is valid

Ví dụ 3 Đối với int mà biến =0 thì sẽ báo invalid:

<!DOCTYPE html>
<html>
<body>

<?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");
}
?>

</body>
</html>

Kết quả:

Integer is valid

Ví dụ 4 validate hàm ip address:

<!DOCTYPE html>
<html>
<body>

<?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");
}
?>

</body>
</html>

Kết quả:

127.0.0.1 is a valid IP address

Ví dụ 5 bộ lọc cho địa chỉ email:

<!DOCTYPE html>
<html>
<body>

<?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");
}
?>

</body>
</html>

Kết quả:

john.doe@example.com is a valid email address

Ví dụ 6 validate for url:


<
!DOCTYPE html>
<html>
<body>

<?php
$url = 
"https://www.CodeWR.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");
}
?>

</body>
</html>

Kết quả:

 

https://www.CodeWR.com is a valid URL