Istunnot PHP:ssä

Kun näemme sivuston sivun selaimessamme, kyseisen sivun PHP-skripti on jo suoritettu ja unohtanut meidät. Siksi, jos siirrymme yhdeltä sivuston sivulta toiselle - PHP-skripti ei voi muistaa edellisen sivun tietoja, esimerkiksi muuttujien arvoja.

Tällainen mekanismi on kuitenkin erittäin tarpeellinen, vaikka sen vuoksi, että muistaa käyttäjän valinnan tai sen, että käyttäjä on ollut kirjautunut.

PHP:ssä käyttäjän tietojen tallentamiseen sivuston sivujen välillä on tarkoitettu istunnot. Voimme kirjoittaa mitä tahansa tietoa istuntoon ja lukea sieltä seuraavassa tämän tai toisen sivuston skriptin suorituksessa. Istunnon avulla voidaan toteuttaa käyttäjien autentikointi, verkkokaupan ostoskori ja muuta.

Käyttäjän istunto tallennetaan palvelimelle. Samalla se ei elä ikuisesti, vaan noin puolen tunnin ajan - jos käyttäjä tänä aikana ei ole suorittanut yhteydenottoja sivustoon, niin hänen istuntonsa poistetaan ja siitä tulee tyhjä.

Joten, katsotaanpa, kuinka työskennellä istuntojen kanssa PHP:ssä. Jotta voimme kirjoittaa jotain istuntoon, se on ensin alustettava funktiolla session_start:

php<?php
  session_start();
?>

Alustuksen jälkeen voimme kirjoittaa jotain istuntoon tai lukea sieltä jotain. Tämä tehdään superglobaalin taulukon $_SESSION avulla.

Kokeillaan käytännössä. Tehdään tiedosto test1.php ja sijoitetaan siihen seuraava koodi:

test1.php<?php
  session_start();
  $_SESSION['test'] = 'abcde'; // kirjoitetaan istuntoon
?>

Ja tiedostoon test2.php - seuraava koodi:

test2.php<?php
  session_start();
  echo $_SESSION['test']; // luetaan istunnosta
?>

Avaa nyt aluksi selaimessa tiedosto test1.php, sitten test2.php. Kun toinen tiedosto avataan selaimessa, tulostuu se, mikä kirjoitettiin istuntoon ensimmäisessä tiedostossa.

Задание 1

Tee kaksi tiedostoa. Ensimmäisen tiedoston suorituksessa kirjoita istuntoon kaksi numeroa, ja toisen tiedoston suorituksessa - tulosta ruudulle näiden numeroiden summa.