Der Adminbereich des Zählers

Im Adminbereich kannst Du neben dem Zählerstand Deiner Hauptdomain auch die Zählerstände der Subdomains ablesen (sofern vorhanden) und zusätzlich wird die Besuchermenge angezeigt, welche Online ist (natürlich passend zur Domain).
Abschließend errechnet das Script die Besucherzahl aller Domains zusammen.

Die "stand.php" befindet sich im Ordner "zaehler", was ein Unterverzeichnis von "admin" ist.
Quelltext und Scripte der stand.php:
<?php
// --- Daten laden um Verbindung aufzubauen ---
@include_once "../../cgi-bin/datenbank.php";
// --- Tabellennamen für Zähler angeben (findest Du im Script der zaehler.php) ---
$tabelle_zaehler = "meine_zaehler_staende";
$tabelle_sperre = "meine_zaehler_sperre";
?>

<html>
<head>
<title>Zählerstände anzeigen</title>
<link rel="stylesheet" href="../../formatierung.css" type="text/css">
</head>
<body>
<br>
<h1>Alle Zählerstände von Meine erste Homepage anzeigen</h1>
<br>
<?php
// --- Datenbank öffnen ---
$db = @mysql_pconnect($Datenbank_server, $Datenbank_user, $Datenbank_passwort);
if($db == true)
  {
    // --- nach Tabellen suchen ---
    $tabelle1=false;
    $tabelle2=false;
    // --- Tabelle für Besucherzähler 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_zaehler,$alle_tabellen))// --- nach Tabelle im Array suchen
      {
        $tabelle1=true;// --- wenn vorhanden, dann auf wahr setzen
      }
    if(in_array($tabelle_sperre,$alle_tabellen))
      {
        $tabelle2=true;
      }

  // --- Wenn beide Tabellen vorhanden weiter ---
  if($tabelle1 == true && $tabelle2 == true)
    {
      // --- Tabellen vorhanden -> AUSWERTEN ---
      mysql_select_db($Datenbank_name,$db);
      // --- Array für Domainnamen ablegen ---
      $array_domains = array();
      // --- Array für Domainsumme (Besucher) ablegen ---
      $user_summe = array();
      // --- Jetzt auslesen ---
      $result_domain = @mysql_query ("SELECT domain FROM $tabelle_zaehler ORDER BY ID");
      $menge_domain = @mysql_num_rows($result_domain);
      if($result_domain >= '1')
        {
          // --- Es gibt Zählerstände -> Domainnamen ins Array schreiben ---
          while ($rows_domain = mysql_fetch_array($result_domain))
            {
              array_push($array_domains,$rows_domain[domain]);
            }
          // --- Domainmenge feststellen ---
          $domain_menge = count($array_domains);
          // --- Überschrift zu den Zählerständen ---

          if($domain_menge == '1')
            {
              echo "<p align=center>Im Moment gibt es für eine Domain einen Zählerstand.<br><br></p>\n";
            }
          else
            {
              echo "<p align=center>Im Moment gibt es für $domain_menge Domains Zählerstände.<br><br></p>\n";
            }
          // --- Abgelaufene IP-Adressen aus der Sperre entfernen ---
          $abgelaufen = time();
          @mysql_query("DELETE FROM $tabelle_sperre WHERE gesperrt_bis < $abgelaufen");
          // --- HTML Tabele vorbereiten ---
          echo "<table border=1 width=85% align=center>\n";
          echo "<tr>\n";
          echo "<td width=33% align=center>DOMAIN</td>\n<td width=34% align=center>ONLINE</td>\n<td width=33% align=center>TOTAL</td>\n";
          echo "</tr>\n";
          // --- über for-Schleife Besucherzahlen ausgeben ---
          for ($i = 0; $i < $domain_menge; $i++)
            {
              echo "<tr>\n";
              echo "<td align=center>$array_domains[$i]</td>";
              // --- feststellen, wieviel Einträge zur Domain noch aktiv in der Sperre sind ---
              $result_online = @mysql_query ("SELECT domain FROM $tabelle_sperre WHERE domain='$array_domains[$i]' ORDER BY ID");
              $menge_online = @mysql_num_rows($result_online);
              echo "<td align=center>$menge_online</td>";
              // --- Zählerstand zur Domain feststellen und in ein Array schreiben ---
              $result_user = @mysql_query ("SELECT domain,stand FROM $tabelle_zaehler WHERE domain='$array_domains[$i]' ORDER BY ID");
              while ($rows_user = mysql_fetch_array($result_user))
                {
                  $total = $rows_user[stand];
                  array_push ($user_summe, $total);
                  echo "<td align=center>$total</td>\n";
                }
              echo "</tr>\n";
            } // -> Ender for-Schleife
          // --- Besucher gesamt (alle Domains) feststellen ---
          $total_domain = array_sum($user_summe);
          echo "<tr>\n";
          echo "<td colspan=2 align=right>Besucher meiner Domain(s) gesamt: &nbsp; </td>";
          echo "<td align=center><b>$total_domain</b></td>\n";
          echo "</tr>\n";
          echo "</table>\n";
        }
      else // -> ($result_domain >= '1')
        {
          echo "<h2>Es liegen noch keine Zählerstände vor!</h2>\n";
        }
    }

  else // -> if($tabelle1 == true && $tabelle2 == true)
    {
      echo "<h2>Tabellen nicht (vollständig) vorhanden, Zählerstände sind daher bei 0 (Null)!</h2>\n";
    }
  }
else // -> ($db == true)
  {
    echo "<h2>Konnte keine Verbindung zur Datenbank herstellen!</h2>\n";
  }
?>
</body>
</html>

Ab der nächsten Seite geht es um den Adminbereich des Gästebuches.