Karte hinzufügen final, Funktionalität begonnen
This commit is contained in:
parent
012c5eb36a
commit
ede308381b
@ -2,7 +2,17 @@
|
|||||||
require_once __DIR__ . '/includes/db_connect.php';
|
require_once __DIR__ . '/includes/db_connect.php';
|
||||||
$system = getenv('POSTGRES_SYSTEM') ?? 'test';
|
$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>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
@ -14,46 +24,93 @@
|
|||||||
<h2 class="seitentitel">pyolingo</h2>
|
<h2 class="seitentitel">pyolingo</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="inhalt">
|
<div class="inhalt">
|
||||||
<form id="form_hinzufuegenkarte" action="hinzufuegenKarte" methode="post">
|
<form id="form_hinzufuegenkarte" action="forms/hinzuefuegenKarte.php" method="post">
|
||||||
<div class="hinzufuegenKarteElemente">
|
<div class="hinzufuegenKarteElemente">
|
||||||
<label class="kategorie">
|
<label class="kategorie">
|
||||||
<input class="kategorie" type="radio" name="kategorie" value="substantive">Substantive
|
<input class="kategorie" type="radio" name="kategorie" value="substantive"
|
||||||
|
<? if( ($old['kategorie'] ?? '') == 'substantive'
|
||||||
|
|| ($old['kategorie'] ?? '') == '') echo 'checked' ?>>
|
||||||
|
Substantive
|
||||||
</label>
|
</label>
|
||||||
<label class="kategorie">
|
<label class="kategorie">
|
||||||
<input class="kategorie" type="radio" name="kategorie" value="adjektive">Adjektive
|
<input class="kategorie" type="radio" name="kategorie" value="adjektive"
|
||||||
|
<? if( ($old['kategorie'] ?? '') == 'adjektive') echo 'checked' ?>>
|
||||||
|
Adjektive
|
||||||
</label>
|
</label>
|
||||||
<label class="kategorie">
|
<label class="kategorie">
|
||||||
<input class="kategorie" type="radio" name="kategorie" value="allgemein" checked>Allgemein
|
<input class="kategorie" type="radio" name="kategorie" value="allgemein"
|
||||||
|
<? if( ($old['kategorie'] ?? '') == 'allgemein') echo 'checked' ?>>
|
||||||
|
Allgemein
|
||||||
</label>
|
</label>
|
||||||
<label class="kategorie">
|
<label class="kategorie">
|
||||||
<input class="kategorie" type="radio" name="kategorie" value="eigennamen">Eigennamen
|
<input class="kategorie" type="radio" name="kategorie" value="eigennamen"
|
||||||
|
<? if( ($old['kategorie'] ?? '') == 'eigennamen') echo 'checked' ?>>
|
||||||
|
Eigennamen
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div id="div_deutsch">
|
<div id="div_deutsch">
|
||||||
<p class="kategorie" id="p_deutsch">deutsch:</p>
|
<p class="kategorie" id="p_deutsch">deutsch:</p>
|
||||||
<input class="kategorie" id="input_deutsch" type="text" name="deutsch" value="">
|
<input class="kategorie"
|
||||||
|
id="input_deutsch"
|
||||||
|
type="text"
|
||||||
|
name="deutsch"
|
||||||
|
value="<?= htmlspecialchars($old['deutsch'] ?? '') ?>"
|
||||||
|
required>
|
||||||
</div>
|
</div>
|
||||||
<?php for($i = 0; $i < 7; $i++) { ?>
|
<?php for($i = 0; $i < 7; $i++) { ?>
|
||||||
<div>
|
<div>
|
||||||
<div id="div_italienisch_text">
|
<div id="div_italienisch_text">
|
||||||
<input class="kategorie" id="input_italienisch" type="text" name="italienisch_<?= $i ?>" value="">
|
<input class="kategorie"
|
||||||
|
id="input_italienisch"
|
||||||
|
type="text"
|
||||||
|
name="italienisch_<?= $i ?>"
|
||||||
|
value="<?= htmlspecialchars(($old['italienisch_' . $i] ?? '')) ?>"
|
||||||
|
<? if($i == 0) echo 'required' ?>>
|
||||||
</div>
|
</div>
|
||||||
<div id="div_italienisch_radio">
|
<div id="div_italienisch_radio">
|
||||||
<label class="kategorie" id="label_italienisch_schwarz">
|
<label class="kategorie" id="label_italienisch_schwarz">
|
||||||
<input class="kategorie" type="radio" name="farbe_<?= $i ?>" checked value="black">Standard
|
<input class="kategorie"
|
||||||
|
type="radio"
|
||||||
|
name="farbe_<?= $i ?>"
|
||||||
|
value="black"
|
||||||
|
<? if( ($old['farbe_' . $i] ?? '') == 'black' || ($old['farbe_' . $i] ?? '') == '') echo 'checked' ?>>
|
||||||
|
Standard
|
||||||
</label>
|
</label>
|
||||||
<label class="kategorie" id="label_italienisch_blau">
|
<label class="kategorie" id="label_italienisch_blau">
|
||||||
<input class="kategorie" type="radio" name="farbe_<?= $i ?>" value="blue">Blau
|
<input class="kategorie"
|
||||||
|
type="radio"
|
||||||
|
name="farbe_<?= $i ?>"
|
||||||
|
value="blue"
|
||||||
|
<? if( ($old['farbe_' . $i] ?? '') == 'blue') echo 'checked' ?>>
|
||||||
|
Blau
|
||||||
</label>
|
</label>
|
||||||
<label class="kategorie" id="label_italienisch_rot">
|
<label class="kategorie" id="label_italienisch_rot">
|
||||||
<input class="kategorie" type="radio" name="farbe_<?= $i ?>" value="red">Rot
|
<input class="kategorie"
|
||||||
|
type="radio"
|
||||||
|
name="farbe_<?= $i ?>"
|
||||||
|
value="red"
|
||||||
|
<? if( ($old['farbe_' . $i] ?? '') == 'red') echo 'checked' ?>>
|
||||||
|
Rot
|
||||||
</label>
|
</label>
|
||||||
<label class="kategorie" id="label_italienisch_gruen">
|
<label class="kategorie" id="label_italienisch_gruen">
|
||||||
<input class="kategorie" type="radio" name="farbe_<?= $i ?>" value="green">Grün
|
<input class="kategorie"
|
||||||
|
type="radio"
|
||||||
|
name="farbe_<?= $i ?>"
|
||||||
|
value="green"
|
||||||
|
<? if( ($old['farbe_' . $i] ?? '') == 'green') echo 'checked' ?>>
|
||||||
|
Grün
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php }; ?>
|
<?php }; ?>
|
||||||
|
<div id="div_speichern">
|
||||||
|
<?php if ($error): ?>
|
||||||
|
<p class=fehlermeldung><?= htmlspecialchars($error) ?></p>
|
||||||
|
<?php endif; ?>
|
||||||
|
<button class="button-ellipsoid" id="start">
|
||||||
|
speichern
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
<div class="menue">
|
<div class="menue">
|
||||||
|
|||||||
@ -0,0 +1,55 @@
|
|||||||
|
<?php
|
||||||
|
require_once __DIR__ . '/../includes/db_connect.php';
|
||||||
|
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
$_SESSION['old'] = $_POST;
|
||||||
|
|
||||||
|
$return = $_POST['return'] ?? 'allgemein';
|
||||||
|
|
||||||
|
$kategorie = $_POST['kategorie'] ?? 'substantive';
|
||||||
|
$deutsch = trim($_POST['deutsch'] ?? '');
|
||||||
|
for($i = 0; $i < 7; $i++) {
|
||||||
|
$italienisch[$i] = trim($_POST['italienisch_' . $i] ?? '');
|
||||||
|
$farbe[$i] = $_POST['farbe_' . $i] ?? 'black';
|
||||||
|
}
|
||||||
|
|
||||||
|
if($deutsch === '') {
|
||||||
|
$_SESSION['error'] = "Das deutsche Wort darf nicht leer sein!";
|
||||||
|
header("Location: ../$return.php");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
if($italienisch[0] === '') {
|
||||||
|
$_SESSION['error'] = "Das erste italienische Wort darf nicht leer sein!";
|
||||||
|
header("Location: ../$return.php");
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
insertDB($pdo, $kategorie, $deutsch, $italienisch, $farbe);
|
||||||
|
//unset($_SESSION['old']);
|
||||||
|
|
||||||
|
function insertDB(PDO $pdo, string $kategorie, string $deutsch, array $italienisch, array $farbe) {
|
||||||
|
try {
|
||||||
|
$pdo->beginTransaction();
|
||||||
|
|
||||||
|
$stmt = $pdo->prepare("SELECT id
|
||||||
|
FROM kategorie
|
||||||
|
WHERE LOWER(name) = LOWER(:kategorie);");
|
||||||
|
$stmt->execute(['kategorie' => $kategorie]);
|
||||||
|
$kategorie_id = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
$pdo->commit();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
} catch(Exception $e) {
|
||||||
|
$pdo->rollBack();
|
||||||
|
echo "Fehler: " . $e->getMessage();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$_SESSION['success'] = "neues Wort gespeichert";
|
||||||
|
header("Location: ../$return.php");
|
||||||
|
exit;
|
||||||
|
?>
|
||||||
Loading…
Reference in New Issue
Block a user