Avatar billede cmau Nybegynder
10. april 2005 - 15:24 Der er 10 kommentarer og
1 løsning

Fra cookie til session

Hejsa. Jeg starter snart på at lave auto login til min hjemmeside, men ved ikke helt hvordan jeg laver cookien om til session, så man er logget ind. Den skal huske at tjekke om cookien med brugernavn og cookien med koden passer sammen. Ved godt jeg kan bruge if, men kan ikke lige komme i tanke om hvordan jeg skal finde indeholdet osv. (Det var en hård nat ;P)
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 15:30 #1
1. Ved login laver du en cookie som indeholder, hvis den ikke allerede findes

brugernavn , krypteret password

2. Hvis cookien findes, bruger du information fra cookien istedet for <form> og redirecter automatisk til loginsiden, og sætter et par sessions med værdierne.
Avatar billede dennismp Nybegynder
10. april 2005 - 15:31 #2
Finde indholdet? Af din cookie?

$_COOKIE['username'] ?
Avatar billede cmau Nybegynder
10. april 2005 - 15:35 #3
Men hvordan kommer jeg fra cookie til session?

Bare

$_SESSION[bla] = $COOKIE[bla];

og for at udskrive en cookie skriver jeg så bare

echo $_COOKIE;
Avatar billede dennismp Nybegynder
10. april 2005 - 15:36 #4
print $_COOKIE['blah'9;
eller
print_r($_COOKIE);

men ellers ja.
Avatar billede dennismp Nybegynder
10. april 2005 - 15:36 #5
print $_COOKIE['blah'9;
skal være
print $_COOKIE['blah'];

:)
Avatar billede cmau Nybegynder
10. april 2005 - 15:39 #6
Fint tak.. Smider i begge 2 svar, så i kan dele points?
Avatar billede sukos Juniormester
10. april 2005 - 15:40 #7
I starten af hver request, (efter session_start() !!!!!) kan du jo tjekke om cookien er sat,

if(isset($_COOKIE[["navn"], $_COOKIE["password"])) {

// lav tjek, og sæt session hvis det er ok..............
}
Avatar billede dennismp Nybegynder
10. april 2005 - 15:44 #8
evt lave

if(!$_SESSION['authenticated']) {
  // Se på småkagerne
}
Avatar billede cmau Nybegynder
10. april 2005 - 15:46 #9
Og med "Se på småkagerne" mener du tjek om cookie findes?
Avatar billede cmau Nybegynder
10. april 2005 - 15:47 #10
hyberpreprocessor > Svar?
Avatar billede dennismp Nybegynder
10. april 2005 - 16:04 #11
Ja, så du kun ser på dem, hvis brugeren ikke allerede er logget ind.

if(!$_SESSION['authenticated']) {
  if( $_COOKIE[..] er sat ) {
    if( $_COOKIE[..] er gyldig autologin ) {
        ...
        $_SESSION['authenticated'] = true;
    }
    else {
      // Slet cookie her, da den er ugyldig (ingen grund til at tjekke ved næste hit igen)
    }
  }
}

hvis du gemmer noget andet i session som viser om en bruger er logget ind, bruger du bare det istedet for authenticated (fx user_id, id, eller hvad du nu har kaldt det).
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