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
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:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // kirjoitetaan istuntoon
?>
Ja tiedostoon test2.php - seuraava koodi:
<?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.
Tee kaksi tiedostoa. Ensimmäisen tiedoston suorituksessa kirjoita istuntoon kaksi numeroa, ja toisen tiedoston suorituksessa - tulosta ruudulle näiden numeroiden summa.