Benutzer löschen

  • Bildschirmfoto 2020-06-22 um 14.04.20.png


    www.localhost.de



    Hallo alle zusammen,

    ich hoffe ihr könnt mir helfen. Es geht um folgendes Problem. Bezüglich meines Studiums muss ich ein Onlineshop mit einer Benutzerverwaltung erstellen. Ich habe eine Datenbank mit den Usern erstellt, die die Shop Seite auch ausgibt (siehe Bild). Das Problem ist, dass ich die Benutzer auf der Seite nicht löschen kann. Ich klicke auf den "Löschen", doch es funktioniert nicht.

    Ich hoffe, dass ihr mir weiterhelfen könnt.

    Danke schonmal im Voraus :)

    Der Code befindet sich unter diesem Schreiben.



    <!DOCTYPE html>

    <html lang="de">

    <head>

    <meta charset="utf-8"/>

    <base href="<?= $baseUrl ?>">

    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>

    <link rel="stylesheet" type="text/css" href="index.css"/>

    <link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">

    <title>Mein Titel</title>

    </head>

    <body>

    <?php include __DIR__.'/navbar.php'?>

    <div class="jumbotron header-jumbotron d-flex flex-column justify-content-center align-items-center">

    <h1 class="display-4">Hallo, Willkommen auf Laptastic!</h1>

    <h2 class="display-6">#laptastisch für einen fairen Preis.</h2>


    </div>

    </div>

    </header>

    <br>

    <br>

    <h1 align="center"> Benutzerverwaltung </h1>

    <br>

    <div align="center">

    <a href="index.php/regist" class="btn btn-light">Konto hinzufügen</a>

    </div>

    <br>

    <br>

    <section class="container">

    <table class="table table-bordered">

    <thead>

    <tr>

    <th scope="col">ID</th>

    <th scope="col">Vorname</th>

    <th scope="col">Nachname</th>

    <th scope="col">E-Mail</th>

    <th scope="col">Username</th>

    <th scope="col">bearbeiten</th>

    </tr>

    </thead>

    <tbody>

    <?php

    if(isset($_GET["del"])){

    if(!empty($_GET["del"])){

    $statement = getDB()->prepare("DELETE FROM user WHERE id = :id");

    $statement -> execute(array(":id"=>$_GET["del"]));

    ?>

    <p> Benutzer gelöscht </p>

    <?php

    }

    }




    $statement= getDB()->prepare("SELECT * FROM user");

    $statement->execute();

    while($row = $statement->fetch()){

    ?>

    <tr>

    <td><?php echo $row['id']?></td>

    <td><?php echo $row['vorname']?></td>

    <td><?php echo $row['nachname']?></td>

    <td><?php echo $row['email']?></td>

    <td><?php echo $row['username']?></td>

    <td><a href="index.php?del=<?php echo $_GET["del"]?>">Löschen</a></td>

    </tr>

    <?php

    }

    ?>

    </tbody>

    </table>

    <br>

    </section>

    </header>

    <header class="products-header">

    <section class="container d-flex flex-column justify-content-center align-items-between" id="products">

    <div class="row">


    <div class="col">


    </section>

    </header>

    <script src="assets/js/bootstrap.bundle.js"> </script>

    </body>


    </html>

  • Diesen unformatiert geposteten Quellcode sehe zumindest ich mir nicht genauer an, daher nur


    Richtig debuggen

    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
    3. Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    4. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    5. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    6. Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    7. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    8. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    9. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.