Material_Verwaltungs_Tool/add_material.php

65 lines
2.7 KiB
PHP

<?php
// Datenbankverbindung herstellen
include_once 'config/config.php';
$response = array(); // Array für die AJAX-Antwort
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Formulardaten abrufen
$item_name = $_POST["item_name"];
$manufacturer = $_POST["manufacturer"];
$location = $_POST["location"];
$amount_should = $_POST["amount_should"];
$amount_is = $_POST["amount_is"];
$barcode = $_POST["barcode"];
// Mindesthaltbarkeitsdatum überprüfen
$expiration_date = empty($_POST["expiration_date"]) ? "00.00.0000" : $_POST["expiration_date"];
// Bildverarbeitung, falls ein Bild hochgeladen wurde
$image = null;
if ($_FILES["image"]["name"]) {
$target_dir = "img/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
$image = $target_file;
} else {
$response['success'] = false;
$response['message'] = 'Fehler beim Hochladen des Bildes.';
echo json_encode($response); // Fehlermeldung als JSON zurückgeben und das Skript beenden
exit();
}
}
// Daten in die Datenbank einfügen
$conn = new mysqli($host, $username, $password, $database);
if ($conn->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-Abfrage mit dem Wert von $notification_days
$sql = "INSERT INTO materials (item_name, manufacturer, location, amount_should, amount_is, expiration_date, notification_days, barcode, image, email)
VALUES ('$item_name', '$manufacturer', '$location', $amount_should, $amount_is, '$expiration_date', $notification_days, '$barcode', '$image', '$email')";
if ($conn->query($sql) === TRUE) {
$response['success'] = true;
$response['message'] = 'Neuer Artikel wurde erfolgreich hinzugefügt.';
// Lognachricht zusammenstellen
$log_message = date("Y-m-d H:i:s") . " - Artikel hinzugefügt: Artikel: \"$item_name\", Hersteller: \"$manufacturer\", Soll: $amount_should, Ist: $amount_is, MDH: $expiration_date, EAN: \"$barcode\"";
// Lognachricht in die Datei schreiben
file_put_contents('log.txt', $log_message . PHP_EOL, FILE_APPEND);
} else {
$response['success'] = false;
$response['message'] = 'Fehler beim Hinzufügen des Artikels: ' . $conn->error;
}
$conn->close();
// JSON-Antwort zurückgeben
echo json_encode($response);
}
?>