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';
|
||||
$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>
|
||||
|
||||
@ -14,46 +24,93 @@
|
||||
<h2 class="seitentitel">pyolingo</h2>
|
||||
</div>
|
||||
<div class="inhalt">
|
||||
<form id="form_hinzufuegenkarte" action="hinzufuegenKarte" methode="post">
|
||||
<form id="form_hinzufuegenkarte" action="forms/hinzuefuegenKarte.php" method="post">
|
||||
<div class="hinzufuegenKarteElemente">
|
||||
<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 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 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 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>
|
||||
</div>
|
||||
<div id="div_deutsch">
|
||||
<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>
|
||||
<?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="">
|
||||
<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 ?>" 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 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 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 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>
|
||||
</div>
|
||||
</div>
|
||||
<?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>
|
||||
</div>
|
||||
<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