Tom: Datenbankeintrag bei verlassen des Dokuments löschen

Beitrag lesen

Hello,

Ich möchte beim Verlassen einer Seite Datensätze aus einer Datenbank löschen.
Es sollen dazu keine weiteren Aktionen notwendig sein. Soetwas in der Art wäre "onUnload" wäre optimal.

Mit HTTP geht das eigentlich nicht. Uneigentlich aber schon. Auch PHP stellt da eine Möglichkeit zur Verfügung. Das ist aber nicht sehr schön eine tiefere Protokollschicht zu "vergewaltigen", weil das ganze Pronzip der Internet-Client-Server-Technik damit gestört wird. In verbindungsorientierten lokalen Netzen ist das nicht so problematisch. Da hat man auch genug Bandbreite um von hunderten von Clients die "still alive" Rückmeldung einzusammeln.

Schau Dir mal da Testscript an.
Es macht nich nicht das, was es soll.
Insbesondere kann ich von einem Client (IE5.5) auch nur drei laufende Instanzen erzeugen. Ich weiß allerdings nicht, ob es jetzt am Client, oder am Server liegt.

<?php #### control_center_02.php ####

ini_set("track_errors","1");
$php_errormsg;

set_time_limit(0);
$pid = getmypid();

echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.1 Transitional//EN">\n";
echo "<HTML>\n";
echo "<HEAD>\n";
echo "  <TITLE>Dauerlauf</TITLE>\n";
echo "</HEAD>\n";
echo "<BODY>\n";

$ok = ignore_user_abort(true);  ## Script läuft bei abort weiter

echo "User-Abort vor der Einstellung ".($ok?'true':'false')."<br />";
echo "User-Abort nach der Einstellung ".(ignore_user_abort()?'true':'false')."<br />";
flush();

diese Schleife läuft solange, bis der Client einen Abbruch sendet

while (!connection_aborted())
{
  echo "$pid ".time()." lebt noch<br />";
  flush();
  sleep(2);
}

Hier wäre die Stelle, an der man die DB-Löschungen machen könnte.

Ersatzweise lebt das Script jetzt noch 30 Sekunden. danach sollte der Prozess

aus der Prozessliste verschwinden.

mail('tom@example.com',"prozess: $pid","Prozess $pid stoppt gleich ".date('H:i:s'));
sleep(30);
mail('tom@example.com',"prozess: $pid","Prozess $pid stoppt jetzt ".date('H:i:s'));

echo "</body>\n";
echo "</html>";
?>

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau