Counter Problem

newwarrior

Erfahrenes Mitglied
Moin,

ich habe ein kleines Problem.
Ich habe mir einen kleinen Counter programmiert, der folgende Daten ausgibt:

Besucher von heute, gestern, letzten Monat, letztes Jahr, insgesammt.
Doch leider habe ich einen kleinen Fehler drinne wir man hier sehen kannt:

http://linux-wiki.omegaspace.de/rtn/index.php?action=imprint

Hier mal der Code, vielleicht könnt ihr mir ja helfen:

PHP:
<?php
error_reporting(E_ALL);
$REMOTE_ADDR = $_SERVER['REMOTE_ADDR'];
$sql = mysql_query('select * from ip WHERE ip = "'.$REMOTE_ADDR.'"');
if(mysql_num_rows($sql) < 1) {
    $zeit = time();
    mysql_query("insert into ip (date, ip) values ('$zeit', '$REMOTE_ADDR')");
}
$day = 86400;
$month = 2592000;
$year = 31536000;
$time = time();
$day = $time - $day;
$month = $time - $month;
$year = $time - $year;
echo '<h2 style="margin:0;padding:0;">Besucherz&auml;hler</h2>
 <table style="width:40%;margin-left:auto;margin-right:auto;line-height:25%;">';
 $sql = mysql_query("select count(*) as Anzahl_today from ip WHERE date <='".$day."'");
$row = mysql_fetch_array($sql);
echo '
  <tr>
   <td>Heute:</td>
   <td>'.$row["Anzahl_today"].'</td>
   <td><img src="img/user.png" style="border:0;" /></td>
  </tr>';
$sql = mysql_query("select count(*) as Anzahl_yesterday from ip WHERE date <= '".$day."'");
$row = mysql_fetch_array($sql);
echo '
  <tr>
   <td>Gestern:</td>
   <td>'.$row["Anzahl_yesterday"].'</td>
   <td><img src="img/user.png" style="border:0;" /></td>
  </tr>';
$sql = mysql_query("select count(*) as Anzahl_month from ip WHERE date <= '".$month."'");
$row = mysql_fetch_array($sql);
echo'
  <tr>
   <td>letzten Monat:</td>
   <td>'.$row["Anzahl_month"].'</td>
   <td><img src="img/user.png" style="border:0;" /></td>
  </tr>';
$sql = mysql_query("select count(*) as Anzahl_year from ip WHERE date <= '".$year."'");
$row = mysql_fetch_array($sql);
echo'
  <tr>
   <td>letztes Jahr:</td>
   <td>'.$row["Anzahl_year"].'</td>
   <td><img src="img/user.png" style="border:0;" /></td>
  </tr>';
$sql = mysql_query("select count(*) as Anzahl from ip");
$row = mysql_fetch_array($sql);
echo'
  <tr>
   <td>Insgesammt:</td>
   <td>'.$row["Anzahl"].'</td>
   <td><img src="img/user.png" style="border:0;" /></td>
  </tr>
';
echo ' </table>';
?>
 
Zuletzt bearbeitet:
Jou,
was du als Anzahl_day selektierst, sind alle Besucher VOR heute, also genau die, die NICHT heute da waren. Du müsstest also den Vergleich nicht mit <= sondern >= machen.
Bei Monat und Jahr genau so.

Insgesamt schreibt man mit einem m ;)

EDIT: Außerdem fällt mir auf, dass du nicht die Besucher von HEUTE anzeigst, sondern die Besucher DER LETZTEN 24 STUNDEN. Was nicht nur um kurz nach Mitternacht einen Unterschied macht. Bei Monat und Jahr halt genau so. Besucher DER LETZTEN 30 TAGE und nicht des LETZTEN KALENDERMONATS. Ist halt die Frage was du willst. Vielleicht ist es OK so für dich...
 
Zuletzt bearbeitet:
Zurück