Avatar billede craliz2 Nybegynder
15. juli 2007 - 23:46 Der er 24 kommentarer

Log out script!

Hej. Er her en der kan lave et logout script for mig som fjerner cookies: $brugernavn og $password og $level  ?
Avatar billede Slater Ekspert
16. juli 2007 - 01:50 #1
Du gemmer da forhåbentlig ikke $level i en cookie, hvis det er brugerens niveau på siden?
Avatar billede Slater Ekspert
16. juli 2007 - 01:53 #2
Ellers for at slette en cookie, skriver du bare setcookie("navnet", FALSE);
Avatar billede craliz2 Nybegynder
16. juli 2007 - 08:39 #3
Jo, det gør jeg ? Hvorfor skulle det være en dum ide? Man kan jo ikke bare indsætte et lvl i sin egen cookie, da brugernavn og password skal være overens med lvl ?
Avatar billede craliz2 Nybegynder
16. juli 2007 - 08:45 #4
Nej vent. det er en session som starter.hmm
Avatar billede majbom Novice
16. juli 2007 - 09:22 #5
det er rimelig usmart at gemme brugerens "rettigheder" i en cookie, da den så kan ændres af brugeren...
men hvis den tjekker op på det når du logger ind, altså i forhold til databasen gøre det jo ikke noget, men hvorfor så gemme det i cookien overhovedet?
Avatar billede cronick Nybegynder
16. juli 2007 - 15:36 #6
Session eller cookie? .. Til session kan session_destroy() benyttes..
Avatar billede craliz2 Nybegynder
16. juli 2007 - 16:26 #7
Det er session. så prøver lige at lege med det. skriver om lidt :)
Avatar billede craliz2 Nybegynder
16. juli 2007 - 16:35 #8
Har lige lavet det her. Og det virker skam også :) vil bare lige høre om der er noget der ikke behøves at være der :)

<?php
session_start();
if(!isset($_SESSION['password'])) {
    echo "<font color='#FFFFFF'> Du er ikke logget ind!";
} else
if($_SESSION['level'] >= "2") {
require_once('connect.php');
$data = mysql_query("SELECT * FROM brugere WHERE login = '" . $_SESSION['brugernavn'] . "' AND password = '" .

$_SESSION['password'] . "'") or die(mysql_error());
        $num = mysql_num_rows($data);
     
            session_unset();
            session_destroy();
        }
?>
Avatar billede cronick Nybegynder
16. juli 2007 - 16:42 #9
Hvis dette er hele indeholdet af filen, kan du formentlig nøjes med:

<?php
session_start();
if(!isset($_SESSION['password'])) {
  echo "<font color='#FFFFFF'> Du er ikke logget ind!";
} else if($_SESSION['level'] >= "2") {
  session_destroy();
}
?>
Avatar billede alfetch Nybegynder
16. juli 2007 - 16:50 #10
okay.
Avatar billede windcape Praktikant
16. juli 2007 - 16:54 #11
unset($_SESSION['password'])
unset($_SESSION['brugernavn'])
unset($_SESSION['level'])

session_destroy er lidt overkill.
Avatar billede cronick Nybegynder
16. juli 2007 - 16:58 #12
session_destroy er ikke spor "overkill", hvis han ikke har andre sessions i spil, som ikke skal slettes.. Har du det, craliz2?
Avatar billede windcape Praktikant
16. juli 2007 - 17:01 #13
session_destroy sletter sessionen, og derfor skal du f.eks. kalde session_start() igen for at få tildelt et nyt SID.

Meget mere fornuftigt at bruge unset, man bør også som programmør have styr over hvad man laver , og ikke bruge KILL-ALL løsninger fordi man er doven/uvidende.
Avatar billede cronick Nybegynder
16. juli 2007 - 17:07 #14
Jeg kigger på hvad craliz2 ønsker - ikke hvad der windcap'tisk er korrekt. Du kan kalde det dovenhed eller uvidenhed, men faktum er, at til hans behov, virker denne KILL-ALL som den skal. Han ville vide om der var noget der ikke behøvedes at være dér, hvilket jeg vil sige at dine tre unset's teknisk set ikke gør..
Avatar billede alfetch Nybegynder
16. juli 2007 - 17:07 #15
er mig der er craliz2. skrev bare fra en vens computer. ja, altså der er jo andre der har brugere på siden. så det er vel smartest med unset ;)
Avatar billede alfetch Nybegynder
16. juli 2007 - 17:10 #16
Ikke noget at diskutere om. Men det nytter vel ikke at bruge destroy session hvis der er en anden som logger ud, for så dræber den vel alle?
Avatar billede alfetch Nybegynder
16. juli 2007 - 17:13 #17
Det virker ihvertfald ;)
Avatar billede cronick Nybegynder
16. juli 2007 - 17:17 #18
Craliz2 / Alfetch - nej den dræber selvfølgelig kun ens egen, da sessions bliver gemt i ens browser, og kan derved ikke nås af en anden person.. :)
Avatar billede alfetch Nybegynder
16. juli 2007 - 17:22 #19
nårh okay. Jamen så kan begge metoder til mit brug ;) Tak for det!
Avatar billede cronick Nybegynder
16. juli 2007 - 17:25 #20
Så lidt..
Avatar billede windcape Praktikant
16. juli 2007 - 22:13 #21
cronick det kan godt være at du er pointridder, men jeg kigger altid på den korrekt løsning, ikke bare hvad brugen ønsker.

Dette lærer folk noget af, istedet for bare at få deres behov tilfredsstillet for virtuelle pointers. Du burde selv hører efter og tage ved lære engang imellem.
Avatar billede cronick Nybegynder
17. juli 2007 - 00:57 #22
Så hold da din kæft - disse "virtuelle" point er lige så lidt værd som ét sandkorn..
Avatar billede majbom Novice
21. januar 2009 - 09:58 #23
craliz2?
Avatar billede cronick Nybegynder
21. januar 2009 - 12:17 #24
Wow. Det er godt nok et stykke tid siden nu, men beklager min tidligere latterlige opførsel. En undskyldning går hermed naturligvis til windcape.
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