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:

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

+ + +

+ + +
+
+