Meine Projekte

Projekt 1: Lottogenerator

Kurze Beschreibung: Im Rahmen meiner Weiterbildung habe ich einen Lottozahlen-Generator entwickelt, um die Einsendeaufgaben zu bearbeiten. Dieses Projekt generiert sechs zufällige und einzigartige Lottozahlen zwischen 1 und 49. Der Zweck war es, die Grundlagen der PHP-Programmierung zu erlernen und anzuwenden, insbesondere im Zusammenhang mit Zufallszahlengenerierung und Array-Management. Das Projekt beinhaltet auch CSS zur Verbesserung der Darstellung der Benutzeroberfläche, um die erzeugten Zahlen ansprechend zu präsentieren.

Technologien:
PHP: Die serverseitige Programmiersprache wurde verwendet, um die Logik zur Erzeugung der Lottozahlen zu implementieren, die sicherstellt, dass jede Zahl einzigartig ist.
HTML: Verwendet zur Erstellung der Struktur der Benutzeroberfläche, um die erzeugten Zahlen anzuzeigen.
CSS: Eingesetzt zur Verbesserung der visuelle Gestaltung der Benutzeroberfläche, um eine ansprechende und benutzerfreundliche Erfahrung zu bieten.
Keine Verwendung von JavaScript: Das Projekt konzentrierte sich ausschließlich auf PHP, HTML und CSS, um die grundlegenden Anforderungen der Einsendeaufgabe zu erfüllen.

Rolle: In diesem Projekt übernahm ich die folgenden Aufgaben:
Entwicklung: Ich implementierte die Logik zur Generierung zufälliger Lottozahlen mit PHP, indem ich ein Array für die Zahlen verwendete und sicherstellte, dass keine Wiederholungen auftreten.
Testing: Ich überprüfte die Funktionalität des Skripts, um sicherzustellen, dass es konsistent korrekte Ergebnisse liefert.
Dokumentation: Ich dokumentierte den Code und die Funktionsweise des Generators, um ein besseres Verständnis für die Herausforderungen und Lösungen während der Programmierung zu erhalten.

Projekt aufrufen Lottogenerator
Projekt 2: Rechner

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.

Projekt aufrufen Rechner
Projekt 3: Grundstückspreise

Beschreibung: In diesem Projekt habe ich eine Webanwendung entwickelt, die es Benutzern ermöglicht, die Preise für Grundstücke zu berechnen. Die Anwendung berechnet die Fläche eines Grundstücks auf der Grundlage der eingegebenen Länge und Breite und berücksichtigt unterschiedliche Preisparameter wie den Preis pro Quadratmeter und den Provisionssatz. Eine wichtige Funktion ist die Möglichkeit, die Mehrwertsteuer hinzuzufügen, um den endgültigen Preis zu ermitteln. Alle Berechnungen erfolgen in PHP, um eine dynamische und anpassungsfähige Benutzeroberfläche zu gewährleisten. Zusätzlich habe ich Sicherheitsfeatures implementiert, um die Benutzereingaben zu validieren und zu sanitieren, um Angriffe wie SQL-Injection und XSS (Cross-Site Scripting) zu verhindern.

Technologien:
PHP: Verwendung zur Implementierung der Logik zur Berechnung von Grundstückspreisen, einschließlich der Handhabung von Benutzereingaben über ein HTML-Formular. Dabei nutze ich Funktionen zur Eingabereinigung (z.B. `htmlspecialchars()`), um sicherzustellen, dass gefährlicher Code nicht ausgeführt wird.
HTML: Erstellung des Benutzeroberflächenformulars zur Eingabe von Länge, Breite und Preis pro Quadratmeter.
CSS: Gestaltung der Benutzeroberfläche mit ansprechendem Layout und responsiven Designs, die eine benutzerfreundliche Erfahrung auf verschiedenen Geräten ermöglichen.

Funktionen in E4_zusätzlicheFunktion.inc.php:
Berechnung der Fläche: Funktion zur Berechnung der Grundstücksfläche.
Berechnung des Nettopreises: Funktion zur Berechnung des Netto-Preises basierend auf Fläche und Preis pro Quadratmeter.
Berechnung der Provision: Funktion zur Berechnung der Provision basierend auf dem Nettopreis und dem angegebenen Provisionssatz.
Berechnung des Endpreises: Funktion zur Berechnung des Endpreises inklusive Provision und Mehrwertsteuer.
Sicherheitsmaßnahmen: Eingabeverifizierung und -sanitierung, um sicherzustellen, dass alle Benutzereingaben korrekt, sicher und im erwarteten Format vorliegen, um Sicherheitsrisiken zu minimieren.

Grundstückspreise
Projekt 4: Objektorientierte Programmierung

Beschreibung: In diesem Projekt habe ich eine objektorientierte PHP-Anwendung entwickelt, die die Konzepte der Vererbung und Kapselung demonstriert. Die Klasse Mitarbeiter erweitert die Klasse Person und verwaltet spezifische Informationen wie Gruppierung, Steuerklasse und Kontonummer. Mit der Implementierung von Getter- und Setter-Methoden wird eine kontrollierte Datenmanipulation ermöglicht, was sicherstellt, dass die Attribute sicher verwaltet werden. Die Anwendung zeigt, wie ein Mitarbeiterobjekt erstellt wird und wie dessen Eigenschaften geändert oder abgerufen werden können. Außerdem wird durch die Verwendung von var_dump() eine detaillierte Übersicht über die Eigenschaften des Objekts gegeben.

Technologien:
PHP: Verwendung zur Umsetzung der objektorientierten Programmierung und zur Definition der Klassen sowie ihrer Methoden.
HTML: Strukturierung der Ausgabe der PHP-Anwendung, die Informationen über Mitarbeiter darstellt und interaktive Elemente bietet.

Funktionen in der Mitarbeiter-Klasse:
Konstruktor: Initialisiert die Attribute des Mitarbeiterobjekts mit den übergebenen Parametern.
Setter-Methoden: Erlauben die Aktualisierung von Gruppierung, Steuerklasse und Kontonummer des Mitarbeiters.
Getter-Methoden: Dienen zum Abrufen der aktuellen Werte der Attribute.
Beispielanwendung: Erstellung eines spezifischen Mitarbeiterobjekts und Ausgabe der Informationen zur Demonstration der Funktionalität.

Objektorientierte Programmierung
Projekt 5: Objektorientierte Programmierung Teil 2

Beschreibung: Diese Datei enthält die Definition der Klasse Konto, die die grundlegende Funktionalität zur Verwaltung von Bankkonten implementiert. Die Klasse besitzt private Eigenschaften für Kontonummer, Kontostand und Kontoinhaber und implementiert verschiedene Methoden zur Interaktion mit diesen Attributen. Der Konstruktor initialisiert die Kontoattribute und gibt eine Bestätigung über die Erstellung des Kontos aus. Die Klasse stellt Methoden zur Verfügung, um Beträge einzuzahlen und abzuheben, sowie zur Abfrage von Kontoinformationen. Zudem werden Überprüfungen durchgeführt, um sicherzustellen, dass alle Transaktionen gültig sind.

Technologien:
PHP: Verwendung zur Definition der Kontoklasse und zur Implementierung der Logik für Kontoeinzahlungen und -abhebungen sowie zur Handhabung der Kontoinformationen.
HTML: (Optional) Die Klasse verwendet Echo-Anweisungen, um eine Bestätigung bei der Erstellung des Kontos auszugeben, was in der Kontoanwendung sichtbar wird.

Methoden in der Klasse:
Konstruktor: Initialisiert die Eigenschaften des Kontos mit den übergebenen Parametern und bestätigt die erfolgreiche Erstellung des Kontos.
Getter-Methoden: Ermöglichen den Zugriff auf die Kontoinformationen wie Kontonummer, Kontostand und Kontoinhaber.
Einzahlungsfunktion: Fügt einen positiven Betrag dem Kontostand hinzu und gibt eine Bestätigung mit dem neuen Kontostand zurück.
Abhebungsfunktion: Überprüft, ob genügend Guthaben vorhanden ist, bevor der Betrag abgezogen wird, und gibt Rückmeldungen für gültige und ungültige Abhebungen.

Objektorientierte Programmierung