Ich gehöre zu den glücklichen, die leider kein mySQL in Tabellen ausgeben können. Für alle Mitleidenden gibt′s hier ein Klickcounter.
Als erstes erstellst du die Seite funktionen.php3
 | Wichtig!: |
Bei count.txt und count.php3 den kompletten Pfad angeben, also z.B. http://www.deineseite.de/ordner/count.txt
<?php
$dbfile = "http://../count.txt";
$url2script = "http://../count.php3";
function insertall() {
global $dbfile;
$datei = fopen($dbfile, "r");
$text = "<table width=\"30%\"><tr>";
while($zeile = fgetcsv($datei, 1000, "|")):
$text = $text . "<tr><td>$zeile[0]</td><td>$zeile[2]</td></tr>";
endwhile;
$text = $text . "</table>";
echo $text;
}
function insertone($id) {
global $dbfile;
global $erg;
if($erg[$id] == ""):
$datei = fopen($dbfile, "r");
while($zeile = fgetcsv($datei, 1000, "|")):
$erg[$zeile[0]] = $zeile[2];
endwhile;
endif;
echo $erg[$id];
}
function insertlast() {
global $dbfile;
$datei = fopen($dbfile, "r");
$erg = fgetcsv($datei, 1000, "|");
echo $erg[0];
}
?>
count.txt ist einfach nur eine leere Seite mit CHMOD 666. count.php3 sieht wiefolgt aus:
<?php
$dbfile = "count.txt"; #Pfad zu count.txt
$adminpass = "login"; #Das Passwort zum Administrieren
$scripturl = "$PHP_SELF"; #Oder kompletten Pfad angeben
if($action=="admin"):
if($password != $adminpass && $password != ""):
die("Falsches Passwort");
endif;
if($just == "yes"):
setcookie("password", $password);
endif;
?>
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
<title>Klick-Counter</title>
</head>
<body>
<center>
<?php
if($password == ""):
echo "<p><form action=\"$scripturl?action=admin\" method=\"POST\"\n>";
echo "Passwort:<input type=password name=password><br><input
type=submit name=submit value=LogIn><br><br>\n";
echo "<input type=hidden name=just value=yes>";
echo "Bitte das Passwort eingeben!</p></center></body></html>";
exit;
elseif($newid != ""):
$datei = fopen($dbfile, "a");
fputs($datei, $newid . "|" . $newurl . "|" . $startcount . "\n");
fclose($datei);
echo "<p>Eintrag erfolgreich<br><a
href=\"$scripturl?action=admin\">Zurück</a></p></center></body></html>";
exit;
elseif($editid != ""):
if($editurl != ""):
$datei = fopen($dbfile, "r");
while($zeile = fgetcsv($datei, 1000, "|")):
if($zeile[0] == "$editid"):
$erg[] = "$editid|$editurl|$editcount\n";
else:
$erg[] = "$zeile[0]|$zeile[1]|$zeile[2]\n";
endif;
endwhile;
fclose($datei);
$datei = fopen($dbfile, "w");
$count = 0;
while($erg[$count] != ""):
fputs($datei, $erg[$count]);
$count++;
endwhile;
fclose($datei);
echo "<p>Neue ID hinzugefügt.<br><a
href=$scripturl?action=admin>Zurück</a></p></center></body></html>";
exit;
else:
$datei = fopen($dbfile, "r");
while($erg=fgetcsv($datei, 1000, "|")):
if($erg[0] == $editid):
echo "<p><form action=$scripturl?action=admin method=post>\n";
echo "ID: $erg[0]<input type=hidden name=editid
value=\"$editid\"><br>\n";
echo "URL: <input type=text name=editurl value=\"$erg[1]\"><br>\n";
echo "Anzahl: <input type=text name=editcount
value=\"$erg[2]\"><br>\n";
echo "<input type=submit name=submit
value=Ändern>\n</p></center></body></html>";
break;
else:
continue;
endif;
endwhile;
endif;
exit;
elseif($delid != ""):
$datei = fopen($dbfile, "r");
while($zeile = fgetcsv($datei, 1000, "|")):
if($zeile[0] == $delid):
continue;
else:
$erg[] = "$zeile[0]|$zeile[1]|$zeile[2]";
endif;
endwhile;
fclose($datei);
$datei = fopen($dbfile, "w");
$count = 0;
while($erg[$count] != ""):
fputs($datei, "$erg[$count]\n");
$count++;
endwhile;
fclose($datei);
echo "<p>Löschen erfolgreich<br><a
href=$scripturl?action=admin>Zurück</a>";
exit;
else:
$datei = fopen($dbfile, "r");
echo "<p><table border=1 width=90%>\n";
echo "<tr><td width=25%>ID</td><td width=50%>URL</td><td
width=8%>Anzahl Downloads</td><td width=*%>Aktionen</td></tr>\n";
while($erg = fgetcsv($datei, 1000, "|")):
echo "<td width=25%>$erg[0]</td><td width=50%>$erg[1]</td><td
width=8%>$erg[2]</td><td width=*><a
href=$scripturl?action=admin&editid=$erg[0]>Edit</a>|<a
href=$scripturl?action=admin&delid=$erg[0]>Delete</a></td></tr>\n";
endwhile;
echo "</table><form action=$scripturl?action=admin method=post>\n";
echo "ID:<input type=text name=newid><br>\n";
echo "URL:<input type=text name=newurl value=\"http://\"><br>\n";
echo "<input type=text name=startcount value=0><br>\n";
echo "<input type=submit name=submit value=Anlegen>\n";
echo "</center></body></html>";
exit;
endif;
endif;
$datei = fopen($dbfile, "r");
while($zeile = fgetcsv($datei, 1000, "|")):
if($zeile[0] == $id):
$togo = $zeile[1];
$zahl = $zeile[2];
$zahl++;
$foundid='1';
else:
$erg[] = "$zeile[0]|$zeile[1]|$zeile[2]\n";
endif;
endwhile;
fclose($datei);
if(!$foundid) die( 'ID wurde nicht gefunden!');
$datei = fopen($dbfile, "w");
fputs($datei, "$id|$togo|$zahl\n");
$count = 0;
while($erg[$count] != ""):
fputs($datei, $erg[$count]);
$count++;
endwhile;
fclose($datei);
if($type == "refresh"):
echo "<meta http-equiv=\"refresh\" content=\"0; URL=$togo\">";
exit;
endif;
header("Location: $togo");
?>
Das Passwort lautet im Moment login. Um Beiträge hinzuzufügen, nach dem Hochladen aller Dateien auf die count.php3-Seite gehen (http://www.deineseite.de/count.php3?action=admin) und dort einloggen. Anschließend unten die URL zur Seite und ID eingeben.
Damit das jetzt auch gezählt wird, muss der Link so geschrieben werden (# durch die ID ersetzen, ggf. kompletten Pfad eingeben):
<a href="count.php3?id=#">Link</a>
Wenn du die Anzahl der Klicks auf deiner Seite einfügen möchtest, füge auf der betreffenden Seite folgendes ein (mit komplettem Pfad).
<?php include("funktionen.php3"); ?>
Dort, wo die Zahl erscheinen soll, muss der Code hin. Nicht vergessen, # durch die betreffende ID zu ersetzen!
<?php insertone("#"); ?>
 | Wichtig!: |
Link zum Adminstrationsbereich:
http://www.???.de/count.php3?action=admin
Nekoji
Für ein Tutorial wird da aber arg wenig erklärt.