Dennis Wronka
Soulcollector
Geht es hier nur um 1 Formular oder verschiedene?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
$Form["formularname"]["feldname"]["pflicht"]=true;
$Form["formularname"]["feldname"]["email"]=true;
In dieser Größenordnung ist es das einzige Formular.Geht es hier nur um 1 Formular oder verschiedene?
Diese Art der Codierung war mir bislang noch garnicht bekannt.Ich würde am anfang des Scriptes eine Liste Hart im Code definieren in der die gewünschten eigenschaften der Eingaben stehen.
Mit Arrays habe ich noch nicht so viel Erfahrung.Danach eine Funktion die, die sogewonnenen Spezifikationen mit den empfangenen Daten vergleicht. Fehler werden einfach in ein Array geschrieben.
<?php
function eingabe_check($eingabe, $name_eingabe, $typ = "string", $pflicht = 0, $minsize = 0, $maxsize = 10240){
global $fehler_array_eingabe_check;
// schauen ob es gesetzt und nicht leer ist
if($pflicht == 1 and empty($eingabe)){
$fehler_array_eingabe_check[] = "<li>".$name_eingabe." ist leer!</li>";
return $eingabe;
}
// Standart-Sicherheit
// Man muss vorher eine Verbindung zur DB
// herstellen!
$eingabe = mysql_real_escape_string($eingabe);
/******************************
// Verschiedene Typen:
// - String
// - Nummer
// - Mail
*******************************/
switch($typ){
default:
case "string":
if(!is_string($eingabe)){
$fehler_array_eingabe_check[] = "<li>".$name_eingabe." ist kein Text!</li>";
}
break;
case "number":
if(!is_numeric($eingabe)){
$fehler_array_eingabe_check[] = "<li>".$name_eingabe." ist keine Nummer!</li>";
}
break;
case "mail":
if( !eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $eingabe ) ){
$fehler_array_eingabe_check[] = "<li>".$name_eingabe." ist keine E-Mail-Adresse!</li>";
}
break;
}
if( sizeof($eingabe) > $maxsize){
$fehler_array_eingabe_check[] = "<li>".$name_eingabe." ist zu groß!</li>";
}
if( sizeof($eingabe) < $minsize){
$fehler_array_eingabe_check[] = "<li>".$name_eingabe." ist zu klein!</li>";
}
return $eingabe;
}
$test = eingabe_check($_GET["test"], "Test", "string", "1", 20);
foreach ($fehler_array_eingabe_check as $wert)
echo $wert;
?>