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 ?
Du gemmer da forhåbentlig ikke $level i en cookie, hvis det er brugerens niveau på siden?
Ellers for at slette en cookie, skriver du bare setcookie("navnet", FALSE);
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 ?
Nej vent. det er en session som starter.hmm
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?
Session eller cookie? .. Til session kan session_destroy() benyttes..
Det er session. så prøver lige at lege med det. skriver om lidt :)
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();
}
?>
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();
}
?>
16. juli 2007 - 16:50
#10
okay.
16. juli 2007 - 16:54
#11
unset($_SESSION['password'])
unset($_SESSION['brugernavn'])
unset($_SESSION['level'])
session_destroy er lidt overkill.
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?
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.
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..
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 ;)
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?
16. juli 2007 - 17:13
#17
Det virker ihvertfald ;)
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.. :)
16. juli 2007 - 17:22
#19
nårh okay. Jamen så kan begge metoder til mit brug ;) Tak for det!
16. juli 2007 - 17:25
#20
Så lidt..
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.
17. juli 2007 - 00:57
#22
Så hold da din kæft - disse "virtuelle" point er lige så lidt værd som ét sandkorn..
21. januar 2009 - 09:58
#23
craliz2?
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.
Vi tilbyder markedets bedste kurser inden for webudvikling