Avatar billede larma Nybegynder
24. marts 2006 - 18:37 Der er 6 kommentarer og
1 løsning

Lave en logud link

Hei.

Jeg har et log in/ud skript, som virker fint. Men jeg skal ha en link som logger brukeren ud. Dette kan jeg ikke helt få til å virke. Jeg har forsøkt med understående oppsett av link, men det virker ikke.

<a href=$PHP_SELF?logut=true>Logg ut</a>

Hvor jeg i en ekstern fil har denne koden som sletter sessions, så det ikke skal gå å trykke tilbake i browseren, og så komme inn igjen (filen kalles i toppen av hver side).

if($_GET['logut'] == "true")
{
  $_SESSION = array();
  session_destroy();
}

Har noen et forslag på hvordan log ud linken skal være. Så jeg nemt kan få kørt det session_destroy "skriptet" ?

Har også forsøkt med en session som settes til "true" når man logger inn, og som skal settes til "false" når man trykker på log ud linken. Men vet ikke helt hvordan jeg skal få den sessionen til å bli "false" lige når man trykker på linken.

Mvh
Lars
Avatar billede michael_stim Ekspert
24. marts 2006 - 18:47 #1
if(isset($_GET['logut']))
{
  $_SESSION = array();
  session_destroy();
}
Avatar billede michael_stim Ekspert
24. marts 2006 - 18:48 #2
if(isset($_GET['logut']) && $_GET['logut']=="true")
{
  $_SESSION = array();
  session_destroy();
}
Avatar billede razor Nybegynder
25. marts 2006 - 13:56 #3
Har du husket at koere session_start() foer session_destroy()?
Avatar billede larma Nybegynder
27. marts 2006 - 21:19 #4
Ja jeg har session_start() først på alle mine sider. Så det skal være i orden. Sånn jeg ser det så er det noe forkert med min "logud" link. Jeg må måske sette den opp på en anne måte. Fordi min if setning if(isset($_GET['logut'])) får ikke tak i det den skal i adresse feltet.

michael stim: Jeg hadde if(isset($_GET['logut'])) i min kode, jeg hadde lige pastet forkert kode ;)

Si at den siden som man skal bli rederectet til når man trykker på logud linken er: http://startside/ (man blir redirectet hit ved hjelp av header Location om man trykker på logud). Hvordan skal mitt logud link da se ut: <a href=http://startside/$PHP_SELF?logut=true>Logg ut</a> ??

Mvh
Lars
Avatar billede michael_stim Ekspert
27. marts 2006 - 22:17 #5
<a href=<?php echo $_SERVER["PHP_SELF"]; ?>?logut=true>Logg ut</a>

Pröv at lave dit link sådan her.
Avatar billede larma Nybegynder
27. marts 2006 - 23:06 #6
Takker så mye michael stim. Det virket perfekt. Men jeg bruger lige <a href=<?php echo $_SERVER["PHP_SELF"]; ?>?logut>Logg ut</a>. Jeg har tatt bort logut=true. Det er vel fint nok? Det var vel egentlig lige unødvendig og ha med logut=true, eller er det noen fordel ved det?

For at den skal logge ud, når man trykker på linken kjøres dette skriptet fra en ekstern fil:

if(isset($_GET['logut']))
{
  $_SESSION = array();
  session_destroy();
  header("Location:http://startside");
  exit();
}

Gir du et svar michael stim så får du dine points.
Avatar billede michael_stim Ekspert
28. marts 2006 - 08:50 #7
OK. =true er mere et ekstra check, men det kører uden.
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

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