Dennis Wronka
Soulcollector
Geht es hier nur um 1 Formular oder verschiedene?
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature currently requires accessing the site using the built-in Safari browser.
$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;
?>