Halløjsa,
Når du skal lave et login, kan du vælge at benytte dig af 3 forskellige ting som standard.
Det er:
- cookie
- session
- bevar login i url
Sidst-nævnte vil jeg slet ikke fortælle om, da den er alt alt for usikker og anvendes praktisk talt ikke i dag.
Hvad angår de to første, så er der nogle forskelle.
Basalt kan jeg fortælle følgende om cookies:
- En lille fil, der gemmes på klienten.
- Den kan leve indtil browseren 'dør' (lukkes ned) eller den kan leve i en periode, som du bestemmer (medmindre brugeren sletter den i mellemtiden).
- Kan bruges til autologin (som f.eks. her på Eksperten.dk) m.v.
Cookies er ikke svært at arbejde med - det er faktisk ganske nemt. Du kan se mere om det i PHP-dokumentation:
http://dk2.php.net/manual/da/function.setcookie.php.Hvad der er værd at bemærke er, at hvis en browser ikke kan forstå cookies eller brugeren har slået muligheden fra - jamen så er det too bad. Så kan man ikke bruge siden/systemet.
Nu til sessions...
Sessions er næsten det samme som cookies - og alligevel ikke. Den benytter sig dog delvist af cookies.
En session kan kun leve sålænge browseren er åben. Lukkes den, så dør den med det samme.
Det smarte med sessions er dog at den bruger et session-id. Det session-id gemmes på klienten vha. en cookie. Hvis klienten ikke kan arbejde med sessions, ja, så kommer der blot et smart ?SESSID=<session_id> efter dine links og så kan den tilgå dataerne på den måde.
Grunden til den kan tilgå dem vha. bare session-id er, at dataerne gemmes på web-serveren og ikke på klienten. Dvs. gemmer du brugernavn, adgangskode m.v. så ligger det på serveren - det eneste der ligger på klienten er selve session-id'et til at få fat i informationerne på.
Derved ved du at det altid vil virke med sessions! :-)
Lidt om sessions i PHPs dokumentation:
http://dk2.php.net/sessionhttp://dk2.php.net/manual/da/function.session-start.phphttp://dk2.php.net/manual/da/function.session-register.phphttp://dk2.php.net/manual/da/function.session-destroy.phpDet er nok skrevet lidt hurtigt og lidt sjaddent, men har travlt (... og ville alligevel lige hjælpe). Så god fornøjelse! :-)
--
Kristian