Sletning fra tabel når browseren lukkes.

Tags:    php

Jeg var lidt i tvivl om dette spørgsmål skulle lægges i JavaScript-forummet eller her, men nu blev det her.

Jeg har en side med et loginsystem det tilføjer en linie med brugernavnet i tabellen loggedin så man kan se en liste med navnene på dem derer logget ind. Når man logger ud fjernes denne linie så. Problemet opstår hvis man lukker browseren i stedet for at logge ud. Så fjernes denne linie ikke og man står stadig som online (selvom man er logget ud). Mit spørgsmål er derfor: Hvordan laver jeg en funtion det sletter en linie fra databasen når man lukker vinduet?



/Andreas Møgelmose

----
Don't take life too serious, you'll never escape it alive anyway.



5 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Kan ikke rigtig JavaScript, men virker dette:

<pre><script>
window.onunload = function() {
window.open("logout.php", "logOutWin", "width=100, height=100");
}
</script></pre>

mikl | mikl@mikl.dk | MSN: mikl@mikl.dk

Nej, det virker ikke helt som det skal. Dels dukker pop-up'en op hver gang jeg trykker på et link, dvs. ikke kun når jeg lukker browseren. Dels sletter dokumentet logout.php af en eller anden grund ikke noget som helst. Min logout.php ser sådan her ud:

<?PHP

$db = mysql_connect("localhost","brugernavn","kodeord");
mysql_select_db("databasenavn", $db);


mysql_query("DELETE FROM loggedin WHERE name = '$name'");


?>

/Andreas Møgelmose

----
Don't take life too serious, you'll never escape it alive anyway.


ovenover mangler du at definere $name. Jeg ville dog gøre det på en anden måde: med timeout.
Der skal være en ekstra kolonne i tabellen med en tid. Hver gang man loader en side, skal tiden, for den bruger der loader, opdateres, og alle tider der er for gamle slettes.



Det skal du gøre i JavaScript, men hvis man har disablet det, så virker det jo ikke.

mikl | mikl@mikl.dk | MSN: mikl@mikl.dk



Det skal du gøre i JavaScript, men hvis man har disablet det, så virker det jo ikke.

mikl | mikl@mikl.dk | MSN: mikl@mikl.dk


Men hvordan?


/Andreas Møgelmose

----
Don't take life too serious, you'll never escape it alive anyway.



Kan ikke rigtig JavaScript, men virker dette:

<pre><script>
window.onunload = function() {
window.open("logout.php", "logOutWin", "width=100, height=100");
}
</script></pre>

mikl | mikl@mikl.dk | MSN: mikl@mikl.dk



Kan ikke rigtig JavaScript, men virker dette:

<pre><script>
window.onunload = function() {
window.open("logout.php", "logOutWin", "width=100, height=100");
}
</script></pre>

mikl | mikl@mikl.dk | MSN: mikl@mikl.dk


Nej, det virker ikke helt som det skal. Dels dukker pop-up'en op hver gang jeg trykker på et link, dvs. ikke kun når jeg lukker browseren. Dels sletter dokumentet logout.php af en eller anden grund ikke noget som helst. Min logout.php ser sådan her ud:

<?PHP

$db = mysql_connect("localhost","brugernavn","kodeord");
mysql_select_db("databasenavn", $db);


mysql_query("DELETE FROM loggedin WHERE name = '$name'");


?>

/Andreas Møgelmose

----
Don't take life too serious, you'll never escape it alive anyway.



t