Counter ohne JS-Code

Kennt jemand einen Counter (der Besucher auf einer HP zählt) bei welchem der Code zur Implementierung ohne Java Script arbeitet?
 
Na klar. wenn er mit PHP arbeitet ist JavaScript das überflüssigste der welt :D

Hierzu nötig ist folgendes:in die Seite, wo der Counter angezeigt erden soll:
PHP:
<? include(\"counter.php\"); ?>
und die Datei counter.php hat folgenden Inhalt (für nen Text-Counter):
PHP:
<?
$numip = \"10\"; //Anzahl der IP-Adressen, die gespeichert werden sollen

$anzdir=\"counter.dat\"; //Datei, in der die Impressionzahl gespeichert wird
$ipdir=\"ip.txt\" ;      //Datei, in der die IPs gespeichert werden

################################################################################
// ab hier gilt: Nur editieren, wenn du weißt was du tust !!!

if (file_exists($anzdir) AND ($ipdir))
{
    global $REMOTE_ADDR, $ipdata, $userip1;
    $userip = $REMOTE_ADDR ;
    $ipfile = fopen($ipdir,\"r+\");
    $ipfile1 = fgets($ipfile,200);
    $ipdata = explode(\":\",$ipfile1);

    if (in_array($userip, $ipdata))
    {
        global $nummer;
        $anzahl = fopen(\"$anzdir\", \"r+\") ;
           $nummer = fgets($anzahl,9);

        fclose($anzahl);
    }
    else
    {
        global $num, $userip;
        $num = count($ipdata);

        if ($num <= $numip)
        {
            fputs($ipfile,$userip.\":\");
            fclose($ipfile);
            $anzahl = fopen(\"$anzdir\", \"r+\");
               $nummer = fgets( $anzahl, 9 );
               $nummer++;
               fseek($anzahl, 0);
              fputs( $anzahl, $nummer );
            fclose($anzahl);
        }
        else
        {
            global $ipdata9, $push;
            $pop = array_pop($ipdata);
            $ipdata = array_reverse($ipdata);
            array_push($ipdata,$userip);
            $ipdata = array_reverse($ipdata);
            $userip2 = implode(\":\",$ipdata);
            $ipfile = fopen($ipdir,\"w+\");
            fputs($ipfile,$userip2);
            fclose($ipfile);

            $anzahl = fopen(\"$anzdir\", \"r+\");
               $nummer = fgets( $anzahl, 9 );
               $nummer++;
               fseek($anzahl, 0);
              fputs( $anzahl, $nummer );
            fclose($anzahl);
        }
    }
}
else
{
    if (file_exists($ipdir))
    {
        global $nummer;
        $fo = fopen($anzdir,\"w+\");
        fputs($fo, 1);
        $nummer = 1;
    }
    else
    {
        global $nummer;
        $foip = fopen($ipdir, \"w+\");
        fputs($foip, $REMOTE_ADDR.\":\");
        fclose($foip);
        $foan = fopen($anzdir,\"w+\");
        fputs($foan, 1);
        $nummer = 1;
    }
}
echo \"$nummer\";
?>
ich hoffe, ich habe nicht zu viel überflüssiges drinnen gelassen...

MERKE!!!
Die Dateien in $anzdir und $ipdir sollten bereits existent sein!
 
Oder einfach mit ner Datenbank:


<?php
function counter()
{

$benutzer="user";
$passwort="pwd";
$db="datenbank";
$link=mysql_connect("localhost",$benutzer,$passwort);
if (!$link)
{
print 'Keine Verbindung zu MySQL SERVER';
}

if(!mysql_select_db($db,$link))
{
print 'Kann Datenbank nicht öffnen';
}



$ergebnis=mysql_query("SELECT visitor FROM counter WHERE 1 AND id=1");
while($datensatz=mysql_fetch_row($ergebnis))
{
foreach ($datensatz as $feld)
{
; // NOTHING
}
}


$feld++;
$visitor=$feld;
$anfrage="UPDATE counter SET visitor='$visitor' WHERE 1 AND id=1";




if (!mysql_query($anfrage,$link)) // SONST ERROR
{
print 'ERROR'.mysql_error();
}
mysql_close($link);

// END ACCESS TO DATABASE

print ('<font face="verdana,arial,helvetica,tahoma" color="#00ff00">');
print $visitor;
print ('</font>');
}
?>


Und in der Datei, in der du den Counter einbinden willst einfach:

<?php
include ("counter.php");
counter();
?>
 
Zurück
Oben