EKKi: Aktion beim Beenden der Seite ausführen

Beitrag lesen

Mahlzeit,

Auch auf die Gefahr hin, dass die Frage dämlich ist:
Was bringt mir der Fakt dass ich einen Request an den Server stelle?

Ja, die Frage ist dämlich.

Bitte beantworte folgende Frage: Was genau möchtest Du beim Verlassen der Seite erreichen?

[_] Der Benutzer soll irgendwas sehen.

[_] Es sollen irgendwelche Daten in irgendeine Datenbank eingetragen werden.

Wenn letzteres der Fall ist, beantworte bitte folgende Frage:

[_] Um irgendwelche Daten in irgendeine Datenbank einzutragen, muss der Benutzer irgenwas sehen.

[_] Um irgendwelche Daten in irgendeine Datenbank einzutragen, müssen diese Daten auf irgendeine Weise an den Server übertragen werden.

Wenn letzteres der Fall ist, beantworte bitte folgende Frage:

[_] Wenn ich Daten an den Server übertragen will, muss der Benutzer irgendwas sehen.

[_] Wenn ich Daten an den Server übertragen will, muss ich nur diese Daten an den Server SCHICKEN (per Anfrage mittels GET oder POST), sonst nichts. Der Server hat die Daten dann bekommen und kann sie verarbeiten.

Wenn letzteres der Fall ist ... wieso jammerst Du dann immer rum, dass irgendwelche Popups nicht aufgehen oder der Benutzer dieses oder jenes nicht sieht? Es interessiert Dich schlicht einfach nicht - Hauptsache, der Server hat bekommen, was er bekommen soll.

Wenn Du jetzt immer noch nicht verstanden hast, was ich meine, lies Dich bitte nochmal intensivst in die Client-Server-Kommunikation bei HTTP ein ... wenn Du die Grundlagen nicht kennst, hat es keinen Sinn, Dir etwas erklären zu wollen.

Ich kann zwar halbwegs programmieren, aber gerade die Kommunikation zwischen Client & Server ist teilweise noch ein wenig unklar für mich. Wenn ich einen Request an den Server stelle, wie kann ich dann einen PHP Code ausführen ohne dafür die Datei zu öffnen???

Indem Du diesen Request an das entsprechende PHP-Skript stellst und diesem entsprechende Werte (per GET oder POST) übergibst? PHP wird auf dem Server ausgeführt, nicht auf dem Client. Und es ist für die Verarbeitung auch vollkommen unerheblich, ob Output generiert wird oder nicht, ob dieser an den Client geschickt wird oder nicht und ob der Client diesen überhaupt empfängt und darstellt oder nicht.

Dir fehlen anscheinend wirklich die Grundlagen. Bitte informiere Dich darüber, wie die Kommunikation zwischen Server und Client funktioniert und welche Art von Skript wo ausgeführt wird.

Ausserdem kommt Opera leider komplett nicht mit onbeforeunload zurecht. :(

Das ist doch egal!

Warum, es soll doch auch mit Opera richtig funktionieren.

Dann nimm "onunload()". Jonathan hat Dir im Übrigen deutlich gemacht, dass Du Dich eben NICHT darauf verlassen kannst, dass Dein Verfahren ÜBERHAUPT funktioniert ... egal mit welchem Browser. Wenn Du diese Tatsache nicht akzeptieren willst, sag Bescheid.

@EKKI:
Ich probier doch aus was ihr hier vorschlagt, aber zum einen hat davon nichts so funktioniert wie ich es brauche, und bisher lief eigentlich alles auf onunload oder onbeforeunload hinaus, und dass ist, laut euch (und ich stimme ja zu), unzuverlässig.

Das ist nicht wahr. Du hast mit alerts herumprobiert. Das hat nichts mit Deiner eigentlichen Problemstellung zu tun - Du wolltest einen Request an den Server absenden ... hast Du das versucht?

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|