PHP -zelfstudie

PHP HOME PHP-intro PHP-installatie PHP-syntaxis PHP-opmerkingen PHP-variabelen PHP-echo / afdrukken PHP-gegevenstypen PHP-strings PHP-nummers PHP-wiskunde PHP-constanten PHP-operators PHP Als...Anders...Anders PHP-switch PHP-loops PHP-functies PHP-arrays PHP Superglobals PHP RegEx

PHP- formulieren

PHP-formulierverwerking PHP-formuliervalidatie PHP-formulier vereist URL/e-mail van PHP-formulier PHP-formulier voltooid

PHP Geavanceerd

PHP-datum en tijd PHP opnemen PHP-bestandsverwerking PHP-bestand openen/lezen PHP-bestand maken/schrijven PHP-bestand uploaden PHP-cookies PHP-sessies PHP-filters PHP-filters geavanceerd PHP-callback-functies PHP JSON PHP-uitzonderingen

PHP OOP

PHP Wat is OOP PHP-klassen/objecten PHP-constructor PHP-vernietiger PHP-toegangsmodificaties PHP-overerving PHP-constanten PHP abstracte lessen PHP-interfaces PHP-kenmerken PHP statische methoden Statische eigenschappen van PHP PHP-naamruimten PHP-iterables

MySQL- database

MySQL-database MySQL Connect MySQL DB maken MySQL-tabel maken MySQL Gegevens invoegen MySQL Laatste ID ophalen MySQL Meerdere invoegen MySQL voorbereid MySQL Gegevens selecteren MySQL Waar MySQL Bestel op MySQL Gegevens verwijderen MySQL-updategegevens MySQL-limietgegevens

PHP XML

PHP XML-parsers PHP SimpleXML-parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

Ajax-intro AJAX PHP AJAX-database AJAX XML Live zoeken in Ajax Ajax-peiling

PHP- voorbeelden

PHP-voorbeelden PHP-compiler PHP-quiz PHP-oefeningen PHP-certificaat

PHP- referentie

PHP-overzicht PHP-array PHP-agenda PHP-datum PHP-map PHP-fout PHP-uitzondering PHP-bestandssysteem PHP-filter PHP FTP PHP JSON PHP-sleutelwoorden PHP Libxml PHP-e-mail PHP-wiskunde PHP Diversen PHP MySQLi PHP-netwerk PHP-uitvoercontrole PHP RegEx PHP SimpleXML PHP-stream PHP-string Beheer van PHP-variabelen PHP XML-parser PHP-zip PHP-tijdzones

PHP -filters


Gegevens valideren = Bepaal of de gegevens in de juiste vorm zijn.

Gegevens opschonen = elk illegaal teken uit de gegevens verwijderen.


De PHP-filterextensie

PHP-filters worden gebruikt om externe invoer te valideren en op te schonen.

De PHP-filterextensie heeft veel van de functies die nodig zijn voor het controleren van gebruikersinvoer en is ontworpen om gegevensvalidatie eenvoudiger en sneller te maken.

De filter_list()functie kan worden gebruikt om op te sommen wat de PHP-filterextensie te bieden heeft:

Voorbeeld

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

Waarom filters gebruiken?

Veel webapplicaties krijgen externe input. Externe invoer/gegevens kunnen zijn:

  • Gebruikersinvoer van een formulier
  • Koekjes
  • Gegevens van webservices
  • Servervariabelen
  • Resultaten databasequery

U moet externe gegevens altijd valideren!
Ongeldig ingediende gegevens kunnen leiden tot beveiligingsproblemen en uw webpagina kapot maken!
Door gebruik te maken van PHP filters weet je zeker dat je applicatie de juiste input krijgt!



PHP filter_var () Functie

De filter_var()functie valideert en zuivert gegevens.

De filter_var()functie filtert een enkele variabele met een gespecificeerd filter. Er zijn twee gegevens nodig:

  • De variabele die u wilt controleren
  • Het type cheque dat moet worden gebruikt

Een string zuiveren

In het volgende voorbeeld wordt de filter_var()functie gebruikt om alle HTML-tags uit een tekenreeks te verwijderen:

Voorbeeld

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

Valideer een geheel getal

In het volgende voorbeeld wordt de filter_var()functie gebruikt om te controleren of de variabele $int een geheel getal is. Als $int een geheel getal is, is de uitvoer van de onderstaande code: "Integer is valid". Als $int geen geheel getal is, is de uitvoer: "Integer is not valid":

Voorbeeld

<?php
$int = 100;

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

Tip: filter_var() en Probleem met 0

In het bovenstaande voorbeeld, als $int was ingesteld op 0, retourneert de bovenstaande functie "Integer is not valid". Gebruik de onderstaande code om dit probleem op te lossen:

Voorbeeld

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

Een IP-adres valideren

In het volgende voorbeeld wordt de filter_var()functie gebruikt om te controleren of de variabele $ip een geldig IP-adres is:

Voorbeeld

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

Een e-mailadres opschonen en valideren

In het volgende voorbeeld wordt de filter_var()functie gebruikt om eerst alle ongeldige tekens uit de variabele $email te verwijderen en vervolgens te controleren of het een geldig e-mailadres is:

Voorbeeld

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

Een URL opschonen en valideren

In het volgende voorbeeld wordt de filter_var()functie gebruikt om eerst alle ongeldige tekens van een URL te verwijderen en vervolgens te controleren of $url een geldige URL is:

Voorbeeld

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

Volledige PHP-filterreferentie

Voor een volledige referentie van alle filterfuncties, ga naar onze volledige PHP Filter Reference. Controleer elk filter om te zien welke opties en vlaggen beschikbaar zijn.

De referentie bevat een korte beschrijving en gebruiksvoorbeelden voor elke functie!