Avatar billede sorenmh Nybegynder
23. august 2000 - 18:28 Der er 13 kommentarer og
1 løsning

onunload

Findes der en funktion der hedder onunload?
Jeg er ikke særlig kendt ved javascript, men jeg har en PHP funktion som jeg gerne vil have udført ved nedlukning af et vindue eller hvis brugeren forlader siden... Kan jeg gøre dette?
Avatar billede olberd Nybegynder
23. august 2000 - 19:00 #1
Du kan kalde funktionen sådan her:

<body onunload=\"dosomething();\">

<script language=\"javascript\">
function dosomething(){
blabla \'kald fx dit php script
}
</script>
Avatar billede sorenmh Nybegynder
23. august 2000 - 20:03 #2
Det virker ikke... Jeg har placeret mit PHP script inden i javascript funktionen, som du forslog. Men mit script bliver udført ligemeget om man forlader siden eller ej.
Her er scriptet:

<script language=\"javascript\">
function logud(){
<?
if($login == ok) {
include(\"connect.PHP3\"); // denne her connecter til MySQL
$query = mysql_query(\"UPDATE spillere SET ip = 0,aktiv = 0 WHERE brugernavn = \'$brugernavn\'\");
}
?>
}
</script>

Er der nogen fejl i det?

Er det muligt at køre MySQL igennem javascript, kan de to sprog arbejde sammen?

Findes der en komplet dokumentation til javascript?
Avatar billede sorenmh Nybegynder
23. august 2000 - 20:18 #3
Avatar billede olberd Nybegynder
23. august 2000 - 21:23 #4
Nej nej ikke sådan...

Du skriver:

<script>
function logud(){
location.href = \'blabla.php\'  // blabla.php indeholdende dit script
}
</script>

Jeg tror nok det virker.. Jeg har ikke afprøvet det!
Avatar billede olebole Juniormester
23. august 2000 - 22:01 #5
documet.location.href = ........
Så skal det nok funke  ;o)
Avatar billede sorenmh Nybegynder
24. august 2000 - 09:47 #6
kan jeg lave det sådan at funktionen kun bliver aktiveret hvis man forlader sitet, uden at skulle lave en usynlig frame?
Avatar billede olberd Nybegynder
24. august 2000 - 21:19 #7
Tjah, sikkert...

Du kan jo prøve at gå ind på et par warez sider og prøve at kopiere deres teknikker :-)

www.t50.com

Dem jeg har kigget i koderne bruger ikke <body> metoden, så vidt jeg kunne se.. Men på den anden side kunne jeg heller ikke finde ud af hvordan de gjorde det :-)

Jeg har nu heller ikke forsøgt vildt seriøst..

Du kunne måske også bruge global.asa til at løse problemet, men hvordan har jeg ikke lige regnet ud endnu :-)

Måske noget med \'Session_OnEnd\'
Avatar billede olberd Nybegynder
24. august 2000 - 21:21 #8
PS. OLEBOLE...

Du skrev forkert det er ikke:
documet.loca.....

men derimod:
document.location.href =....
Avatar billede olebole Juniormester
25. august 2000 - 00:23 #9
Stavefejl...Ja - forståelsesfejl...Nej  ;o))

At gå ind på www.t50.com og kopiere deres teknik er nok noget nær det værste, du kan gøre!

De kører META-tags efter </head>, starter body TO gange - anden gang EFTER <center>...!?!
Meeeen så \'retter\' de så sandelig også op på tingene ved at slutte med TO </body>-tags og TO </html>-tags!  :oD
De roder rundt og kan ikke finde ud af at skrive korrekte <form>-, <font>- <center>- eller <b>-tags!
De slår fast med syv-tommers søm, at de ikke kan skrive brugbar HTML-kode...men bevares - det KAN da være, der et par huller mellem fejlene!

Iøvrigt skriver de \'onunload=\"xit()\"\' i <body>...i BEGGE <body>-tags  ;o)

De giver helt ny mening til begrebet \'at skodde\'!
/Vh
Avatar billede erikjacobsen Ekspert
25. august 2000 - 00:28 #10
sorenmh: Hvis du bruger den der onunload, kan du ikke være 100% sikker på den
bliver udført. Lukker en bruger sin browser, eller går den ned, eller strømmen går, eller
forbindelsen ryger sig en tur (brug din fantasi), bliver onunload IKKE udført. Det sker
kun hvis man går til en anden side. Det ser ud til, at du registrerer brugere, og du kan altså
risikere at have en bruger hængende meget længe !
Avatar billede olebole Juniormester
25. august 2000 - 00:47 #11
En cookie-løsnng med et passende expire-tidspunkt, vil nok være bedre.

Erik >> det med lukning af browservinduet og \'onunload\' må være en PC-specifik ting, selvom det selvfølgelig også er rigeligt  ;o)
/Vh
Avatar billede erikjacobsen Ekspert
25. august 2000 - 08:25 #12
IE4 reagerer vist på det onunload, mens NS4.5 vist ikke gør.
Avatar billede sorenmh Nybegynder
25. august 2000 - 12:02 #13
Brugerene ligger i en db, hvor deres forrige ip ligger gemt... Hvis de glemmer at logge ud, så bliver ip\'en liggende, det vil sige at hvis man prøver at logge ind fra samme pc, med samme ip fra adresselinien(tilføj \"?brugernavn=(bruger)\"), så kan man logge sig ind under en andens brugernavn, ellers ikke, så sikkerheden er ok...
En cookie kan ikke udføre en handling og derfor ikke slette en bruger fra databasen, så det kan jeg ikke bruge. Jeg vil ikke bruge cookies, fordi at sikkerheden bliver ringere, når man sidder ved en offentlig pc.
Jeg ved ikke hvor stort et antal der har valgt at slå cookies fra, men noget siger mig at det ikke er særlig mange. Er der nogen her der ikke bruger cookies?
Avatar billede olebole Juniormester
25. august 2000 - 20:51 #14
Erik >> Det er nok fordi, jeg sidder med NS 4.8  ;o)

sorenmh >> Er du logget på Eksperten, har du vel ikke slået cookies fra  ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester