tutoriais mais recente desenvolvimento web
 

PHP filtros


validação de dados = Determinar se os dados estão em boa forma.

Saneantes dados = Remova qualquer caráter ilegal dos dados.


A extensão PHP Filtrar

PHP filtros são usados ​​para validar e higienizar entrada externa.

A extensão filtro de PHP tem muitas das funções necessárias para a verificação de entrada do usuário, e é projetado para fazer a validação de dados mais fácil e rápido.

O filter_list() função pode ser usado para listar o que a extensão filtro de PHP oferece:

Exemplo

<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>
Exemplo executar »

Por que usar filtros?

Muitas aplicações web receber entrada externa. entrada / dados externos podem ser:

  • A entrada do usuário a partir de um formulário
  • Cookies
  • dados de serviços da Web
  • variáveis ​​de servidor
  • resultados da consulta de banco de dados

Você deve sempre validar os dados externos!
dados apresentados inválidos podem levar a problemas de segurança e quebrar sua página!
Usando filtros de PHP você pode ter certeza que seu aplicativo obtém a entrada correta!


PHP filter_var() Função

O filter_var() função tanto validar e higienizar dados.

O filter_var() função filtra uma única variável com um filtro específico. Leva dois dados:

  • A variável que pretende verificar
  • O tipo de seleção para usar

Higienizar uma String

O exemplo a seguir usa o filter_var() função para remover todas as tags HTML de uma string:

Exemplo

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

Validar um Integer

O exemplo a seguir utiliza o filter_var() a função de verificar se a variável $ int é um número inteiro. Se $ int é um inteiro, a saída do código acima será: "Integer is valid" . Se $ int não é um inteiro, a saída será: "Integer is not valid" :

Exemplo

<?php
$int = 100;

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

Dica: filter_var() e problema com 0

No exemplo acima, se $ int foi definido como 0, a função acima irá retornar "Integer is not valid" . Para resolver esse problema, use o código abaixo:

Exemplo

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

Validar um endereço IP

O exemplo a seguir usa o filter_var() função para verificar se a variável $ IP é um endereço IP válido:

Exemplo

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

Higienizar e validar um endereço de email

O exemplo a seguir usa o filter_var() função para primeiro remover todos os caracteres ilegais a partir da variável $ email, em seguida, verifique se é um endereço de email válido:

Exemplo

<?php
$email = "[email protected]";

// 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");
}
?>
Exemplo executar »

Higienizar e validar uma URL

O exemplo a seguir usa o filter_var() função para primeiro remover todos os caracteres ilegais a partir de uma URL, em seguida, verificar se $ url é um URL válido:

Exemplo

<?php
$url = "http://www.w3ii.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");
}
?>
Exemplo executar »

PHP completa Filtro de Referência

Para uma referência completa de todas as funções de filtro, ir para o nosso completo PHP Filtrar Referência. Verifique cada filtro para ver que opções e bandeiras estão disponíveis.

A referência contém uma breve descrição e exemplos de uso, para cada função!