feat: created file for admin page; included repair kits as option for entry with functionality
This commit is contained in:
@@ -6,37 +6,72 @@ require 'db.php';
|
|||||||
// Prüfen ob das Formular abgeschickt wurde
|
// Prüfen ob das Formular abgeschickt wurde
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
|
||||||
|
|
||||||
if ($dbhandle->connect_error) {
|
if ($dbhandle->connect_error) {
|
||||||
die("Verbindung fehlgeschlagen: " . $dbhandle->connect_error);
|
die("Verbindung fehlgeschlagen: " . $dbhandle->connect_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Daten holen & absichern
|
|
||||||
$clientid = $_SESSION['user']['id']; // Discord-ID
|
$clientid = $_SESSION['user']['id']; // Discord-ID
|
||||||
$clientname = $_SESSION['user']['nickname']; // Server-Nickname
|
$clientname = $_SESSION['user']['nickname']; // Server-Nickname
|
||||||
$service = $dbhandle->real_escape_string($_POST['Services']);
|
$service = $dbhandle->real_escape_string($_POST['Services']);
|
||||||
$preis = $dbhandle->real_escape_string($_POST['preis']);
|
$menge = intval($_POST['preis']); // Anzahl für Reparaturkits
|
||||||
$modell = $dbhandle->real_escape_string($_POST['modell']);
|
$modell = $dbhandle->real_escape_string($_POST['modell']);
|
||||||
$kennzeichen = $dbhandle->real_escape_string($_POST['kennzeichen']);
|
$kennzeichen = $dbhandle->real_escape_string($_POST['kennzeichen']);
|
||||||
|
|
||||||
// Eintrag speichern
|
if ($service === "repkits") {
|
||||||
$stmt = $dbhandle->prepare("INSERT INTO contracts (user_id, service, preis, modell, kennzeichen) VALUES (?, ?, ?, ?, ?)");
|
$result = $dbhandle->query("SELECT repkits FROM settings");
|
||||||
$stmt->bind_param("isiss", $clientid, $service, $preis, $modell, $kennzeichen);
|
if ($result && $row = $result->fetch_assoc()) {
|
||||||
|
$aktuellerBestand = intval($row['repkits']);
|
||||||
|
$neuerBestand = $aktuellerBestand + $menge;
|
||||||
|
|
||||||
|
if ($neuerBestand < 0) {
|
||||||
|
$meldung = "❌ Fehler: Nicht genug Reparaturkits im Lager!";
|
||||||
|
} else {
|
||||||
|
// Lagerbestand aktualisieren
|
||||||
|
$update = $dbhandle->prepare("UPDATE settings SET repkits = ?");
|
||||||
|
$update->bind_param("i", $neuerBestand);
|
||||||
|
if ($update->execute()) {
|
||||||
|
$meldung = "✅ Lagerbestand aktualisiert! Neuer Bestand: $neuerBestand Kits.";
|
||||||
|
|
||||||
|
// Log-Eintrag
|
||||||
|
$aktion = ($menge > 0) ? "ADD" : "REMOVE";
|
||||||
|
$log = $dbhandle->prepare("INSERT INTO service_log (user_id, service, menge, aktion) VALUES (?, ?, ?, ?)");
|
||||||
|
$log->bind_param("isis", $clientid, $service, $menge, $aktion);
|
||||||
|
$log->execute();
|
||||||
|
$log->close();
|
||||||
|
} else {
|
||||||
|
$meldung = "❌ Fehler beim Lager-Update: " . htmlspecialchars($update->error);
|
||||||
|
}
|
||||||
|
$update->close();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$meldung = "❌ Fehler: Lager nicht gefunden.";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Auftrag speichern
|
||||||
|
$stmt = $dbhandle->prepare("INSERT INTO contracts (user_id, service, preis, modell, kennzeichen) VALUES (?, ?, ?, ?, ?)");
|
||||||
|
$stmt->bind_param("isiss", $clientid, $service, $menge, $modell, $kennzeichen);
|
||||||
|
|
||||||
if ($stmt->execute()) {
|
if ($stmt->execute()) {
|
||||||
$meldung = "✅ Eintrag erfolgreich gespeichert!";
|
$meldung = "✅ Eintrag erfolgreich gespeichert!";
|
||||||
|
|
||||||
|
// Log-Eintrag
|
||||||
|
$aktion = "ADD";
|
||||||
|
$log = $dbhandle->prepare("INSERT INTO service_log (user_id, service, menge, modell, kennzeichen, aktion) VALUES (?, ?, ?, ?, ?, ?)");
|
||||||
|
$log->bind_param("isisss", $clientid, $service, $menge, $modell, $kennzeichen, $aktion);
|
||||||
|
$log->execute();
|
||||||
|
$log->close();
|
||||||
} else {
|
} else {
|
||||||
$meldung = "❌ Fehler: " . htmlspecialchars($stmt->error);
|
$meldung = "❌ Fehler: " . htmlspecialchars($stmt->error);
|
||||||
}
|
}
|
||||||
|
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
$dbhandle->close();
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
@@ -47,7 +82,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<?php include "header.php"?>
|
<?php include "header.php"?>
|
||||||
<div id="formdiv">3
|
<div id="formdiv">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<?php if (isset($meldung)): ?>
|
<?php if (isset($meldung)): ?>
|
||||||
<p style="color: lime; font-weight: bold; text-align: center;"><?php echo $meldung; ?></p>
|
<p style="color: lime; font-weight: bold; text-align: center;"><?php echo $meldung; ?></p>
|
||||||
@@ -62,6 +97,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
<option value="Reparatur">Reparatur</option>
|
<option value="Reparatur">Reparatur</option>
|
||||||
<option value="Carplay">Carplay</option>
|
<option value="Carplay">Carplay</option>
|
||||||
<option value="Tuning">Tuning</option>
|
<option value="Tuning">Tuning</option>
|
||||||
|
<option value="repkits">Reparatur-Kits</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -86,11 +122,20 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
document.getElementById('service').addEventListener('change', function () {
|
document.getElementById('service').addEventListener('change', function () {
|
||||||
const preisField = document.getElementById('preis');
|
const preisLabel = document.querySelector("label[for='name']");
|
||||||
if (this.value === 'Carplay') {
|
const modellGroup = document.querySelector("input[name='modell']").parentNode;
|
||||||
preisField.value = 3000;
|
const kennzeichenGroup = document.querySelector("input[name='kennzeichen']").parentNode;
|
||||||
|
|
||||||
|
if (this.value === 'repkits') {
|
||||||
|
preisLabel.textContent = "Menge (+/-):";
|
||||||
|
modellGroup.style.display = "none";
|
||||||
|
kennzeichenGroup.style.display = "none";
|
||||||
|
document.getElementById('preis').placeholder = "+5 oder -3";
|
||||||
} else {
|
} else {
|
||||||
preisField.value = ''; // Lösche den Wert, falls etwas anderes gewählt wird
|
preisLabel.textContent = "Preis:";
|
||||||
|
modellGroup.style.display = "block";
|
||||||
|
kennzeichenGroup.style.display = "block";
|
||||||
|
document.getElementById('preis').placeholder = "0";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user