PHP-Code in pdo_CRUD/02_step/read_erweitert.php

<?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>