Avatar billede jenzentm Nybegynder
07. april 2004 - 13:10 Der er 6 kommentarer og
1 løsning

Automatisk logout i PHP

Hejsa. Jeg sidder og roder med et stort web baseret program. Jeg ved at usere i dag er dovne og ikke gider at trykke på et logout link på siden. Derfor er jeg nødt til at lave automatisk logout.

Ja jeg har læst man kan bruge body unload men den skal jo ikke logge dem ud når de trykker på et link i menuen.

Desuden har jeg læst om timeout men det er heller ikke optimalt for hvis man pludselig lige har glemt noget skal man vente 20 min. før man kan logge ind. Det holder bare ikke.´

Jeg kan give jer et eksempel på hvad jeg gerne vil have. Hvis i hopper ind på http://www.nightleif.dk og browser videre til en anden side derfra eller lukker jeres browser så kommer der en meget lille popup i øverste venstre hjørne som er deres logout function (tilsyneladende).

Jeg vil have det samme eller noget lignende, men hvordan laver man det??

(Nightleif.dk er også lavet i PHP)

[]JenZen
Avatar billede hmortensen Nybegynder
07. april 2004 - 13:28 #1
de bruger den her:

<script language="JavaScript">
function PopLogOff() {
InfoWin = window.open('/pages/logoff.php', '_blank', 'height=10,width=10,top=0,left=0');
}

</script>

OnBeforeUnload="PopLogOff();"
Avatar billede coderdk Praktikant
07. april 2004 - 14:27 #2
Man kunne gøre det med en slags javascript af den art hindu skriver, men den vil logge dig af når du skifter side ;) Også på dit eget site... - med mindre selvfølgelig dit site er i frames, som nightleif's er!

På alm. sider kunne det gøres sådan:

<script type="text/javascript">
  var logoff = 1;
  function doLogOff()
  {
    if (logoff) {
      i = new Image();
      i.src = '/sti/til/dit/logoff.script.php';
    }
  }
</script>

og i <body>:

<body onunload="doLogOff()">

Dette kræver at du på alle dine links laver ting som:

<a href="et.script.php" onclick="logoff=0">tekst</a>

Det kan sikkert laves smartere... Man kunne måske løbe alle links igennem på siden med javascript og se om de linker eksternt. Alle der ikke gør kunne man sætte onclick og logoff=0 på...
Avatar billede hmortensen Nybegynder
07. april 2004 - 14:38 #3
Og frames er jo ik lige det fedeste...
Avatar billede jenzentm Nybegynder
07. april 2004 - 16:07 #4
Jeg lavede en usynlig frame og indsatte den function hindu skrev. Så virkede det fint. Kan du ikke lave et svar hindu så du kan få nogle points?

[]JenZen
Avatar billede hmortensen Nybegynder
07. april 2004 - 17:15 #5
Svar
Avatar billede coderdk Praktikant
07. april 2004 - 18:20 #6
Bare lige, du kan bruge lidt af min løsning også - det er lidt grimt med at åbne en popup, og folk med Googlebar o.l. vil sikkert blokere den, og så bliver folk ikke logget ud. Kald i stedet logoff scriptet som et billede:

i = new Image();
i.src = '/sti/til/dit/logoff.script.php';

Det virker fint ;)
Avatar billede jenzentm Nybegynder
11. april 2004 - 13:55 #7
Hejsa igen. Nu er der problemer igen. Jeg brugte billedet for at slippe af med popuppen. MEN!!! Når jeg gør det når den ikke at loade siden færdig inden browseren lukker. Et billede loader jo ikke færdigt når det loades. Selvom jeg bruger OnBeforeUnload virker det ikke. Den når ikke at køre siden. Hvad kan jeg gøre? Noget med en preloader eller sådan noget?

[]JenZen
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