From a4a9186c2f7f799e502984263aec1259cf904737 Mon Sep 17 00:00:00 2001 From: M_Viper Date: Sat, 24 Feb 2024 14:06:38 +0000 Subject: [PATCH] Dateien nach "/" hochladen --- add_material.php | 60 +++++++++++++++++++++++ add_material_form.php | 110 ++++++++++++++++++++++++++++++++++++++++++ article_overview.php | 98 +++++++++++++++++++++++++++++++++++++ check_expiration.php | 50 +++++++++++++++++++ index.php | 36 ++++++++++++++ install.php | 104 +++++++++++++++++++++++++++++++++++++++ remove_article.php | 34 +++++++++++++ 7 files changed, 492 insertions(+) create mode 100644 add_material.php create mode 100644 add_material_form.php create mode 100644 article_overview.php create mode 100644 check_expiration.php create mode 100644 index.php create mode 100644 install.php create mode 100644 remove_article.php diff --git a/add_material.php b/add_material.php new file mode 100644 index 0000000..ff74bdf --- /dev/null +++ b/add_material.php @@ -0,0 +1,60 @@ +connect_error) { + $response['success'] = false; + $response['message'] = 'Verbindung zur Datenbank fehlgeschlagen: ' . $conn->connect_error; + echo json_encode($response); // Fehlermeldung als JSON zurückgeben und das Skript beenden + exit(); + } + + $sql = "INSERT INTO materials (item_name, manufacturer, location, amount_should, amount_is, expiration_date, barcode, image, email) + VALUES ('$item_name', '$manufacturer', '$location', $amount_should, $amount_is, '$expiration_date', '$barcode', '$image', '$email')"; + + if ($conn->query($sql) === TRUE) { + $response['success'] = true; + $response['message'] = 'Neuer Artikel wurde erfolgreich hinzugefügt.'; + } else { + $response['success'] = false; + $response['message'] = 'Fehler beim Hinzufügen des Artikels: ' . $conn->error; + } + + $conn->close(); + + // JSON-Antwort zurückgeben + echo json_encode($response); +} +?> diff --git a/add_material_form.php b/add_material_form.php new file mode 100644 index 0000000..5e483c6 --- /dev/null +++ b/add_material_form.php @@ -0,0 +1,110 @@ + + + + + + + + Materialverwaltung + + + +
+
+

Materialverwaltung

+ +
+
+
+

Material hinzufügen

+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+ + diff --git a/article_overview.php b/article_overview.php new file mode 100644 index 0000000..7c5b8cd --- /dev/null +++ b/article_overview.php @@ -0,0 +1,98 @@ + + + + + + + + Artikelübersicht + + +
+
+

Materialverwaltung

+ +
+
+ +
+

Artikelübersicht

+ + +
+ + +
+ + + + + + + + + + + + + + + + connect_error) { + die("Verbindung zur Datenbank fehlgeschlagen: " . $conn->connect_error); + } + + // SQL-Abfrage vorbereiten + $sql = "SELECT * FROM materials"; + + // Wenn nach einem Artikel gesucht wird + if(isset($_GET['search']) && !empty($_GET['search'])){ + $search = $_GET['search']; + $sql .= " WHERE item_name LIKE '%" . $search . "%' OR manufacturer LIKE '%" . $search . "%' OR location LIKE '%" . $search . "%' OR barcode LIKE '%" . $search . "%'"; + } + + $result = $conn->query($sql); + + if ($result->num_rows > 0) { + // Daten ausgeben + while($row = $result->fetch_assoc()) { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; // Platzhalter-Zelle für das Löschen-Bild + echo ""; + } + } else { + echo ""; + } + $conn->close(); + ?> +
NameHerstellerLagerortAnzahl sollAnzahl istAblaufdatumBarcodeBildAktion
" . $row["item_name"] . "" . $row["manufacturer"] . "" . $row["location"] . "" . $row["amount_should"] . "" . $row["amount_is"] . "" . $row["expiration_date"] . "" . $row["barcode"] . ""; + if (!empty($row["image"])) { + echo "Bild"; + } else { + echo "Standardbild"; + } + echo "Löschen
Keine Artikel gefunden
+
+ + diff --git a/check_expiration.php b/check_expiration.php new file mode 100644 index 0000000..9be83b6 --- /dev/null +++ b/check_expiration.php @@ -0,0 +1,50 @@ +connect_error) { + die("Verbindung zur Datenbank fehlgeschlagen: " . $conn->connect_error); +} + +// Prüfen, ob es 13 Uhr ist +if (date('H') == 13) { + // Überprüfen der Artikel mit nahendem Ablaufdatum + $checkDate = date('Y-m-d', strtotime('+10 days')); + $sql = "SELECT * FROM materials WHERE expiration_date <= '$checkDate'"; + $result = $conn->query($sql); + + if ($result->num_rows > 0) { + // E-Mail senden + $to = $email; + $subject = 'Wichtige Benachrichtigung: Ablaufdatum nah'; + $headers = "From: your_email@example.com\r\n"; + // Weitere Header hier hinzufügen, falls benötigt + + // E-Mail-Nachricht erstellen + $message = ''; + $message .= '

Wichtige Benachrichtigung: Ablaufdatum nah

'; + $message .= '

Die Haltbarkeit folgender Artikel läuft in den nächsten 10 Tagen ab:

'; + $message .= ''; + $message .= ''; + + // E-Mail senden + mail($to, $subject, $message, $headers); + } else { + echo "Keine Artikel mit nahendem Ablaufdatum gefunden."; + } +} + +// Datenbankverbindung schließen +$conn->close(); +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..170a048 --- /dev/null +++ b/index.php @@ -0,0 +1,36 @@ + + + + + + + + Materialverwaltung + + +
+
+

Materialverwaltung

+ +
+
+ +
+ Welcome Image +

Willkommen zur Materialverwaltung!

+

Dies ist eine einfache Anwendung zur Verwaltung von Materialien mit Ablaufdatum.

+

Verwenden Sie das Menü oben, um Artikel hinzuzufügen oder die Übersicht der Artikel anzuzeigen.

+
+ + + + diff --git a/install.php b/install.php new file mode 100644 index 0000000..07c41f8 --- /dev/null +++ b/install.php @@ -0,0 +1,104 @@ + + + + + + + Materialverwaltung Installer + + +
+

Materialverwaltung Installer

+ + connect_error) { + die("Verbindung zur Datenbank fehlgeschlagen: " . $conn->connect_error); + } + + // Datenbank erstellen + $sql_create_db = "CREATE DATABASE IF NOT EXISTS $database"; + if ($conn->query($sql_create_db) === TRUE) { + echo "

Datenbank erfolgreich erstellt.

"; + + // Datenbank auswählen + $conn->select_db($database); + + // Tabelle erstellen + $sql_create_table = "CREATE TABLE IF NOT EXISTS materials ( + id INT AUTO_INCREMENT PRIMARY KEY, + item_name VARCHAR(255) NOT NULL, + manufacturer VARCHAR(255) NOT NULL, + location VARCHAR(255) NOT NULL, + amount_should INT NOT NULL, + amount_is INT NOT NULL, + expiration_date DATE NOT NULL, + barcode VARCHAR(255) NOT NULL, + image VARCHAR(255), + email VARCHAR(255) NOT NULL + )"; + if ($conn->query($sql_create_table) === TRUE) { + echo "

Tabelle 'materials' erfolgreich erstellt.

"; + + // Speichern der Daten in der config.php-Datei + $config_content = ""; + + file_put_contents('config/config.php', $config_content); + + // Weiterleitung zur Indexseite nach erfolgreicher Installation + header("Location: index.php"); + exit(); + } else { + echo "

Fehler beim Erstellen der Tabelle: " . $conn->error . "

"; + } + } else { + echo "

Fehler beim Erstellen der Datenbank: " . $conn->error . "

"; + } + + // Datenbankverbindung schließen + $conn->close(); + } + ?> + +

Datenbankverbindung eingeben

+
"> +
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+ + diff --git a/remove_article.php b/remove_article.php new file mode 100644 index 0000000..b338361 --- /dev/null +++ b/remove_article.php @@ -0,0 +1,34 @@ +connect_error) { + die("Verbindung zur Datenbank fehlgeschlagen: " . $conn->connect_error); + } + + // SQL-Abfrage vorbereiten, um den Artikel zu löschen + $sql = "DELETE FROM materials WHERE id = $article_id"; + + // Ausführen der SQL-Abfrage + if ($conn->query($sql) === TRUE) { + // Weiterleitung zur Artikelübersicht, nachdem der Artikel erfolgreich gelöscht wurde + header("Location: article_overview.php"); + exit(); + } else { + echo "Fehler beim Löschen des Artikels: " . $conn->error; + } + + // Verbindung zur Datenbank schließen + $conn->close(); +} else { + // Falls keine Artikel-ID übergeben wurde, Fehlermeldung ausgeben + echo "Fehler: Artikel-ID nicht gefunden"; +} +?>