Forstå hvordan PHP-økter fungerer

01 av 03

Starte en økt

php filformatmmustafabozdemir/Getty Images





' id='mntl-sc-block-image_2-0-1' />

mmustafabozdemir/Getty Images



I PHP gir en økt en måte å lagre nettsidebesøkendes preferanser på en webserver i form av variabler som kan brukes på flere sider. I motsetning til en kjeks , variabel informasjon lagres ikke på brukerens datamaskin. Informasjonen hentes fra webserveren når en økt åpnes i begynnelsen av hver nettside. Økten utløper når nettsiden lukkes.

Noe informasjon, for eksempel brukernavn og autentiseringslegitimasjon, lagres bedre i informasjonskapsler fordi de er nødvendige før du får tilgang til nettstedet. Økter tilbyr imidlertid bedre sikkerhet for personlig informasjon som er nødvendig etter at nettstedet er lansert, og de gir et nivå av tilpasning for besøkende på nettstedet.



Kall denne eksempelkoden mypage.php.

Det første denne eksempelkoden gjør er å åpne økten ved å bruke session_start() funksjon. Den setter deretter øktvariablene – farge, størrelse og form – til å være henholdsvis rød, liten og rund.

Akkurat som med informasjonskapsler, må session_start()-koden være i overskriften til koden, og du kan ikke sende noe til nettleseren før den. Det er best å bare sette det rett etter

De økten setter en liten informasjonskapsel på brukerens datamaskin for å fungere som en nøkkel. Det er bare en nøkkel; ingen personlig informasjon er inkludert i informasjonskapselen. Nettserveren ser etter den nøkkelen når en bruker skriver inn URL-en til en av sine vertsbaserte nettsteder. Hvis serveren finner nøkkelen, åpnes økten og informasjonen den inneholder for den første siden på nettstedet. Hvis serveren ikke finner nøkkelen, går brukeren videre til nettsiden, men informasjonen som er lagret på serveren blir ikke gitt videre til nettsiden.



02 av 03

Bruke øktvariabler

Hver side på nettstedet som trenger tilgang til informasjonen som er lagret i økten, må ha funksjonen session_start() oppført øverst i koden for den siden. Merk at verdiene for variablene ikke er spesifisert i koden.

Kall denne koden mypage2.php.



Alle verdiene er lagret i $_SESSION-matrisen, som du får tilgang til her. En annen måte å vise dette på er å kjøre denne koden:

Du kan også lagre en matrise i sesjonsmatrisen. Gå tilbake til mypage.php-filen vår og rediger den litt for å gjøre dette:



La oss nå kjøre dette på mypage2.php for å vise vår nye informasjon:

03 av 03

Endre eller fjern en økt

Denne koden viser hvordan du redigerer eller fjerner individuelle øktvariabler eller hele økten. For å endre en øktvariabel, tilbakestiller du den til noe annet ved å skrive rett over den. Du kan bruke unset() for å fjerne en enkelt variabel eller bruke session_unset() for å fjerne alle variabler for en økt. Du kan også bruke session_destroy() for å ødelegge økten fullstendig.



Som standard varer en økt til brukeren lukker nettleseren. Dette alternativet kan endres i php.ini-filen på webserveren ved å endre 0 i session.cookie_lifetime = 0 til antall sekunder du vil at økten skal vare eller ved å bruke session_set_cookie_params().