<?php
require('prefs/credentials.php');
require('class/SimpleCRUD.class.php');
$superhero = new SimpleCRUD($host, $user, $passwd, $dbname);
if (isset($_POST['go'])) {
// Hier müssten unbedingt Sicherheitsvorkehrungen getroffen werden...
$idValue = $_POST['go'];
$superhero -> deleteMethod($idValue);
}
$resArr = $superhero -> readMethod();
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Validierung E-Mail Adresse</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto+Condensed&family=Roboto:ital,wght@0,400;0,500;1,400&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/css/styles.css">
<link rel="stylesheet" href="/css/formstyles.css">
</head>
<body>
<div id="container">
<?php include("inc/navigation.php"); ?>
<h1>CRUD-Beispiel: Read erweitert</h1>
<p>Dieses Dokument ermöglicht die weiteren Schritte: Update und Delete.</p>
<form action="" method="post">
<table class="bordered">
<tr>
<th>ID</th>
<th>Vorname</th>
<th>Nachname</th>
<th>Link zu Update-Formular (mit GET-Parameter)</th>
<th>Löschen-Button</th>
</tr>
<?php
foreach ($resArr as $row) {
echo "<tr>\n";
echo "<td>".$row['ID']."</td>\n";
echo "<td>".$row['vorname']."</td>\n";
echo "<td>".$row['nachname']."</td>\n";
echo "<td>";
// URL mit GET-Parameter für die Weitergabe der ID
echo "<a href=\"update.php?id=".$row['ID']."\">Bearbeiten</a>";
echo "</td>\n";
echo "<td>";
// Button zum Löschen
echo "<button type=\"submit\" name=\"go\" class=\"deleter\"";
// Das data-confirm-Attribut kann super mit JavaScript verarbeitet werden
echo " data-confirm=\"".$row['nachname']."\"";
// Der Value des Buttons ist die ID des Datensatzes (zum Löschen im 2. @-Durchgang)
echo " value=\"".$row['ID']."\"";
echo ">Delete</button>";
echo "</td>\n";
echo "</tr>\n";
}
?>
</table>
</form>
</div>
<script>
// Javascript: Gebe Confirm-Fenster mit Hinweis aus
var deleteButtons = document.querySelectorAll('.deleter');
for (var i = 0; i < deleteButtons.length; i++) {
deleteButtons[i].addEventListener('click', function(event) {
var go = confirm('Willst du den Eintrag zu ' + this.getAttribute('data-confirm') + ' wirklich löschen?\nDieser Vorgang ist unwiderruflich!');
if (go == false) {
event.preventDefault();
}
});
}
</script>
</body>
</html>