counter mit sperre
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
aufrufen
brauch
code
datei
datenbank
eintrag
einzelner unterseiten
ergebnis
erstellen
feld
realisieren
routine
statistik
tabelle
tag
teufel
textdatei
uhrzeit
ware
-
hi,
ich suche ein m?glichst einfaches counter-script mit zeit- und ipsperre.
der counter/das "z?hlen" selbst ist kein problem, aber ich will, dass mehrere ip's mit jeweiliger uhrzeit gespeichert werden.
also so:
ein user (z.b. 192.2.2.2) besucht eine seite.
dessen ip und uhrzeit (time() ) wird gespeichert:
192.2.2.2|168489166
ein 2. user (192.3.3.3) besucht die selbe seite.
dessen ip und uhrzeit (time() ) wird gespeichert:
192.2.2.2|168489166
192.3.3.3|189666438
und so weiter...
jetzt kommt der 1. user wieder. dessen zeitsperre (1min) ist vorbei, die zeit wird aktuallisiert...
wo finde ich so ein script, wie funktioniert das? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ich br?uchte keinen fertigen counter, sondern eine fertige php-tag/datei">datei sozusagen...
-
dann such dir ein Tutorial ... bei google.de findest du bestimmt etwas ... ansonsten gibts bei webmasterpro.de auch gen?gend gute tuts ..
mfg. kEijuQ -
das kannste ganz einfach per mysql database machen...
das speicherst du einfach in eine datenbank mit 2 feldern. einmal ip dann das andere mal time ....
die gez?hlten seitenaufrufe speicherst du am besten in einer textdatei.
die zeit in die database einzutragen ist ja nicht so schwer, die ip auch nicht ... du musst halt nur eine if abfrage beim aufrufen des counters machen ... wenn die ip schonmal da ist das zeitfenster ?berpr?fen und gegebenenfalls ?ndern. falls eine ip die sich in der datenbank befindet ?lter als meinetwegen 360 min ist kann der eintrag eigentlich gel?scht werden... das kannst du alles ?ber das aufrufen der seite machen ... oder einfach in der counter routine ....
naja ... ich schreibe dir mal auf in was f?r einer reihenfolge du forgehen musst!
Datenbank durchsuchen, zuerst nach einem eintrag der die selbe ip besitzt
-> falls einer gefunden neues zeitfenster erstellen ... einfach time parameter neu in die datenbank schreiben falls zeit nicht um dann nichts tun
-> fals nicht gefunden dann nach eintr?gen suchen die ?lter als 360 min sind... einfach in einer for schleife die abfrage durchlaufen und testen ... wenn eriner gefunden wurde ... l?schen
dann neuen eintrag erstellen mit neuer ip und neuem zeitfenster ...[ip mit --> $ip = getenv("REMOTE_ADDR"); <-- heraussuchen]
dann darfst du einen besucher mehr auf deine statistik speichern ... wenn du es ganz cool haben willst kannst du ja noch die einzelnen seitenaufrufe einzelner unterseiten in einer statistik abspeichern ... ist relativ einfach zu realisieren .. kannst dann statt der textdatei eine eigene tabelle anlegen mit den feldern wie du auch die seiten hast...
-
weis nich, ob effektiv is, bzw ob sowas besser geht.... aber es funkt....
function online($ip) {
$time = time();
$expire = $time-60*10;
$ergebnis3=mysql_query("DELETE FROM online WHERE time<='$expire'");
$ergebnis=mysql_query("SELECT * FROM online WHERE ip='$ip'");
$user_on = mysql_num_rows($ergebnis);
if($user_on==0)
{
$ergebnis4=mysql_query("SELECT * FROM counter");
while($row=mysql_fetch_object($ergebnis4))
{
$lastcounter = $row->counter;
}
$newcounter = $lastcounter+1;
$ergebnis5=mysql_query("DELETE FROM counter");
$sql = "INSERT INTO counter (id, counter)";
$sql .= "VALUES ('','$newcounter')";
$result = mysql_query($sql);
$sql2 = "INSERT INTO online (id, ip, time)";
$sql2 .= "VALUES ('','$ip', '$time')";
$result2 = mysql_query($sql2);
}
elseif($user_on!=0)
{
mysql_query("UPDATE online SET time='$time' WHERE ip='$ip'") or print mysql_error();
}
$ergebnis2=mysql_query("SELECT * FROM online");
$gesamt = mysql_num_rows($ergebnis2);
$ergebnis5=mysql_query("SELECT * FROM counter");
while($row2=mysql_fetch_object($ergebnis5))
{
$counter = $row2->counter;
}
echo "Zur Zeit Online: $gesamt Du bist User $counter";
};
man k?nnte den eigentlichen z?hler nat?rlich auch in eine txt datei schrieben lasen, brauch man nich unbedingt ne tabelle f?r...aller dings f?r die aktuell online leute brauchst du ne mysql tabelle...
viele gr??e -
ja, das hab ich mich auch gefragt und verzweifelt danach gesucht.... daf?r gibs ja ne menge smilies die keiner brauch...
-
lol ... das ist wohl leider war ... nicht so das ware ... die features hier vom board ...
-
meinste wir haben noch ne nen bb board benutzt... *g* ... wenn wir das nicht getan h?tten w?ssten wir auch nicht das es sowas wie einen code tag gibt ...
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage