Wenn ich es richtig versteht, muss ich dann für jeden Feldnamen eine eigene Prüfung anlegen?
Ja, und es lassen sich eben auch Abhängigkeiten prüfen.
Hier mal ein paar der über die Jahre von Kunden angefragten Prüfungen:
Code: Alles auswählen
if ($_REQUEST['content']['Zahlungsweise (text)']['text'] == 'Lastschrift'
&& (
trim($_REQUEST['content']['Kontoinhaber (text)']['text'])=='' ||
trim($_REQUEST['content']['IBAN (text)']['text'])=='' ||
trim($_REQUEST['content']['BIC (text)']['text'])=='' ||
trim($_REQUEST['content']['Name und Ort der Bank (text)']['text'])=='' ||
$_REQUEST['content']['SEPA-Einverständnis (text)']['text']==''
)
) {
$form_error = true;
if (
trim($_REQUEST['content']['Kontoinhaber (text)']['text'])=='' ||
trim($_REQUEST['content']['IBAN (text)']['text'])=='' ||
trim($_REQUEST['content']['BIC (text)']['text'])=='' ||
trim($_REQUEST['content']['Name und Ort der Bank (text)']['text'])==''
) {
if (trim($_REQUEST['content']['Kontoinhaber (text)']['text'])=='') $_REQUEST['error']['Kontoinhaber (form)']=true;
if (trim($_REQUEST['content']['IBAN (text)']['text'])=='') $_REQUEST['error']['IBAN (form)']=true;
if (trim($_REQUEST['content']['BIC (text)']['text'])=='') $_REQUEST['error']['BIC (form)']=true;
if (trim($_REQUEST['content']['Name und Ort der Bank (text)']['text'])=='') $_REQUEST['error']['Name und Ort der Bank (form)']=true;
$message[] = 'Für die Zahlungsweise "SEPA-Lastschrift" müssen Kontoinhaber, IBAN, BIC sowie Name und Ort der Bank angegeben werden. Bitte vervollständigen Sie die fehlenden Angaben zur Lastschrift!';
}
if ($_REQUEST['content']['SEPA-Einverständnis (text)']['text']=='') {
$_REQUEST['error']['SEPA-Einverständnis (form)']=true;
$message[] = 'Für die Zahlungsweise "SEPA-Lastschrift" müssen Sie Ihr Einverständnis bestätigen!';
}
}
Code: Alles auswählen
if (trim($_REQUEST['content']['F 50 (text)']['text']) && $_REQUEST['content']['F 50 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 50 (form)']=true;
}
if (trim($_REQUEST['content']['F 100 (text)']['text']) && $_REQUEST['content']['F 100 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 100 (form)']=true;
}
if (trim($_REQUEST['content']['F 200 (text)']['text']) && $_REQUEST['content']['F 200 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 200 (form)']=true;
}
if (trim($_REQUEST['content']['F 300 (text)']['text']) && $_REQUEST['content']['F 300 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 300 (form)']=true;
}
if (trim($_REQUEST['content']['F 400 (text)']['text']) && $_REQUEST['content']['F 400 (text)']['text'] < 2 ) {
$form_error = true;
$mindestmengenfehler = true;
$_REQUEST['error']['F 400 (form)']=true;
}
Code: Alles auswählen
$mengeSpeditionsWare = (int) $_REQUEST['content']['F 50 (text)']['text']
+ (int) $_REQUEST['content']['F 100 (text)']['text']
+ (int) $_REQUEST['content']['F 200 (text)']['text']
+ (int) $_REQUEST['content']['F 300 (text)']['text']
+ (int) $_REQUEST['content']['F 400 (text)']['text'];
if ($mengeSpeditionsWare == 1) {
$_REQUEST['error']['F 50 (form)']=true;
$_REQUEST['error']['F 100 (form)']=true;
$_REQUEST['error']['F 200 (form)']=true;
$_REQUEST['error']['F 300 (form)']=true;
$_REQUEST['error']['F 400 (form)']=true;
$message[] = 'Für Speditionsware gilt eine Mindestabnahmemenge von 2 VE!';
}
if (
trim($_REQUEST['content']['Lieferung Name (text)']['text']).
trim($_REQUEST['content']['Lieferung Firmenname (text)']['text']).
trim($_REQUEST['content']['Lieferung PLZ (text)']['text']).
trim($_REQUEST['content']['Lieferung Ort (text)']['text']).
trim($_REQUEST['content']['Lieferung Strasse (text)']['text']).
trim($_REQUEST['content']['Lieferung Telefon (text)']['text'])!=''
&& (
trim($_REQUEST['content']['Lieferung Name (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Firmenname (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung PLZ (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Ort (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Strasse (text)']['text'])=='' ||
trim($_REQUEST['content']['Lieferung Telefon (text)']['text'])==''
)
) {
$form_error = true;
if (trim($_REQUEST['content']['Lieferung Name (text)']['text'])=='') $_REQUEST['error']['Lieferung Name (form)']=true;
if (trim($_REQUEST['content']['Lieferung Firmenname (text)']['text'])=='') $_REQUEST['error']['Lieferung Firmenname (form)']=true;
if (trim($_REQUEST['content']['Lieferung PLZ (text)']['text'])=='') $_REQUEST['error']['Lieferung PLZ (form)']=true;
if (trim($_REQUEST['content']['Lieferung Ort (text)']['text'])=='') $_REQUEST['error']['Lieferung Ort (form)']=true;
if (trim($_REQUEST['content']['Lieferung Strasse (text)']['text'])=='') $_REQUEST['error']['Lieferung Strasse (form)']=true;
if (trim($_REQUEST['content']['Lieferung Telefon (text)']['text'])=='') $_REQUEST['error']['Lieferung Telefon (form)']=true;
$message[] = 'Bei Angabe einer abweichenden Lieferanschrift müssen alle Felder ausgefüllt werden! Bitte vervollständigen Sie die fehlenden Angaben zur Lieferanschrift!';
}
Code: Alles auswählen
// Rüden stimmen nicht!
if ( (int) $_REQUEST['content']['Zuchtbucheintragung Rüden (text)']['text'] != ( (int) $_REQUEST['content']['Rüden (text)']['text'] - (int) $_REQUEST['content']['tote Rüden (text)']['text'] - (int) $_REQUEST['content']['verendete Rüden (text)']['text']) ) {
$form_error = true;
$_REQUEST['error']['Rüden (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['tote Rüden (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['verendete Rüden (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Zuchtbucheintragung Rüden (form)'] = 'Bitte prüfen!';
$message[] = 'Bitte prüfen Sie die Zahlenangaben für Rüden!<br />Die Anzahl für die Meldung zur Zuchtbucheintragung sollte der Wurfstärke abzüglich toter und verendeter Welpen entsprechen.';
}
// Hündinnen stimmen nicht!
if ( (int) $_REQUEST['content']['Zuchtbucheintragung Hündinnen (text)']['text'] != ( (int) $_REQUEST['content']['Hündinnen (text)']['text'] - (int) $_REQUEST['content']['tote Hündinnen (text)']['text'] - (int) $_REQUEST['content']['verendete Hündinnen (text)']['text']) ) {
$form_error = true;
$_REQUEST['error']['Hündinnen (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['tote Hündinnen (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['verendete Hündinnen (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Zuchtbucheintragung Hündinnen (form)'] = 'Bitte prüfen!';
$message[] = 'Bitte prüfen Sie die Zahlenangaben für Hündinnen!<br />Die Anzahl für die Meldung zur Zuchtbucheintragung sollte der Wurfstärke abzüglich toter und verendeter Welpen entsprechen.';
}
// Datums-Check
// $_REQUEST['Erstes Deckdatum'], $_REQUEST['Letztes Deckdatum'], $_REQUEST['Wurfdatum']
// Datumseingabe ist o.k. wenn das Wurfdatum größergleich erstes Deckdatum plus 56 Tage und kleinergleich letztes Deckdatum plus 70 Tage ist.
// erstmal müssen die Datumswerte umgewandelt werden
$ErstesDeckdatumArray = explode(".", $_REQUEST['content']['Erstes Deckdatum (text)']['text']);
$LetztesDeckdatumArray = explode(".", $_REQUEST['content']['Letztes Deckdatum (text)']['text']);
$WurfdatumArray = explode(".", $_REQUEST['content']['Wurfdatum (text)']['text']);
$ErstesDeckdatum = strtotime($ErstesDeckdatumArray[2]."-".$ErstesDeckdatumArray[1]."-".$ErstesDeckdatumArray[0]);
$LetztesDeckdatum = strtotime($LetztesDeckdatumArray[2]."-".$LetztesDeckdatumArray[1]."-".$LetztesDeckdatumArray[0]);
$Wurfdatum = strtotime($WurfdatumArray[2]."-".$WurfdatumArray[1]."-".$WurfdatumArray[0]);
$DiffMin = 54 * ( 24 * 60 * 60 );
$DiffMax = 70 * ( 24 * 60 * 60 );
// jetzt prüfen
if ($Wurfdatum < ( $ErstesDeckdatum + $DiffMin ) OR $Wurfdatum > ( $LetztesDeckdatum + $DiffMax ) ) {
$form_error = true;
$_REQUEST['error']['Erstes Deckdatum (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Letztes Deckdatum (form)'] = 'Bitte prüfen!';
$_REQUEST['error']['Wurfdatum (form)'] = 'Bitte prüfen!';
$message[] = 'Bitte prüfen Sie die Datumsangaben!<br />Die Datumseingabe ist o.k. wenn das Wurfdatum größergleich erstes Deckdatum plus 54 Tage und kleinergleich letztes Deckdatum plus 70 Tage ist.';
}
Datumsprüfungen macht das Formular übrigens schon selbst mittels des Parameters
datecheck