Dennis: Daten per Cronjob verarbeiten wenn User Logout vergisst

Beitrag lesen

Hi Sir,

Kannst Du mit einem timeout arbeiten, wenn der Redakteur nach Hause geht?

Serverseitig? Ja, aber dafür musst du erst mal die Daten serverseitig hinterlegen ;-)

Oder ein onclose, wenn einfach die Seite gewechselt wird, bzw. der Browser geschlossen wird?

Das ist eine schlechte Idee, weil genauso unverlässlich wie das Zerstören der Session, da Javascript in vielen Fällen ausgeschaltet ist.

Martin, in diesem Fall würde ich dazu raten ein Speichermedium (z.B. MySQL Tabelle) auf dem Server anzulegen, in welchem du alle Änderungen protokollierst.

Als nächstes schreibst du dir ein (ebenfalls PHP) Script, welches dieses Speichermedium durchläuft und alle Einträge per Mail an den Administrator sendet und anschließend aus dem Medium löscht oder als bereits verarbeitet kennzeichnet (z.B. MySQL Feld ENUM('Yes', 'No')).

Dieses Script musst du dann nur noch per Cronjob in regelmäßigen Zeitabständen laufen lassen, mögliche Einträge in der Cronjob Tabelle könnten so aussehen:

m  h  dom mon dow   command

alle 30 Minuten

*/30 *  *   *   *     /usr/bin/php /absoluter/pfad/zum/script.php

morgens um 9 Uhr und abends um 20 Uhr

0  9  *   *   *     /usr/bin/php /absoluter/pfad/zum/script.php
  0  20 *   *   *     /usr/bin/php /absoluter/pfad/zum/script.php

Der Pfad /usr/bin/php kann je nach Server variieren, ein which php auf der Kommandozeile kann dir den Pfad verraten.

Viele Grüße,
  ~ Dennis.