Moin!
Auf einer Seite hat der user die Möglichkeit ein Popup zu öffnen. Ganz simpel mit javascript.
Wie kann ich jetzt im Popup mitzählen wieviele User dieses Ding gerade offen haben, um darauf zu reagieren und eben beim n+1. user etwas anderes auszugeben als bei den anderen?
Du kannst natürlich serverseitig mitzählen, wie häufig die im Popup enthaltene Seite abgerufen wurde - beim Überschreiten einer Zahl kannst du dann umschalten.
Diese Methode klappt aber natürlich nicht für die Fragestellung, _gleichzeitige_ Öffnungen der Datei festzustellen.
Wenn's geht würde ich das ganze gerne ohne datenbank oder textdatei Geschreibsel lösen. Ich dach da eine geschickte verquickung von SessionID mit dem Application Objekt - ich hab jetzt schon mehrere Stunden rumgefriemelt, aber noch nix gescheites zu Stande gebracht.
Es ist bestimmt ganz trivial und ich seh einfach den Baum vor lauter Wald nicht ...
Nein, es ist mit HTTP unlösbar. Der Server liefert die Popup-Seite aus - und fertig ist. Ob der User das Popup sofort wieder schließt, oder tagelang offen läßt, spielt für den Server keine Rolle.
Du müßtest irgendeinen Mechanismus erfinden, der den User als "hat das Fenster offen" beim Server anmeldet, und beim Schließen als "hat Fenster geschlossen" wieder abmeldet. Und das ganze dann noch _sicher funktionierend_! Vor allem diese letzte Bedingung wird dein System zum Einsturz bringen, denn die Welt von heute ist voller Javascript-Filter, die dir genau den Teil rauslöschen, den du fürs Abmelden brauchst: onunload. Oder onload.
HTTP ist ein verbindungsloses Protokoll - man ist nicht beim Betreten der Site "mit dem Server verbunden" und kappt diese Verbindung beim Verlassen wieder, sondern jede Seitenanforderung steht vollkommen für sich allein. Auch Sessions helfen dabei nicht weiter - sie erlauben lediglich, ein paar allgemeine, userspezifische Daten über die Seiten hinwegzuretten, aber für deine Anwendung sind sie auch nicht geeignet.
- Sven Rautenberg