Log OUT .. (PHP)

Tags:    php

Hey..

Jeg kan ikke rigtig finde ud af hvordan jeg skal lave en knap til at logge ud med, eller hvordan jeg gør så man automatisk blive logget ud når man lukker ens browser..

Jeg håber der er en der kan hjæle mig med dette problem, jeg ville være meget taknemlig..

På forhånd tak for din tid og interesse..

Mvh.
Zaiw



6 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hey..

Jeg kan ikke rigtig finde ud af hvordan jeg skal lave en knap til at logge ud med, eller hvordan jeg gør så man automatisk blive logget ud når man lukker ens browser..

Jeg håber der er en der kan hjæle mig med dette problem, jeg ville være meget taknemlig..

På forhånd tak for din tid og interesse..

Mvh.
Zaiw




til logout funktion gøres følgende.. set en cookie med en timer på
Hvis du vil sætte en cookie der er aktiv en time vil jeg gøre det således:
setcookie(”navn”,$navn, time()+3600);

Dette fortæller browseren, at cookien skal udløbe efter 3600 sekunder (60*60). Lad os nu sige at brugeren på din side logger ud. Og du derfor vil slette cookien igen med det samme og ikke vente en time, gøres dette ved at nulstille og slette cookien. Jeg ved på forhånd at den maks kan leve i 3600 sekunder, så det jeg gør, er at sætte levetiden 3600 sekunder ned.
setcookie(”navn”,””,time()-3600);


hvis du ikke sætter en time limit vil cookies slettes automatisk når browser lukkes

~Life is to short for windows~



Hvis det er med sessions (og ikke cookies) kan du bare bruge: session.destroy() kommandoen

-------------------------------
Hilsen Jimmi Westeberg
http://www.westsworld.dk



Jeg vil tillade mig at rette på mig selv efter Jimmis kommentar:

Du skal nok nærmere bruge
unset() i stedet for session_unset(). Du kan evt også blot tildele $_SESSION et tomt array - hvilket nok anbefales hvis det er alle session-variabler, du vil slette.

Hvis du destroy'er den, så skal du lave en ny session_start() for at benytte sessions igen - hvis du blot unsetter det, så er alle variabler i sessions blot "smidt væk" (unsettet). En kombination af dette gør, at først slettes variablerne, og derefter lukkes sessionen. Om det er nødvendigt vil jeg undlade at udtale mig om, men jeg synes selv, at det er en god skik, når det nu drejer sig om en log-ud-funktion.

Forskellige former for log-ud-funktioner:

Sletter alle sessionvariabler:
Fold kodeboks ind/udKode 


Sletter fx kun "userId":
Fold kodeboks ind/udKode 


Du kan også vælge, som Jimmi siger, at undlade session_destroy(), men til logud synes jeg at det er bedst at smadre det hele - med mindre du bruger andre sessionvariabler.

mikl-dk | mikl@mikl.dk



Hvordan er dit loginsystem lavet? Sessions eller cookies?

Og det er blot nødvendigt at sætte en cookie tilbage i tiden, før den slettes - dvs fx time() - 1, men det er rigtigt, at man blot plejer at substrahere den definerede levetid.

mikl-dk | mikl@mikl.dk



Nej, men tæt på :) Først session_unset() og så session_destroy() for at være sikker :) (du havde . i stedet for _ aka tastefejl)

mikl-dk | mikl@mikl.dk



Nej, men tæt på :) Først session_unset() og så session_destroy() for at være sikker :) (du havde . i stedet for _ aka tastefejl)

mikl-dk | mikl@mikl.dk


Ja... det havde jeg så..
Hvorfor skal sessionen unsettets først da? Den bliver jo destroyet og derfor bliver al dens data også "kastet væk"...

-------------------------------
Hilsen Jimmi Westeberg
http://www.westsworld.dk



t