Probleme bei nem user online Script
Hi
Ich habe ein Code Schnipsel umgeformt was anzeigt weviel User auf meine Seite online sind. Ich hab das ein bissel umgeschrieben. So das nur angemeldete User bei mein kleines cms als online angezeigt. Also keine Gäste, nur registrierte user. Folgendes ist dabei rausgekommen: PHP-Code:
PHP-Code:
PHP-Code:
geht ich auf die Seite steht da immer folgendes: besucher online:1 An sich ja logisch... nur steht da immer das da nur ein User online ist, obwohl es mehr sein müssten. Und dann gib es auch noch Sachen mit der Datenbank. Die Spalten ip und lastact in der Tabelle users ist überall immer leer. Und auch in der tabelle counter_count hat 0 Zeilen Kann da wer die Fehler im Script entdeckte :| Achja die varible $pid die abgefragt wird, ist die UserID die überall immer ermittelt wird. und das $conn besteht aus diesen zeilen: PHP-Code:
Ps.: Rechtschreibfehler ;) |
Hallo,
schau Dir diese Zeile mal ganz genau an... PHP-Code:
Was immer hilfreich ist (während der Entwicklung!) -> mysql_query(...) or die (mysql_error()); Grüße P.S.: Schreib besser $_SERVER['REMOTE_ADDR'] -> '' |
Also mir fällt da ehrlich gesagt nichts auf :|
|
Ok, was bewirkt eine "WHERE-Klausel" bei einem INSERT? ;-)
P.S.: Hast Du or die (mysql_error()) eingefügt? |
ok hab das mal gemacht mit den mysql_error und jetzt kommt auch was raus worauf du hindeutest^^
Folgende Fehlermeldung kommt: PHP-Code:
Er soll ja die ip und lastact in die spalte des jeweiliegen users einfügen. Wenn das nicht mit WHERE geht, wie dann? |
Du hast das Ganze in die Funktion insert_new() gepackt.
D.h. Du willst einen neuen Datensatz anlegen... -> Lass einfach die WHERE-Klausel weg. WHERE wird in Verbindung mit UPDATE verwendet. Grüße |
Ah jetzt weiß ich wo der Denkfehler war.
Klar... insert into hat da ja überhaupt nichts zu suchen. update muss da hin :) Danke :) Hab das jetzt geändert und es scheint zu funzen. Wenn doch noch was is meld ich mich wieder^^" |
ok da is doch noch ein kleines prob :|
die ip und lastact wird jetzt ja wunderbar in die zeilen der users eingetragen. nur die online anzeige bleibt immer bei 1 stehen :| Gibt es nicht irgendwie ne andere möglichkeit den counter zu zählen? |
Zum einen würde ich >= statt = als Vergleichsoperator in deinem Query in der Funktion online() benutzen. Und zum Anderen ist es schneller mit COUNT() anstatt mit mysql_num_rows() zu arbeiten. Außerdem war die Variable $online_time in der Funktion online() gar nicht bekannt. Du musst diese Variable also entweder als Parameter übergeben, in der Funktion definieren oder sie hier mit global holen:
PHP-Code:
|
ok ich hab deins mal versucht.
Nur das geht auch nicht so ganz :| Wenn ich die Seite aufrufe steht a nur noch: besucher online sonst nichts. hab unter dem return mal ein echo $row; eingefügt, aber kommt das selbe dabei raus. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:27:38 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.