Simon: Ip counter

Beitrag lesen

Hi,
hab da mal ein Script gefunden. Hab nur keine Ahnung wie und ob es läuft. Aber du kannst ja mal schauen.

Die index.php

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de">  
<head>  
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />  
<title></title>  
<?php  
include 'config.php';  
  
function refgen($length)  
{  
  list($msec,$sec)=explode(' ',microtime());  
  mt_srand((float) $sec + ((float) $msec * 100000));  
  return substr(md5(uniqid(mt_rand(),true)),0,$length);  
}  
$adresse = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];  
  
// AUTOREFRESH  
echo "<meta http-equiv=\"refresh\" content=\"30; url=$adresse\">  
</head><body>  
<div id="wrapper">  
    <div id="content">";  
$files = array();  
  
// DOWNLOADS IN ARRAY LESEN  
//z.B. $files[] = 30|Titel|Beschreibung|URL (Zahlenwert ist Anzahl der Klicks);  
// Beispiele:  
$files[] = "5|Mein Banner|Die Beschreibung|http://www.url.de/datei.jpg";  
$files[] = "10|Ein tolles Bild|Die andere Beschreibung|http://www.url2.de/bild.jpg";  
  
// SCRIPT START  
$ip = getenv("REMOTE_ADDR");  
echo "<h1>Downloads für $ip</h1>";  
$make_new_link = true;  
  
$sql = "SELECT * FROM snowball";  
$result = mysql_query($sql);  
while($zeile = mysql_fetch_object($result))  
    {  
    if($zeile->ip == $ip)  
        {  
        $code = $zeile->code;  
        $make_new_link = false;  
        $myhits = $zeile->hits;  
        }  
    }  
  
if($make_new_link)  
    {  
    $code = md5(refgen(16));  
    $sql = "INSERT INTO snowball (code,hits,ip) VALUES ('$code', 0, '$ip')";  
    mysql_query($sql);  
    }  
else  
    {  
    echo "<b><i>Du hast bereits $myhits Hits.</i></b><br>";  
    }  
  
echo "Dein persönlicher Link lautet: <b>".$adresse."?ref=$code</b><br>  
    Schicke diesen Link an Bekannte weiter um die Downloads freizuschalten!<br>  
    Autorefresh nach 30 Sek oder <a href='$phpself'>hier</a> klicken!";  
  
if(isset($_GET['ref']))  
    {  
    $code = $_GET['ref'];  
    $sql = "SELECT ip FROM snowball WHERE code='$code' LIMIT 1";  
    $dat = mysql_fetch_object(mysql_query($sql));  
    if($dat->ip != getenv("REMOTE_ADDR"))  
        {  
        $sql = "UPDATE snowball SET hits = hits+1 WHERE code = '$code' LIMIT 1";  
        mysql_query($sql);  
        }  
    }  
  
// DOWNLOADS AUFLISTEN  
echo "<br><br><table width=\"100%\">  
    <tr><td>Titel:</td><td>Beschreibung:</td><td>Filename:</td><td>Nötige Hits:</td><td>Link:</td></tr>";  
foreach($files AS $entry)  
    {  
    $a1 = explode("|",$entry);  
    $klicks = $a1[0];  
    $titel = $a1[1];  
    $des = $a1[2];  
    $url = explode("/",$a1[3]);  
    $file = $url[sizeof($url)-1];  
    echo "<tr><td>$titel</td><td>$des</td><td>$file</td><td>$klicks</td><td>";  
    if($klicks <= $myhits)  
        echo "<a href=\"$a1[3]\"><font color=\"green\">Download freigeschaltet</font></a>";  
        else echo "<font color=\"red\">Download gesperrt</font>";  
    echo "</td></tr>\n";  
    }  
echo "</table>";  
  
  
mysql_close($connection);  
?>  
</div><!--content-end-->  
</body>  
</html>  

Die install.php

  
<?php  
include 'inc/config.php';  
  
$sql = "CREATE TABLE IF NOT EXISTS snowball  
                (  
                id INT(5) NOT NULL AUTO_INCREMENT PRIMARY KEY,  
                code VARCHAR(32) NOT NULL,  
                hits INT(5) NOT NULL,  
                ip VARCHAR(24) NOT NULL  
                )";  
mysql_query($sql);  
  
?>  
  

und die config.php

  
<?php  
// Datenbank-Angaben  
// ###########  
  
//HOST:  
$db_host = "datenbank host";  
// USER:  
$db_user = "datenbank benutzer";  
// PASSWORT:  
$db_pass = "datenbank passwort";  
//DATENBANK-NAME  
$db_name = "datenbank name";  
  
$connection = mysql_connect($db_host, $db_user, $db_pass)  
or die ("Verbindung nicht möglich!");  
mysql_select_db($db_name)  
or die ("Datenbank nicht gefunden");  
?>