Beschreibung: In diesem Projekt habe ich einen kleinen Rechner entwickelt, der grundlegende mathematische Operationen wie Addition, Subtraktion, Multiplikation und Division ausführt. Die Webanwendung ermöglicht es den Benutzern, zwei Zahlen einzugeben und eine gewünschte mathematische Operation auszuwählen. Besondere Aufmerksamkeit wurde auf die Implementierung von Sicherheitsfeatures gelegt, um die Eingaben der Benutzer zu validieren und potentiellen Sicherheitsrisiken, wie z.B. XSS (Cross-Site Scripting) und Division durch null, entgegenzuwirken. Mithilfe von PHP wird die Logik für die Rechenoperationen implementiert, während HTML und CSS für die Gestaltung der Benutzeroberfläche verwendet werden.
Technologien:
PHP: Verwendung zur Programmierung der Rechenlogik und zur Sicherstellung der Validierung und Sanitärung von Benutzereingaben durch Funktionen wie `htmlspecialchars()` und `is_numeric()`, um schädlichen Code zu verhindern und nur gültige Zahlen zu verarbeiten.
HTML: Erstellung des Benutzeroberflächenformulars zur Eingabe der Zahlen und zur Auswahl der Rechenoperationen. Das `required`-Attribut sorgt dafür, dass die Benutzer alle nötigen Informationen eingeben, bevor sie das Formular absenden.
CSS: Gestaltung der Benutzeroberfläche für eine ansprechende visuelle Darstellung, inklusive responsiver Anpassungen, um eine benutzerfreundliche Erfahrung auf verschiedenen Geräten zu gewährleisten.
Funktionen in E2_zusätzlicheFunktionen.inc.php:
addiere: Funktion zur Addition von zwei Zahlen.
subtrahiere: Funktion zur Subtraktion zweier Zahlen.
multipliziere: Funktion zur Multiplikation von zwei Zahlen.
dividiere: Funktion zur Division zweier Zahlen mit einer Überprüfung zur Vermeidung von Division durch null.
Sicherheitsfeatures:
- Überprüfung und Sanitärung der Benutzereingaben mit `htmlspecialchars()` und `is_numeric()`, um sicherzustellen, dass nur gültige Zahlen verarbeitet werden.
- Validierung, dass eine Rechenoperation ausgewählt wurde, bzgl. der Eingaben für die Rechnung.
- Benutzerfreundliche Fehlermeldungen zur Anzeige von Problemen bei der Eingabe.Dies ist eine "Timeline", die tatsächlich eines der Layouts eines "Raster"-Elements ist. So können Sie immer jedes Ihrer Raster in eine Timeline und umgekehrt umwandeln