pyolingo/allgemein.php

151 lines
6.8 KiB
PHP

<?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>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="header">
<h2 class="seitentitel"><a href="index.php" id="homeButton">pyolingo</a></h2>
</div>
<div class="inhalt">
<form id="form_hinzufuegenkarte" action="forms/hinzufuegenKarte.php" method="post">
<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>
<script>
document.getElementById("input_deutsch").onblur = function() {
let wortAnzahl = 0;
let wort = document.getElementById("input_deutsch").value;
if(wort != '') {
fetch("forms/pruefeDuplikat.php", {
method: "POST",
headers: {"Content-Type": "application/json"},
body: JSON.stringify({ wort: wort})
})
.then(r => r.json())
.then(data => {
item = data;
if(item > 0) doppeltesWortGefunden(true);
else doppeltesWortGefunden(false)
});
function doppeltesWortGefunden(gefunden) {
if(gefunden) {
document.getElementById("input_deutsch").style.color = "red";
document.getElementById("input_deutsch").value = document.getElementById("input_deutsch").value + " ! WORT BEREITS VORHANDEN !";
document.getElementById("div_speichern").style.display = "none";
} else {
document.getElementById("input_deutsch").style.color = "black";
document.getElementById("div_speichern").style.display = "flex";
}
}
}
};
</script>
</body>
</html>