Mailinglisten-Archive |
Claudia Sengutta wrote: > Hallo! Bitte antwortet mir doch! Das Problem ist ganz einfach: Was Du vorhast geht nicht. Nicht auf normalem Wege. Wenn das Script fertig ist, wird es beendet. Da hilft auch kein ingore_user_abort. Das verhindert nur, dass das Script beendet wird, wenn der Browser die Verbindung abbricht. Wenn das Script aber schlicht die letzte Zeile erreicht hat, wird es regulär beendet. Die einzige Möglichkeit, zu tun, was Du willst, ist folgende: Du baust ein Frameset auf, mit einem Frame, in dem ein PHP-Script läuft, welches einfach nur in einer Endlosschleife immer wieder den Verbindungsstatus abfragt. Dieses Script wird natürlich nie beendet und kann dadurch auch wirklich einen Browser-Abbruch feststellen. So ähnlich funktioniert wohl auch ircg von Sascha Schumann, bei anderen HTTP-Chats kann man normalerweise nicht auf die Angaben, wie viele User am Chat teilnehmen, verlassen. Von dieser Lösung würde ich aber abraten, und zwar aus zwei Gründen: - Frames bite - Dieser endlose streaming-Frame wird bei einigen Internet-Usern Probleme erzeugen, er wird einfach nicht ankommen. Dies wird i.d.R. durch bestimmte Firewalls oder Proxies verursacht. Ein Chat kann sich das leisten, wenn Streaming nicht funktioniert, funktioniert der ganze Chat nicht, ein streaming-Frame mehr oder weniger tut da nichts. Mach es einfach wie alle anderen auch, nämlich gar nicht. HTTP ist nunmal ein statusloses, requestbasierten Protokoll welches sich für so ne Gimmicks wie automatisches Ausloggen nicht wirklich eignet. Verabschiede Dich von dem Gedanken, oder benutze Javascript (beim Browser-Schliessen noch schnell ein PHP-Script aufrufen, z.B. in einem Bild) oder obigen Workaround. Gesundheit Wagner -- 'When the computer industry is at a low, beer drinking is at a high.' Jon 'maddog' Hall said. By combining both industries into a single course you can make sure you always have a job.
php::bar PHP Wiki - Listenarchive