From d6bd4aebc2789b0dc7f3f317baf0c544462ba063 Mon Sep 17 00:00:00 2001 From: Sockenklaus Date: Wed, 13 Nov 2024 00:42:37 +0100 Subject: [PATCH] Improved error handling. --- index.php | 100 ++++++++++++++++++++++++------------------------------ 1 file changed, 45 insertions(+), 55 deletions(-) diff --git a/index.php b/index.php index 9a95daa..9e7971d 100644 --- a/index.php +++ b/index.php @@ -74,8 +74,8 @@ * Mail-Kram */ - $mail_to = "jandop@yahoo.de"; - //$mail_to = "sockenklaus@gmail.com"; + //$mail_to = "jandop@yahoo.de"; + $mail_to = "sockenklaus@gmail.com"; $subject = "Rundkopfschlitzschrauben - Bestellformular"; /* @@ -90,69 +90,67 @@ * */ - $mail_from = isset($_POST['email']) ? $_POST['email'] : ''; - $name = isset($_POST['name']) ? $_POST['name'] : ''; - $strasse = isset($_POST['strasse']) ? $_POST['strasse'] : ''; - $stadt = isset($_POST['stadt']) ? $_POST['stadt'] : ''; - $plz = isset($_POST['plz']) ? $_POST['plz'] : ''; - $telefon = isset($_POST['telefon']) ? $_POST['telefon'] : ''; - $schrauben = isset($_POST['schrauben']) ? $_POST['schrauben'] : []; - $notiz = isset($_POST['notiz']) ? $_POST['notiz'] : ''; - $sparpaket = isset($_POST['sparpaket']) ? $_POST['sparpaket'] : ''; - $senden = isset($_POST['senden']) ? $_POST['senden'] : ''; + $mail_from = isset($_POST['email']) ? trim($_POST['email']) : ''; + $name = isset($_POST['name']) ? trim($_POST['name']) : ''; + $strasse = isset($_POST['strasse']) ? trim($_POST['strasse']) : ''; + $stadt = isset($_POST['stadt']) ? trim($_POST['stadt']) : ''; + $plz = isset($_POST['plz']) ? trim($_POST['plz']) : ''; + $telefon = isset($_POST['telefon']) ? trim($_POST['telefon']) : ''; + $schrauben = isset($_POST['schrauben']) ? $_POST['schrauben'] : []; + $notiz = isset($_POST['notiz']) ? trim($_POST['notiz']) : ''; + $senden = isset($_POST['senden']) ? $_POST['senden'] : ''; $status = ''; $mengen = ''; $text = ''; - $ok = false; + $ok = true; $form_errors = []; $screw_errors = []; if ($senden == "Abschicken") { foreach ($schrauben as $key => $value) { - if ($value >= 10) { - $mengen .= "$key: $value\n"; + if (is_numeric($value)) { + if ($value >= 10) { + $mengen .= "$key: $value\n"; + } + elseif ($value > 0 && $value < 10) { + $screw_errors[$key] = "Es müssen mindestens 10 Schrauben bestellt werden."; + $ok = false; + } } - elseif ($value > 0 && $value < 10) { - $status .= "Es müssen mindestens 10 Schrauben bestellt werden.
"; - $screw_errors[$key] = "Es müssen mindestens 10 Schrauben bestellt werden."; + else { + $screw_errors[$key] = "Ungültige Eingabe."; $ok = false; - } + } } - if (empty($mail_from)) { - $status .= "Bitte Mailadresse angeben.
"; - $form_errors[] = "Bitte E-Mail-Adresse angeben"; - $ok = false; - } if (empty($name)) { - $status .= "Bitte Name / Vorname angeben.
"; $form_errors[] = "Bitte Name / Vorname angeben."; $ok = false; } + if (empty($strasse)) { - $status .= "Bitte Straße und Hausnummer angeben.
"; $form_errors[] = "Bitte Straße und Hausnummer angeben."; $ok = false; } - if (empty($stadt)) { - $status .= "Bitte Stadt angeben.
"; - $form_errors[] = "Bitte Stadt angeben."; - $ok = false; - } + if (empty($plz)) { - $status .= "Bitte Postleitzahl eingeben.
"; $form_errors[] = "Bitte Postleitzahl angeben."; $ok = false; } - if (empty($telefon)) { - $status .= "Bitte eine Telefonnummer angeben.
"; - $form_errors[] = "Bitte Telefonnummer angeben."; + + if (empty($stadt)) { + $form_errors[] = "Bitte Stadt angeben."; $ok = false; } + + if (empty($mail_from)) { + $form_errors[] = "Bitte E-Mail-Adresse angeben"; + $ok = false; + } + if (empty($mengen)) { - $status .= "Es muss mindestens ein Schraubentyp bestellt werden."; $form_errors[] = "Es muss mindestens ein Schraubentyp bestellt werden."; $ok = false; } @@ -182,7 +180,7 @@ //$mail_ok = mail($mail_to, $subject, $text, $headers); if ($mail_ok) { - $status .= "Mail erfolgreich verschickt.
"; + $form_errors[] = "Mail erfolgreich verschickt."; $name = ""; $strasse = ""; $plz = ""; @@ -191,7 +189,7 @@ $telefon = ""; $notiz = ""; } - else $status .= "Beim Verschicken der Mail ist ein Fehler aufgetreten.
"; + else $form_errors[] = "Beim Verschicken der Mail ist ein Fehler aufgetreten."; } } ?> @@ -204,12 +202,6 @@ -
- -
- -
-
@@ -284,9 +276,7 @@ $has_error = array_key_exists($key, $screw_errors); echo ' - '; - echo array_key_exists($key, $schrauben) ? 1 : 0; - echo '...'. $value[0].' + '. $value[0].' '.$value[1].' '; } - + if(count($form_errors) == 0 && count($screw_errors) == 0) echo '
'; ?> -

0) echo 'Fehler bei der Schraubenauswahl. Bitte prüfen.
'; foreach($form_errors as $error) { echo $error ."
"; } @@ -327,26 +317,26 @@

- +
Name / Vorname erforderlich.
- +
Straße und Hausnummer erforderlich.
- +
Postleitzahl erforderlich.
- +
Stadt erforderlich.
- +
(Korrekte) E-Mail-Adresse erforderlich.
- +
Bitte Telefonnummer eingeben.