Adminbereich Gästebuch: Einträge auflisten

Der Adminbereich zum Gästebuch ist etwas umfangreicher wie der des Zählers, denn wir wollen nicht nur die Einträge auflisten, sondern wir möchten auch Einträge aktivieren, deaktivieren, löschen oder Anmerkungen einfügen können.

Als erste lassen wir uns mit der listgaeste.php im Ordner "gaeste" (als Unterverzeichnis von "admin") die Einträge anzeigen mit einer Information, ob der Eintrag aktiviert oder deaktiviert ist.

Das Script dazu ist ähnlich der buch.php.

Hier der Script- / Quelltext der listgaeste.php:
<?php
// --- Daten laden um Verbindung aufzubauen ---
@include_once "../../cgi-bin/datenbank.php";
// --- Tabellennamen für Gästebuch angeben (findest Du im Script der buch.php) ---
$tabelle_gaeste = "mein_gaestebuch";
?>
<html>
<head>
<title>Inhalt Gästebuch anzeigen</title>
<link rel="stylesheet" href="../../formatierung.css" type="text/css">
</head>
<body>
<br>
<h1>Alle Gästebucheinträge von Meine erste Homepage anzeigen</h1>
<br>
<?php
// --- Datenbank öffnen ---
$db = @mysql_pconnect($Datenbank_server, $Datenbank_user, $Datenbank_passwort);
if($db == true)
  {
    // --- Datenbank geöffnet ---
    // --- nach Tabellen suchen ---
    $tabelle1=false;
    // --- Tabelle für Gästebuch suchen ---
    $sql = "SHOW TABLES FROM $Datenbank_name";// --- alle DB-Tabellen auflisten
    $result_table = mysql_query($sql);
    if(!result_table)// --- Wenn Verbindung fehl geschlagen
      {
        exit; // --- Script beenden
      }
    $alle_tabellen = array(); // --- Array für alle vorhandenen Tabellen reinschreiben
    while($row_table = mysql_fetch_row($result_table)) // --- Schleife für Tabellensuche
      {
        array_push ($alle_tabellen,$row_table[0]);// --- Tabellen ins Array schreiben
      }
    if(in_array($tabelle_gaeste,$alle_tabellen))// --- nach Tabelle im Array suchen
      {
        $tabelle1=true;// --- wenn vorhanden, dann auf wahr setzen
      }

    // --- wenn Tabelle vorhanden -> AUFLISTEN ---
    if($tabelle1 == true)
      {
        // --- Tabelle vorhanden -> auswerten ---
        mysql_select_db($Datenbank_name,$db);
        $result = @mysql_query ("SELECT * FROM $tabelle_gaeste ORDER BY ID DESC");
        $menge = @mysql_num_rows($result);
        if($menge == '1')
          {
            echo "<p align=center>Im Moment gibt es einen Gästebucheintrag.</p>\n";
          }
        else
          {
            echo "<p align=center>Im Moment gibt es $menge Gästebucheinträge.</p>\n";
          }
        while ($row = mysql_fetch_array($result))
          {
            // --- Tabelle für Einträge vorbereiten ---
            echo "<table style=\"border:1px solid white;\" width=80% align=center>\n";
            echo "<tr>\n";
            echo "<td width=50%></td><td width=50%></td>\n";
            echo "</tr>\n";
            if($row[aktiviert] == 'x')
              {
                echo "<tr>\n";
                echo "<td colspan=2><font color=#00ff00><b>Dieser Eintrag ist AKTIVIERT</b></font></td>\n";
                echo "</tr>\n";
              }
            else
              {
                echo "<tr>\n";
                echo "<td colspan=2><font color=#ff0000><b>Dieser Eintrag ist DEAKTIVIERT</b></font></td>\n";
                echo "</tr>\n";
              }
            if(strlen($row[wohnort]) < '1')
              {
                $wohnort = "";
              }
            else
              {
                $wohnort = "aus " . $row['wohnort'] . "";
              }

            echo "<tr>\n";
            echo "<td colspan=2>Am " . $row['datum'] . " schrieb " . $row['name'] . " $wohnort folgendes in mein Gästebuch:</td>\n";
            echo "</tr>\n";
            echo "<tr>\n";
            echo "<td colspan=2>" . $row['nachricht'] . "</td>\n";
            echo "</tr>\n";
            if(strlen($row[email]) >= '1' && strlen($row[homepage]) >= '1')
              {
                echo "<tr>\n";
                echo "<td>E-Mail: " . $row['email'] . "</td><td align=right>Homepage: " . $row['homepage'] . " </td>\n";
                echo "</tr>\n";
              }
            elseif(strlen($row[email]) >= '1' && strlen($row[homepage]) < '1')
              {
                echo "<tr>\n";
                echo "<td>E-Mail: " . $row['email'] . "</td><td>&nbsp;</td>\n";
                echo "</tr>\n";
              }
            elseif(strlen($row[email]) < '1' && strlen($row[homepage]) >= '1')
              {
                echo "<tr>\n";
                echo "<td>&nbsp;</td><td align=right>Homepage: " . $row['homepage'] . " </td>\n";
                echo "</tr>\n";
              }
            if(strlen($row[anmerkung]) >= '1')
              {
                echo "<tr>\n";
                echo "<td colspan=2>" . $row['anmerkung'] . "</td>\n";
                echo "</tr>\n";
              }
            echo "<tr>\n";
            echo "<td colspan=2></td>\n";
            echo "</tr>\n";
            echo "</table>\n";
            // --- Abstand zum nächsten Eintrag erstellen ---
            echo "</p>&nbsp;</p>\n";
          }
      }

    else // -> ($tabelle1 == true)
      {
        echo "<p align=center>Es gibt noch keine Tabelle zum Gästebuch und damit auch noch keine Einträge.</p>\n";
      }
  }
else // -> ($db == true)
  {
    echo "<h2>Konnte die Datenbank nicht öffnen!</h2>\n";
  }
?>
</body>
</html>

Auf der nächsten Seite findest Du das Script zum Einträge aktivieren und deaktivieren.