Hvordan lage og bruke $ _SESSION i PHP

I et nøtteskall, er $ _SESSION en type variabel som brukes i PHP programmeringsspråk for å lagre informasjon på en nettside på flere nettsider. Det er en "superglobal" variable, noe som betyr at verdien tilordnet det er tilgjengelig for alle deler av programmet. Når en bruker logger inn til en PHP nettsted, er en økt opprettet og informasjon om den besøkende er lagret i $ _SESSION superglobal. Hver nettleser som kobler til området er gitt en unik session ID når $ _SESSION kalles. Forstå hvordan dette superglobal arbeider kan hjelpe deg å gjøre effektiv bruk av den i PHP programkode.

Bruksanvisning

1 Lag noen websider på datamaskinen eller bruker HTML editor grensesnittet på webserveren. Du trenger minst to sider for dette læringsprosjekt. På toppen av hver side som du ønsker å bruke $ _SESSION informasjon, skriver du inn følgende linje før noen annen kode:

session_start ();

Du må legge inn denne koden på begynnelsen av siden før noen annen utgang, eller du får meldingen "Warning: session_start () [function.session-start]: Kan ikke sende session cache limiter - overskrifter allerede sendt (output startet på ... "etterfulgt av navnet på filen.

2 Lagre noen session data ved å skrive inn følgende kode i din første webside, etter $ _SESSION uttalelse:

session_start ();
if (! isset ($ _ SESSION [ 'teller'])) {
$ _SESSION [ 'Count'] = 0;
}
else {
$ _SESSION [ 'Count'] ++;
}
echo $ _SESSION [ 'teller'];

Denne koden instruerer PHP å starte sesjonen, og dersom verdien av "telle" variabelen er lik null, øke den ved en.

3 Legg den andre websiden i teksten eller HTML editor. Etter åpningen $ _SESSION uttalelse på den første linjen i filen, skriver du inn følgende kode:

session_start ();
echo $ _SESSION [ 'teller'];

Dette åpner en økt ved å bruke $ _SESSION superglobal og viser verdien av "teller" variable, som trinn hver gang en side med telleren koden i trinn 2 laster inn i brukerens nettleser.

Hint

  • Husk å erklære "session_start ()" på toppen av hver side som skal bruke økter og inkluderer ikke noen utgang før denne uttalelsen.