User Statistiken

elPadre

Mitglied
Hallo Jungs,

ich bin mal wieder am rumspielen und bin auf die tolle idee gekommen mal ne Statistik zu basteln.

Nur hab ich wiedermal absolut kein Plan wie das funktionieren könnte.

Deshalb wollte ich mal euch Profis fragen ob ihr paar Denk ansätze für mich hättet auf was ich achten sollte bzw beachten muss.


29293 Total Hits
239 Hits Today
8211 User gesamt
334 User online
76 Besucher online


lg
el
 
Für User / Besucher Online habe ich einen Tipp für dich. In einer Tabelle speicherst du die Session id, die UserID (sonst NULL) und den Timestamp ab. Bei jedem laden einer deiner Sites aktualisierst du den Timestamp, wo die SessionID die gleiche ist, die der Browser gerade hat. Danach prüft das Script, welche Timestamps älter als X Minuten ist, und löschst die alle aus der Tabelle. Ausgabe geht mit "SELECT COUNT(*) FROM tbl WHERER userid IS NULL" für Besucher und "SELECT COUNT(*) FROM tbl WHERE userid IS NOT NULL" für Mitglieder.
 
HeY!

Ich will mir jetzt keine Gedanken darüber machen, wie du sowas basteln kannst, denn ich denke wenn du das noch nicht mal hinkriegst, dir zu überlegen wie du es angehst, dann wirst du überhaupt schwierigkeiten haben es ganz zu packen.

Ich packe bloss wie immer noch ein wichtigen Faktor in Sachen User Online hinzu.
http://www.php-faq.de/q/q-code-user-online.html


Danke und bis bald g3radiochris.
 
Hi,

also ich würde das so machen:

Eine Tabelle in der Datenbank anlegen, die folgendes hat:
- User_Ip
- Last-Active
- User id

Dann musst du halt bei jedem seiten aufruff Last-Active mit der aktuellen Ip ernäuern.

MfG BehindTheScenes
 
Hallo,

ich hab mal so etwas vor langer zeit gemacht ...

Tipp: Kopier es nicht einfach sondern schaus dir nur an und versuch es selbst!

PHP:
$ip = $_SERVER['REMOTE_ADDR'];
$time = date("His");
$date = date("Ymd");
$datetime = date(YmdHis);

$a = mysql_query("SELECT * FROM counter WHERE ip = '$ip'");
$b = mysql_num_rows($a);

if($b == "0"){
   mysql_query("INSERT INTO counter (time, date, ip) VALUES ('$time','$date','$ip')");
}

mysql_query("UPDATE counter_hits SET hits = hits + 1");
mysql_query("UPDATE counter SET action = '$date$time' WHERE ip = '$ip'");

$lastaction = $datetime - 500;

$online2 = mysql_query("SELECT * FROM counter WHERE action > $lastaction");
$online = mysql_num_rows($online2);

$heute2 = mysql_query("SELECT * FROM counter WHERE date = '$date'");
$heute = mysql_num_rows($heute2);

$gestern2 = mysql_query("SELECT * FROM counter WHERE date = $date - 1");
$gestern = mysql_num_rows($gestern2);

$gesamt2 = mysql_query("SELECT * FROM counter");
$gesamt = mysql_num_rows($gesamt2);

$hits2=mysql_query("SELECT hits FROM counter_hits"); 
$hits=mysql_fetch_array($hits2);

echo "online: $online<br>";
echo "heute: $heute<br>";
echo "gestern: $gestern<br>";
echo "gesamt: $gesamt<br>";
echo "hits: $hits[hits]<br><br>";


MfG proloser
 
Zurück