Mục lục
Togglefilter_has_var ( int $type , string $variable_name ) : bool
INPUT_GET
, INPUT_POST
, INPUT_COOKIE
, INPUT_SERVER
, or INPUT_ENV.
<?php $_GET['test'] = 1; echo filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No'; ?>Và kết quả trả về sẽ là
No
Trong trường hợp này bạn có thể thấy giá trị test có tồn tại trong biến $_GET nhưng trong PHP hàm filter_has_var() chỉ nhận giá trị khi nó thực sự này trong chuỗi truy vấn.
if ( !filter_has_var(INPUT_GET, 'email') ) { echo "Email Not Found"; }else{ echo "Email Found"; } localhost/nanhe/test.php?email=1 //Email Found localhost/nanhe/test.php?email //Email Found http://localhost/nanhe/test.php //Email Not Found Consider on second example http://localhost/nanhe/test.php $_GET['email']="[email protected]"; if ( !filter_has_var(INPUT_GET, 'email') ) { echo "Email Not Found"; }else{ echo "Email Found"; } //Email Not FoundTrong ví dụ trên bạn có thể thấy việc sử dụng hàm filter_has_var() để đảm bảo biến được truyền lên bằng GET, trong nhiều trường hợp khác nhau bạn cũng có thể cân nhắc sử dụng hai hàm khác trong việc kiểm tra dữ liệu là isset() hoặc empty().
<?php $_GET['test'] = 1; echo filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No'; // No echo isset($GET['test']) ? 'Yes': 'No'; // No echo empty($GET['test']) ? 'Yes': 'No'; // No ?>Nhưng cũng với các hàm trên nếu bạn truyền biến $_GET thông qua một câu truy vấn, mọi thứ sẽ khác.
https://localhost/baitap/filter.php?test=1 <?php echo filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No'; // Yes echo isset($GET['test']) ? 'Yes': 'No'; // No echo empty($GET['test']) ? 'Yes': 'No'; // Yes ?>
Bình luận: