Seite 1 von 1
Gäste Zähler
Verfasst: 17.03.2012 17:42
von Eisvogel
Hallo
Ich möchte, dass bei einem bestimmten Aufruf der Gast nicht im "Wer ist online" aufgeführt wird. Also ich habe ein Skript "test.php" und wenn der Gast dieses aufruft, soll er nicht im "Wer ist online" angezeigt werden.
Der Header von der Datei sieht so aus:
Code: Alles auswählen
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin(false);
$auth->acl($user->data);
$user->setup();
Ich brauch Zugriff auf $user und $db. Weiß einer von euch wie sowas geht?
MfG
Der Eisvogel
Re: Gäste Zähler
Verfasst: 17.03.2012 22:07
von Miri pt2
...das hier hattest Du schon gelesen --- >
Klick?
Re: Gäste Zähler
Verfasst: 18.03.2012 01:21
von Eisvogel
Ja, aber ich verstehe nicht so ganz den Zusammenhang mit meiner Frage. Ich will, dass wenn ein Gast das Skript aufruft, der Gästezähler bei "Wer ist online" nicht anspricht. Heißt das unter "Wer ist online" folgende stehen sollte, egal wieviele Gäste das Skript aufrufen:
"Insgesamt ist 1 Besucher online: X registrierter, X unsichtbare und 0 Gäste"
Man beachte die "0 Gäste", das will ich erreichen.
Re: Gäste Zähler
Verfasst: 18.03.2012 10:34
von Miri pt2
Wie weit sind denn Deine eigenen Bemühungen gediehen?
Was hast Du probiert und was ist davon fehlgeschlagen?
Das was ich verlinkt hatte stellt ein komplettes Gerüst einer Seite zum Einbinden in das phpBB3 dar. Damit hast Du im Prinzip alles an der Hand, was du brauchst. Du mußt nur den Funktionsaufrufen folgen.
Re: Gäste Zähler
Verfasst: 18.03.2012 10:54
von Eisvogel
Naja, das was ich errechen will steht, meine Meinung nach, nicht in dem von die verlinkten Beitrag.
Das entscheidende sind die drei Zeilen:
Code: Alles auswählen
// Session auslesen und Benutzer-Informationen laden
$user->session_begin(); // Session auslesen
$auth->acl($user->data); // Benutzer-Informationen laden
$user->setup('mods/meine_sprach_datei'); // Sprachvariablen aus eigener Sprach Datei laden
Alles was danach kommt, hat nicht mehr mit "Wer ist online" zu tun. die letzte Zeile könnte ich weg lassen, aber das ändert nichts. Die erste Zeile ist notwendig, weil sonst garnichts läuft, und die zweite braucht ich für die Berechtigungen. Man kann nur bei session_begin einen Parameter angeben. Wenn ich diesen auf false setzte, dann hat das aber auch Auswirkung auf den Gästezähler.
Entweder ich bin zu doof, zu verstehen wie ich den Gästezähler für ein bestimmte Skript deaktivieren kann, oder ud verstehst nicht genau was ich möchte.
Re: Gäste Zähler
Verfasst: 18.03.2012 12:21
von Miri pt2
Wie dem auch sei:
Den Gästezähler für ein Script zu deaktivieren ist nicht das Problem, das Du lösen mußt; Deine Problematik ist die, daß der nicht zu zählende Gast, der eine definierte Seite besucht, nicht in der Session Tabelle auftauchen darf.
Eine Möglichkeit wäre, daß dein eigenes Script, diesen Eintrag aus der Session-Tabelle löscht. Bspw. so:
Code: Alles auswählen
$sql = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_user_id = 1 AND session_id = '" . $user->data['session_id'] . "'";
$db->sql_query($sql);
in deinem Script und zwar nach
$user->session_begin()
Solange der gast auf Deiner neuen seite bleibt, wird er nicht gezählt / gesehen, wenn er woanders herumsurft schon.
Re: Gäste Zähler
Verfasst: 18.03.2012 16:05
von Eisvogel
Danke dir. Das ist schonmal ein Anfang. Das ist bei einem viel besuchten Forum eine Abfrage mehr, was auf die Leistung des Servers gehen könnte. Besteht evt. auch die Möglichkeit zu verhinder, dass ein Eintrag in der Session Tabelle zustande kommt?
Re: Gäste Zähler
Verfasst: 18.03.2012 17:32
von Miriam
Das mag sein, da habe ich mich nicht drum gekümmert.
Aber beachte, daß das Unterscheiden, ob ein Eintrag in die Sessions-Tabelle erfolgen soll oder nicht, bei JEDEM Scriptaufruf erfolgt.... Der Vorschlag, den ich gemacht habe, passiert nur beim Aufruf dieses einen Scriptes.
Ich frage mich, was performanter ist.

Re: Gäste Zähler
Verfasst: 19.03.2012 14:29
von Eisvogel
Ich könnte anders rum fragen, was aus der Funktion session_begin muss ich selbst ausführen, wenn ich die Funktion selbst nicht aufrufen will?
Re: Gäste Zähler
Verfasst: 19.03.2012 15:52
von Miriam
Weiß ich nicht.... Aber ich freue mich auf dein Feedback, wenn Du es dann herausgefunden hast.