Hinzufügen von allgemeinen Wörtern final

This commit is contained in:
p3t3rp1Lz 2026-04-07 17:25:06 +02:00
parent ede308381b
commit 78460abc15
6 changed files with 154 additions and 6 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
pyolingo.code-workspace

View File

@ -107,6 +107,9 @@
<?php if ($error): ?>
<p class=fehlermeldung><?= htmlspecialchars($error) ?></p>
<?php endif; ?>
<?php if ($success): ?>
<p class=erfolgsmeldung><?= htmlspecialchars('Speichern erfolgreich') ?></p>
<?php endif; ?>
<button class="button-ellipsoid" id="start">
speichern
</button>

View File

@ -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;

View File

@ -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";
}

View File

@ -227,4 +227,9 @@ a:visited {
.fehlermeldung {
color: red;
font-size: 36px;
}
.erfolgsmeldung {
color: #14748A;
font-size: 36px;
}

View File

@ -1,8 +1,18 @@
<?php
require_once __DIR__ . '/includes/db_connect.php';
$system = getenv('POSTGRES_SYSTEM') ?? 'test';
session_start();
$error = $_SESSION['error'] ?? '';
$success = $_SESSION['success'] ?? '';
$old = $_SESSION['old'] ?? [];
unset($_SESSION['error']);
unset($_SESSION['success']);
unset($_SESSION['old']);
?>
<!DOCTYPE html>
<html>
@ -13,6 +23,100 @@
<div class="header">
<h2 class="seitentitel">pyolingo</h2>
</div>
<div class="inhalt">
<form id="form_hinzufuegenkarte" action="forms/hinzuefuegenKarte.php" method="post">
<input id="hiddenInputEditTyp" type="hidden" name="kategorie" value="verben">
<div class="hinzufuegenKarteElemente">
<label class="kategorie">
<input class="kategorie" type="radio" name="kategorie" value="substantive"
<? if( ($old['kategorie'] ?? '') == 'substantive'
|| ($old['kategorie'] ?? '') == '') echo 'checked' ?>>
Substantive
</label>
<label class="kategorie">
<input class="kategorie" type="radio" name="kategorie" value="adjektive"
<? if( ($old['kategorie'] ?? '') == 'adjektive') echo 'checked' ?>>
Adjektive
</label>
<label class="kategorie">
<input class="kategorie" type="radio" name="kategorie" value="allgemein"
<? if( ($old['kategorie'] ?? '') == 'allgemein') echo 'checked' ?>>
Allgemein
</label>
<label class="kategorie">
<input class="kategorie" type="radio" name="kategorie" value="eigennamen"
<? if( ($old['kategorie'] ?? '') == 'eigennamen') echo 'checked' ?>>
Eigennamen
</label>
</div>
<div id="div_deutsch">
<p class="kategorie" id="p_deutsch">deutsch:</p>
<input class="kategorie"
id="input_deutsch"
type="text"
name="deutsch"
value="<?= htmlspecialchars($old['deutsch'] ?? '') ?>"
required>
</div>
<?php for($i = 0; $i < 7; $i++) { ?>
<div>
<div id="div_italienisch_text">
<input class="kategorie"
id="input_italienisch"
type="text"
name="italienisch_<?= $i ?>"
value="<?= htmlspecialchars(($old['italienisch_' . $i] ?? '')) ?>"
<? if($i == 0) echo 'required' ?>>
</div>
<div id="div_italienisch_radio">
<label class="kategorie" id="label_italienisch_schwarz">
<input class="kategorie"
type="radio"
name="farbe_<?= $i ?>"
value="black"
<? if( ($old['farbe_' . $i] ?? '') == 'black' || ($old['farbe_' . $i] ?? '') == '') echo 'checked' ?>>
Standard
</label>
<label class="kategorie" id="label_italienisch_blau">
<input class="kategorie"
type="radio"
name="farbe_<?= $i ?>"
value="blue"
<? if( ($old['farbe_' . $i] ?? '') == 'blue') echo 'checked' ?>>
Blau
</label>
<label class="kategorie" id="label_italienisch_rot">
<input class="kategorie"
type="radio"
name="farbe_<?= $i ?>"
value="red"
<? if( ($old['farbe_' . $i] ?? '') == 'red') echo 'checked' ?>>
Rot
</label>
<label class="kategorie" id="label_italienisch_gruen">
<input class="kategorie"
type="radio"
name="farbe_<?= $i ?>"
value="green"
<? if( ($old['farbe_' . $i] ?? '') == 'green') echo 'checked' ?>>
Grün
</label>
</div>
</div>
<?php }; ?>
<div id="div_speichern">
<?php if ($error): ?>
<p class=fehlermeldung><?= htmlspecialchars($error) ?></p>
<?php endif; ?>
<?php if ($success): ?>
<p class=erfolgsmeldung><?= htmlspecialchars('Speichern erfolgreich') ?></p>
<?php endif; ?>
<!--button class="button-ellipsoid" id="start">
speichern
</button-->
</div>
</form>
</div>
<div class="menue">
<a href="index.php" class="menueLink">
< home >