Avatar billede zarathustra Nybegynder
19. august 2001 - 14:39 Der er 2 kommentarer og
1 løsning

Session - logout

Jeg forsøger at lave en log-ud funktion, som sletter den igangværende session, men kan ikke få det til at virke. Selvom jeg har afviklet mit logout-program, så er det stadigvæk muligt at hhv. bruge tilbage-knappen i browseren eller endda taste urlen (som ellers burde være beskyttet).

Det ENESTE, som virker er at lukke browseren ned - eller blot åbne et nyt vindue. Kan det ikke blive anderledes?

Jeg har forsøgt med:

<?
  session_start();
  $old_user = $valid_user; 
  $result = session_unregister(\"valid_user\");
  session_destroy(\"valid_user\");
?>

Jeg har også forsøgt med session_unset(); - men også uden held.


Hele min logout-fil ser således ud:
<?
  session_start();

  $old_user = $valid_user; 
  $result = session_unregister(\"valid_user\");
  session_destroy(\"valid_user\");
?>

<html>
<body>
<h1>Log out</h1>
<?
  if (!empty($old_user))
  {
    if ($result)
    {
      echo \"Logged out.<br>\";
    }
    else
    {
    echo \"Could not log you out.<br>\";
    }
  }
  else
  {
    echo \"You were not logged in, and so have not    been logged out.<br>\";
  }
?>

</body>
</html>
Avatar billede wizprod.com Nybegynder
19. august 2001 - 14:42 #1
Læs manualen:

http://php.net/manual/en/function.session-destroy.php

Du skal ikke give et parameter i session-destroy
Avatar billede lanworld_rippie Nybegynder
19. august 2001 - 22:34 #2
damn hvad har du gang i ?

er det ikke meget nemmere at lave flg.

<?
session_start(); // går ud fra hans id eller nick eller noget følger ham

session_unregister(var1);
session_unregister(var2);
session_unregister(var3);
session_unregister(var4);
session_destroy();
echo \"You are logged out\";

så sørg for at der er link tilbage til forsiden eller noget eller at de automatisk går videre til en anden side ved hjælp af meta refresh *s*
Avatar billede zarathustra Nybegynder
20. august 2001 - 09:19 #3
Intet fungerede (session_destroy, session_unset eller session_unregister) så jeg måtte tage mere drastiske metoder i brug! Her er resultatet:

session_start();

  $old_user = $valid_user; 
  $result = session_unregister(\"valid_user\");
  session_destroy();
  unlink(session_save_path().\'/sess_\'.$PHPSESSID);
  setcookie(\'PHPSESSID\',\'\',time()-3600,\'/\');
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