Avatar billede tobrukDk Novice
21. marts 2012 - 17:59 Der er 5 kommentarer og
1 løsning

Log ud system virker ikke som det skal.

Hej

Jeg er i gang med at lave et log ud system og det er sådan at det ikke helt vil virker lige nu da den bare gå over til filen og så ske der ingen ting :(

<div id="topright">
            <ul>
                <li><a href="logud_function.php">Log ud</a></li>
            </ul>
        </div>


og så hedder den her fil logud_function.php


<?php
session_start();
include ("database.php");

  if(isset($_SESSION['admin'])) {
      session_destroy();
      header("Location: index.php");
            exit();

  } else {
      header("Location: index.php");
            exit();
  }
  ?>
Avatar billede heinzdmx Nybegynder
21. marts 2012 - 19:00 #1
Ikke at det har nogen inflydelse, men hvorfor include database-filen når det eneste der sker er en redirect? :)

Men er det muligt at din session ikke hedder admin, men hedder noget andet? :)

Nu er det noget tid siden jeg har arbejdet med session, men destroy kan vel også bare kaldes uden at der skal være noget i den?

Så kommer koden til at se sådan ud:

<?php
session_start();

session_destroy();

header("Location: index.php");
exit();
?>


Virker det?
Avatar billede inteeeL Nybegynder
21. marts 2012 - 19:09 #2
Hvorfor overhovedet bruge exit()-funktionen? Uanset hvad bliver brugeren/besøgeren redirectet til index.php. Det burde dog ikke betyde noget, men det er stadig overflødigt og unødvendigt at have med. Men helt enig med heinzdmx - inkludering af database-filen samt et tjek om $_SESSION['admin'] er sat er er ikke nødvendigt. :-)
Avatar billede tobrukDk Novice
21. marts 2012 - 19:54 #3
#1 & 2 Ja okay det kan jeg godt se hvad i mener :)

#1 vil du have noget for hjælpen ?
Avatar billede heinzdmx Nybegynder
21. marts 2012 - 20:09 #4
Jeg smider et svar her :)

Angående #2 så tyder bl.a. følgende på at det er en ting der kan være nødvendig:
http://forums.whirlpool.net.au/archive/424447
Avatar billede inteeeL Nybegynder
21. marts 2012 - 20:22 #5
#4. Det er da også rigtigt. Det er kun die() og exit() der standser udførelsen af resten af scriptet. Selvom scriptet fortsætter efter en header(), når man jo aldrig at se den kode, da man når at blive smidt videre til den nye side. Har personligt aldrig oplevet, at PHP har forsat udførelsen af scriptet efter header().. Man lærer jo noget nyt hver dag. :-)
Avatar billede tobrukDk Novice
21. marts 2012 - 20:29 #6
Super og tak og jeg kigger på det :D
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