ich bastel gerade an einer Möglichkeit, numerische Felder auf Eingabefehler zu überprüfen.
Bei Fehler mit entsprechender Fehlermeldung zurück zur Eingabemaske.
Leider wird die Abfrage zuerst an "function add_media" gesandt, dann Abfrage an "function valid_num($ean..." und das war's. :?:
Der Rückgabecode zur Eingabemaske ist --$action1 = ""--.
- Code: Select all
if ($action1 == "Add") {
if ($order_no != "") {
$store = $user->valid_num($field=Bestellnummer, $order_no,'-',strlen($order_no),'.-1234567890');
}
if ($isbn != "") {
$store = $user->valid_num($field=ISBN, $isbn,'-',16,'-1234567890');
}
if ($ean != "") {
$store = $user->valid_num($field=EAN, $ean,'-',13,'1234567890');
}
if ($store == "$field to long"){
$message = "<font class=red>Nicht plausibel: $field-Nummer zu lang.</font>";
$action="";
}
elseif ($store == "$field to short") {
$message = "<font class=red>Nicht plausibel: $field-Nummer zu kurz.</font>";
$action1 = "";
}
elseif ($store == "$field minus") {
$message = "<font class=red>Nicht plausibel: $field: Unerlaubtes Minuszeichen am Anfang.</font>";
$action1 = "";
}
elseif ($store == "$field bad sign") {
$message = "<font class=red>Nicht plausibel: $field: Unerlaubte Zeichen.</font>";
$action1 = "";
}
elseif ($store == "$field OK") {
//$message = "";
}
$store = $user->add_media($username, $password, $m_titel, $ms_titel, $short, $medium, $publish, $order_no, $isbn, $ean, $link, $bild, $playtime, $stat);
if ($store == "blank m_titel") {
$message = "<font class=red>Medientitel: Feld darf nicht leer sein.</font>";
$action1 = "";
}
elseif ($store == "blank medium") {
$message = "<font class=red>Medium nicht eingeben.</font>";
$action1 = "";
}
elseif ($store == "blank publish") {
$message = "<font class=red>Verlag nicht ausgewählt.</font>";
$action1 = "";
}
elseif ($store == "blank order_no") {
$message = "<font class=red>Bestellnummer nicht eingegeben.</font>";
$action1 = "";
}
elseif ($store == "blank short") {
$message = "<font class=red>Kurzbezeichnung darf nicht leer sein.</font>";
$action1 = "";
}
elseif ($store == 1) {
$message = "<font class=green>Neuer Datensatz wurde hinzugefügt.</font>";
}
$message= $message."<br>".$store; // nur zur Kontrolle
}
Dieses ist die Prüffunktion, welche für sich allein gut funktioniert
- Code: Select all
function valid_num($field,$str,$minus,$validlength,$validmask) {
if ($minus != "" && (substr($str, 0, 1) == $minus)) { return "$field minus";
}
elseif (strspn($str, $validmask) == strlen($str) && $validlength > strlen($str)) { return "$field to short";
}
elseif (strspn($str, $validmask) == strlen($str) && $validlength < strlen($str)) { return "$field to long";
}
elseif (strspn($str, $validmask) == strlen($str) && $validlength ==strlen($str)) { return "$field OK";
}
else {return "$field bad sign";}
}
function add_media mit Versuch //function $user->valid_num
- Code: Select all
--snip
//Check if fields are filled up
if (trim($m_titel) == "") {return "blank m_titel";
}
// elseif (trim($isbn) != "") { $user->valid_num(ISBN, $isbn,'-',16,'1234567890');
//return $user;
// }
elseif (trim($medium) == "") { return "blank medium";
}
elseif (trim($publish) == "") { return "blank publish";
}
elseif (trim($order_no) == "") { return "blank order_no";
}
elseif (trim($short) == "") { return "blank short";
}
$addmedia = "INSERT INTO
Im voraus vielen Dank
Jürgen