From 78460abc1504db12a2b8794c22420b71c90c5e89 Mon Sep 17 00:00:00 2001 From: p3t3rp1Lz Date: Tue, 7 Apr 2026 17:25:06 +0200 Subject: [PATCH] =?UTF-8?q?Hinzuf=C3=BCgen=20von=20allgemeinen=20W=C3=B6rt?= =?UTF-8?q?ern=20final?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + allgemein.php | 3 ++ forms/hinzuefuegenKarte.php | 39 +++++++++++++- index.php | 8 +-- style.css | 5 ++ verben.php | 104 ++++++++++++++++++++++++++++++++++++ 6 files changed, 154 insertions(+), 6 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2608d4b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +pyolingo.code-workspace diff --git a/allgemein.php b/allgemein.php index 3df5465..f5739bd 100644 --- a/allgemein.php +++ b/allgemein.php @@ -107,6 +107,9 @@

+ +

+ diff --git a/forms/hinzuefuegenKarte.php b/forms/hinzuefuegenKarte.php index 8b5c104..00f2aed 100644 --- a/forms/hinzuefuegenKarte.php +++ b/forms/hinzuefuegenKarte.php @@ -26,18 +26,53 @@ } insertDB($pdo, $kategorie, $deutsch, $italienisch, $farbe); - //unset($_SESSION['old']); + + unset($_SESSION['old']); function insertDB(PDO $pdo, string $kategorie, string $deutsch, array $italienisch, array $farbe) { try { $pdo->beginTransaction(); + $stmt = $pdo->prepare("SELECT id + FROM deutsch + WHERE LOWER(wort) = LOWER(:deutsch);"); + $stmt->execute(['deutsch' => $deutsch]); + if($stmt->fetchColumn() != null) throw new Exception('deutsches Wort bereits vorhanden'); + $stmt = $pdo->prepare("SELECT id FROM kategorie WHERE LOWER(name) = LOWER(:kategorie);"); $stmt->execute(['kategorie' => $kategorie]); - $kategorie_id = $stmt->fetch(PDO::FETCH_ASSOC); + $kategorie_id = $stmt->fetchColumn(); + + $stmt = $pdo->query("SELECT id, + farbe + FROM farbe;"); + $farbe_array = $stmt->fetchAll(PDO::FETCH_ASSOC); + + $stmt = $pdo->prepare("INSERT INTO deutsch(wort, kategorie_id, wort_hinzugefuegt) + VALUES (:wort, :kategorie_id, (:wort_hinzugefuegt)::timestamp);"); + $stmt->execute(['wort' => $deutsch, + 'kategorie_id' => $kategorie_id, + 'wort_hinzugefuegt' => date('Y-m-d H:i:s')]); + $stmt = $pdo->prepare("SELECT id + FROM deutsch + WHERE LOWER(wort) = LOWER(:deutsch);"); + $stmt->execute(['deutsch' => $deutsch]); + $deutsch_id = $stmt->fetchColumn(); + + for($i = 0; $i < 7; $i++) { + $farbe_id = -1; + foreach($farbe_array as $it_farbe) if($it_farbe['farbe'] == $farbe[$i]) $farbe_id = $it_farbe['id']; + + $stmt = $pdo->prepare("INSERT INTO italienisch (wort, deutsch_id, farbe_id) + VALUES (:italienisch, :deutsch_id, :farbe_id)"); + $stmt->execute(['italienisch' => $italienisch[$i], + 'deutsch_id' => $deutsch_id, + 'farbe_id' => $farbe_id]); + } + $pdo->commit(); return 0; diff --git a/index.php b/index.php index 3337c9f..2f536c6 100644 --- a/index.php +++ b/index.php @@ -177,10 +177,10 @@ document.getElementById("italienisch_4").style.color = item.farbe_4; document.getElementById("italienisch_5").textContent = item.italienisch_5; document.getElementById("italienisch_5").style.color = item.farbe_5; - document.getElementById("italienisch_5").textContent = item.italienisch_6; - document.getElementById("italienisch_5").style.color = item.farbe_6; - document.getElementById("italienisch_5").textContent = item.italienisch_7; - document.getElementById("italienisch_5").style.color = item.farbe_7; + document.getElementById("italienisch_6").textContent = item.italienisch_6; + document.getElementById("italienisch_6").style.color = item.farbe_6; + document.getElementById("italienisch_7").textContent = item.italienisch_7; + document.getElementById("italienisch_7").style.color = item.farbe_7; for(var i = 0; i < document.getElementsByClassName("p-karteikarte").length; i++) { document.getElementsByClassName("p-karteikarte")[i].style.display = "inline-block"; } diff --git a/style.css b/style.css index f002018..26d95df 100644 --- a/style.css +++ b/style.css @@ -227,4 +227,9 @@ a:visited { .fehlermeldung { color: red; font-size: 36px; +} + +.erfolgsmeldung { + color: #14748A; + font-size: 36px; } \ No newline at end of file diff --git a/verben.php b/verben.php index ecd39d3..5989189 100644 --- a/verben.php +++ b/verben.php @@ -1,8 +1,18 @@ + @@ -13,6 +23,100 @@

pyolingo

+
+
+ +
+ + + + +
+
+

deutsch:

+ +
+ +
+
+ > +
+
+ + + + +
+
+ +
+ +

+ + +

+ + +
+
+