";
// Durch alle POST-Variablen iterieren
foreach ($_POST as $key => $value) {
- // Wert escapen, um XSS zu vermeiden
- $escapedValue = htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
- echo "
$key: $escapedValue
";
+ if (is_array($value)) {
+ // Falls es ein Array ist, z. B. bei Checkboxen oder multiple-Selects
+ $escapedValues = array_map(function($v) {
+ return htmlspecialchars($v, ENT_QUOTES, 'UTF-8');
+ }, $value);
+ echo "
diff --git a/init.sql b/init.sql
index 98cdb90..f36ea45 100644
--- a/init.sql
+++ b/init.sql
@@ -22,7 +22,7 @@ CREATE TABLE IF NOT EXISTS entries (
user_id INT NOT NULL,
person VARCHAR(50),
date DATE NOT NULL,
- category VARCHAR(50),
+ category json,
subject VARCHAR(255) NOT NULL,
amount DECIMAL(10,2) NOT NULL,
payment_method VARCHAR(50),
diff --git a/update.sql b/update.sql
index 0613aeb..5f0c62d 100644
--- a/update.sql
+++ b/update.sql
@@ -1,31 +1 @@
-USE finanzapp;
-
--- Tabelle für Kategorien (Ausgabenarten) anlegen
-CREATE TABLE IF NOT EXISTS categories (
- category_id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(50) NOT NULL UNIQUE
-);
-
--- Tabelle für Zahlungsmittel anlegen
-CREATE TABLE IF NOT EXISTS payment_methods (
- payment_method_id INT AUTO_INCREMENT PRIMARY KEY,
- name VARCHAR(50) NOT NULL UNIQUE
-);
-
--- Daten in 'categories' einfügen, falls Tabelle leer ist
-INSERT INTO categories (name)
-SELECT 'Einkaufen' UNION ALL
-SELECT 'Essen gehen' UNION ALL
-SELECT 'Freizeit' UNION ALL
-SELECT 'PuFra' UNION ALL
-SELECT 'Urlaub gemeinsam' UNION ALL
-SELECT 'Urlaub Pössi' UNION ALL
-SELECT 'Barausgaben'
-WHERE NOT EXISTS (SELECT 1 FROM categories);
-
--- Daten in 'payment_methods' einfügen, falls Tabelle leer ist
-INSERT INTO payment_methods (name)
-SELECT 'Bar' UNION ALL
-SELECT 'Karte' UNION ALL
-SELECT 'Paypal'
-WHERE NOT EXISTS (SELECT 1 FROM payment_methods);
+alter table entries modify column category json;