Mailinglisten-Archive |
/*
* Zaehler fuer Seitenzugriffe
* Author: Wolfgang Siebeck ws_(at)_siam.de
* R.M.I. Nachrichtentechnik (Thailand) GMBH.
* (Die Punkte in der Firma sind thail. Vorschrift :-)
* Disclaimer: RMI Nachrichtentechnik GmbH Aachen und
* R.M.I. Nachrichtentechnik (Thailand) GMBH. sind nicht identisch.
* Auswertungsscript f=FCr die ganze Tabelle mit
* R=FCcksetzung des "Teilz=E4hlers" ebenfalls vorhanden.
* Aufruf: counter(__FILE__)
* Parameter sichtbar erzeugt wahlweise das Ergebnis (Fusszeile)
* in der R=FCckgabevariablen, falls Webseite aus "Bits" zusammen-
* gesetzt werden soll.
* Ansehen unter: http://www.siam.de u.a. Seiten der http://www3.rmi.de
*/
function counter($fname, $sichtbar=3D1)
{
global $gucker;
global $diewurzel;
global $SERVER_NAME;
global $sysopemail;
$fname =3D substr($fname, strlen($diewurzel));
if (substr($fname,0,1) !=3D "/") {
=09$fname =3D "/" . $fname;
}
$query =3D sprintf("select pageviews from counter where (seitenname=3D=
'%s') and (hostname=3D'%s')",
$fname, $SERVER_NAME);
$handle =3D mysql("webutils", $query);
$zaehler =3D 0;
$zahl =3D 0;
while ($zeile =3D mysql_fetch_array($handle)) {
$zaehler++;
if ($zaehler =3D=3D 1) {
$zahl =3D $zeile[pageviews]+1;
}
}
if ($zahl =3D=3D 0) {
$zahl =3D 1;
$bname =3D basename($fname);
$vname =3D substr($fname, 0, strlen($fname) - strlen($bname));
$query =3D sprintf("insert into counter (seitenname, verzeichnis, =
basename, pageviews, datum, remoteaddr, LfdNr, hostname)
VALUES ('%s','%s','%s',%d,%d,'%s',0,'%s')",
$fname, $vname, $bname, $zahl, time(), $gucker=
, $SERVER_NAME);
}
else {
$query =3D sprintf("update counter set pageviews=3Dpageviews+1, re=
moteaddr=3D'%s', datum=3D%d where seitenname=3D'%s' and hostname=3D'%s'",
$gucker, time(), $fname, $SERVER_NAME);
}
$handle =3D mysql("webutils", $query);
if (!$handle) {
/* Hochzaehlen hat nicht geklappt */
mail($sysopemail, "Fehler im PHP-Counter", "Kann Zaehler nicht hoc=
hsetzen ($fname)");
}
if ($sichtbar && ($zahl > 0))
printf("<span class=3D\"counter\">Aufrufe dieser Seite: %d</span><=
br>\n", $zahl);
=20=20=20
}
php::bar PHP Wiki - Listenarchive