Avatar billede rasmus_a Nybegynder
25. november 2004 - 18:13 Der er 14 kommentarer og
1 løsning

Fjerne variabler (logout)

Hej

Jaw, hjalp mig tidligere på måneden med dette login script: http://www.eksperten.dk/spm/562497

Siden her jeg puslet lidt med det og det virker som det skal i dag. Jeg mangler dog en "log ud" funktion. Når siden starter tester den følgende;

if(!isset($brugernavn)){

dvs jeg skal have et tekst link som fjerner variablerne $brugernavn og $adgangskode og derefter viser en anden side.
Avatar billede iss Novice
25. november 2004 - 18:23 #1
Kunne du ikke poste hvordan din kode ser ud nu? Der er jo 200 eksempler på den side.
Avatar billede bojo Nybegynder
25. november 2004 - 18:34 #2
Avatar billede rasmus_a Nybegynder
25. november 2004 - 18:53 #3
tester lige senere, tak bojo
Avatar billede rasmus_a Nybegynder
25. november 2004 - 22:28 #4
is, jeg bruger det her.

<?PHP
   
session_start();

mysql_connect("localhost","","");
mysql_select_db("");


$adgangskode = $_POST['adgangskode'];
$brugernavn = $_POST['brugernavn'];

$q = mysql_query("SELECT brugernavn FROM brugere WHERE brugernavn = '$brugernavn' AND adgangskode = '$adgangskode'");
if(mysql_num_rows($q) > 0) {
$_SESSION['brugernavn'] = $brugernavn;
echo "";
} else {
//ikke logget ind...
echo "";
}
?>

bojo: jeg  har bruger nu denne funktion til at logge ud:

unset($brugernavn, $adgangskode); men det virker vist kun lokalt.
Avatar billede rasmus_a Nybegynder
25. november 2004 - 22:32 #5
man skal altså med andre ord normalt lukke browseren HELT ned før variablerne bliver slettet. Det skal man så bare kunne gøre med et  klik i stedet :)
Avatar billede iss Novice
25. november 2004 - 23:15 #6
Det er godt nok en gang slamkode det der.

Du vil bare have et login script der også kan logge ud ik'?
Avatar billede iss Novice
25. november 2004 - 23:32 #7
Ikke testet:

<?
//session
session_start();

// SQL
mysql_connect("localhost","","");
mysql_select_db("");


// logind
if (isset($_POST['Logind'])) {
    // sikkerhed
    $brugernavn = addslashes($_POST['brugernavn']);
    $adgangskode = addslashes($_POST['adgangskode']);
    // SQL
    $q = mysql_query("SELECT NULL FROM brugere WHERE brugernavn = '$brugernavn' AND adgangskode = '$adgangskode'");
    if (mysql_num_rows($q) > 0) $_SESSION['brugernavn'] = $brugernavn;
}

// logud
if (isset($_POST['Logud'])) {
    // stoppe session
    session_destroy();
    // slette session variablerne
    unset($_SESSION);
}

// tjek for logind
if(isset($_SESSION['brugernavn']) || ) {
// logget ind ?>
Du er logget ind
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
    <input type="submit" name="Logud" value="Logud">
</form>
<?
}
// ikke logget ind
else {?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
Brugernavn:<input type="text" name="brugernavn">
Password:<input type="password" name="adgangskode">
    <input type="submit" name="Logind" value="Logind">
</form>
<?
}?>
Avatar billede rasmus_a Nybegynder
26. november 2004 - 00:07 #8
lukker....
Avatar billede rasmus_a Nybegynder
26. november 2004 - 00:08 #9
ellers tak
Avatar billede iss Novice
26. november 2004 - 00:13 #10
Bare sig til en anden gang du ikke vil have hjælp.
Avatar billede phliplip Nybegynder
26. november 2004 - 00:19 #11
unset($_SESSION['brugernavn']);

Og for at checke om brugeren er logget ind:

if(isset($_SESSION['brugernavn'])){ echo("Logget ind"); }

I stedet for;

if(!isset($brugernavn)){ echo("_IKKE_ Logget ind"); }

Håber det hjalp
Avatar billede phliplip Nybegynder
26. november 2004 - 00:20 #12
iss: Hvis du siger hans kode er slam kode... hvad er så det du har lavet her..

// logud
if (isset($_POST['Logud'])) {
    // stoppe session
    session_destroy();
    // slette session variablerne
    unset($_SESSION);
}

Hvad hvis han bruger sessions til noget andet på siden, eller har gemt nogen andre session variabler?? Ja jeg spørg bare |-)
Avatar billede phliplip Nybegynder
26. november 2004 - 00:22 #13
iss: Og så 'batcher' du alt for meget efter min mening :-S
Avatar billede iss Novice
26. november 2004 - 00:25 #14
Ja, men din mening kan jeg så se ikke er en disse værd, så det er jo så bedøvenden.
Avatar billede phliplip Nybegynder
26. november 2004 - 00:29 #15
Fair nok :-/
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