Ich würde sagen ich habe hier das absoluteChaos produziert - naja, vielleicht stimmen ja Ansätze!
Also erstmal die externe Datei config.inc.php mit den Variablen für die DB:
<?php
//############### MySQL-Variablen ###############
$dbserver='localhost'; //MySQL-Server
$dbname='usr'; //Datenbank-Name
$dbuser='bla'; //MySQL-Benutzer
$dbpass='bla1'; //MySQL-Passwort
$dbklick='klick'; //Tabellenname für den Counter
//############### ip-sperre ?######
$sperren='3600'; //Zeit für die Reload-Sperre (in sec.)
?>
Ich denke mal das könnte noch okay sein.
So, dann die Datei stat.php, die das script und den html link(php) enthält der gezählt werden soll:
<?php
include("config.inc.php");
$connect=mysql_connect($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname);
$time=time();
$sperren=$time-$sperren;
//Nachprüfen ob es die IP schon gibt
$abfrage=mysql_query("SELECT * FROM $dbklick where time>'$sperren'");
$count=0;
while($ausgabe=mysql_fetch_array($abfrage))
{
if($ausgabe['ip']==$REMOTE_ADDR)
{
$count++;
}
}
if ($connect) {
if (@mysql_select_db($dbname, $connect)) {
// Eintrag fuer die per GET uebergebene URL um 1 erhoehen.
$query = "UPDATE $dbklick SET klick = klick + 1 WHERE url = '$url'";
$result = @mysql_query($query);
}
}
//umleitug weiß gott wo hin
Header("Location: ".$url);
?>
<table width="76" cellspacing="0" cellpadding="0">
<tr>
<td align="left" width="50"><a href="klick.php?url=http://www.elpeon.com/klick.php" onfocus="this.blur()">Testlink</a></td>
<td align="left" width="26"><font color="#B45D07"><?php print $klick;?></font></td>
</tr>
</table>
Ja, die Datenbank muss ich natürlich manuell in phpmyadmin anlegen, wie folgt:
ID IP url klicks
1 216.305.200 www 50
etc
Ich habe einfach aus verschiedenen Scripten, deinen Workshop und meinen kleinen phpHirn versucht zu puzzeln. Wahrscheinlich ist es mir nicht sogut gelungen, oder?
Sorry, bis um 8:00 Uhr habe ich das nicht geschafft!!!