PHP gevorderde |
|
Hey,
Ik zou graag een controle uitvoeren op een ingegeven veld en daarbij het aantal foutieve characters willen tonen. Weet iemand hoe ik dit korter kan doen? Dit lijkt me nogal omsalschtig. Ik heb 2 verschillende controles nodig: 1 indien Helemaal niets anders dan cijfers of letters mag gebruikt worden en en 1 waar wel ' - _ mag inkomen zoals in namen daarbij moet hij dus weergeven hoeveel foutieve er zijn.
nu gebruik ik dit:
<?
/********************************************************************
* Functie: check_Foutieve_Characters() *
* Parameters: *
* Doel: nazien of er foutieve characters voorkomen in de velden *
* Aanroep: check_Foutieve_Characters(); *
********************************************************************/
function check_Foutieve_Characters()
{
global $numerieke_velden, $email_velden, $datum_velden, $formulier_waardes, $formulier, $alles_toegelaten, $niets_toegelaten;
$fout = 0;
foreach($formulier as $veld) {
$aantal = 0;
$inhoud = html_entity_decode($formulier_waardes[$veld]);
if(!in_array($veld, $numerieke_velden) && !in_array($veld, $email_velden) && !in_array($veld, $datum_velden) && !in_array($veld, $alles_toegelaten)) {
if(preg_match("~[\"*$<>{}()\[\]§!]~", $inhoud)) {
$aantal += substr_count($inhoud, "*");
$aantal += substr_count($inhoud, "$");
$aantal += substr_count($inhoud, "<");
$aantal += substr_count($inhoud, ">");
$aantal += substr_count($inhoud, "{");
$aantal += substr_count($inhoud, "}");
$aantal += substr_count($inhoud, "(");
$aantal += substr_count($inhoud, ")");
$aantal += substr_count($inhoud, "[");
$aantal += substr_count($inhoud, "]");
$aantal += substr_count($inhoud, "§");
$aantal += substr_count($inhoud, "!");
if($veld !== "website") {
if(preg_match("~[\/]~", $inhoud)) {
$aantal += substr_count($inhoud, "/");
}
}
$fout++;
}
}
if(in_array($veld, $niets_toegelaten)) {
if(preg_match("~['´`áéíóúàèìòùçµäëïö\\\ü]~", $inhoud)) {
$aantal += substr_count($inhoud, "\\");
$aantal += substr_count($inhoud, "'");
$aantal += substr_count($inhoud, "´");
$aantal += substr_count($inhoud, "`");
$aantal += substr_count($inhoud, "á");
$aantal += substr_count($inhoud, "é");
$aantal += substr_count($inhoud, "í");
$aantal += substr_count($inhoud, "ó");
$aantal += substr_count($inhoud, "ú");
$aantal += substr_count($inhoud, "à");
$aantal += substr_count($inhoud, "è");
$aantal += substr_count($inhoud, "ì");
$aantal += substr_count($inhoud, "ò");
$aantal += substr_count($inhoud, "ù");
$aantal += substr_count($inhoud, "µ");
$aantal += substr_count($inhoud, "ç");
$aantal += substr_count($inhoud, "ä");
$aantal += substr_count($inhoud, "ë");
$aantal += substr_count($inhoud, "ï");
$aantal += substr_count($inhoud, "ö");
$aantal += substr_count($inhoud, "ü");
$fout++;
}
}
if($aantal !== 0) {
echo "Het veld <span class=\"nadruk\">" . $veld . "</span> bevat <span class=\"nadruk\">" . $aantal . "</span> ongeldig(e) teken(s)!<br>";
}
}
if($fout == 0) {
return TRUE;
}
}
?>
<? /******************************************************************** * Functie: check_Foutieve_Characters() * * Parameters: * * Doel: nazien of er foutieve characters voorkomen in de velden * * Aanroep: check_Foutieve_Characters(); * ********************************************************************/ function check_Foutieve_Characters() { global $numerieke_velden, $email_velden, $datum_velden, $formulier_waardes, $formulier, $alles_toegelaten, $niets_toegelaten; $fout = 0; foreach($formulier as $veld) { $aantal = 0; if($veld !== "website") { } } $fout++; } } if(in_array($veld, $niets_toegelaten)) { if(preg_match("~['´`áéíóúàèìòùçµäëïö\\\ü]~", $inhoud)) { $aantal += substr_count($inhoud, "'"); $aantal += substr_count($inhoud, "´"); $aantal += substr_count($inhoud, "`"); $aantal += substr_count($inhoud, "á"); $aantal += substr_count($inhoud, "é"); $aantal += substr_count($inhoud, "í"); $aantal += substr_count($inhoud, "ó"); $aantal += substr_count($inhoud, "ú"); $aantal += substr_count($inhoud, "à"); $aantal += substr_count($inhoud, "è"); $aantal += substr_count($inhoud, "ì"); $aantal += substr_count($inhoud, "ò"); $aantal += substr_count($inhoud, "ù"); $aantal += substr_count($inhoud, "µ"); $aantal += substr_count($inhoud, "ç"); $aantal += substr_count($inhoud, "ä"); $aantal += substr_count($inhoud, "ë"); $aantal += substr_count($inhoud, "ï"); $aantal += substr_count($inhoud, "ö"); $aantal += substr_count($inhoud, "ü"); $fout++; } } if($aantal !== 0) { echo "Het veld <span class=\"nadruk\">" . $veld . "</span> bevat <span class=\"nadruk\">" . $aantal . "</span> ongeldig(e) teken(s)!<br>"; } } if($fout == 0) { return TRUE; } } ?>
Alvast bedankt iedereen.
|