Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Istuntojen hallinta PHP-sovelluksessa

Samankaltaiset esitykset


Esitys aiheesta: "Istuntojen hallinta PHP-sovelluksessa"— Esityksen transkriptio:

1 Istuntojen hallinta PHP-sovelluksessa
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö

2 Istunto? Aloitus Lopetus Sivu 1 Sivu 2 Sivu 3 Sivu n aika Istunto

3 Istunto? Käytetään yleisesti englanninkielistä nimitystä Session
Yhteenkuuluvat web-sivut, jotka muodostavat sovelluksen/sivuston POST tai GET-metodilla voidaan siirtää tietoa kahden sivun välillä Mikäli tiedon täytyy olla käytettävissä tämän jälkeenkin, tarvitaan istuntomuuttujia

4 Istunto? Käytetään esim. Verkkokaupan ostoskorin toteuttamiseen
Tallentamaan tieto siitä, onko käyttäjä kirjautunut sivustolle (verkkopankki)

5 HTTP-protokollan toiminta
HTTP-vastaus HTTP-pyyntö Selain Web-palvelin

6 Protokolla Yhteyskäytäntö tiekoneiden välillä
Kommunikointiin tarvitaan sääntöjä, jotta viestejä voidaan käsitellä ohjelmallisesti Protokolla kuvaa viestin rakenteen ja mahdollisen sisällön HTTP-protokolla kuvaa siis säännöt ja viestien rakenteen web-selaimen ja –palvelimen väliseen kommunikointiin

7 Selaimen lähettämä HTTP-pyyntö
Rakenne Pyyntörivi HTTP-otsakkeet Data Esimerkki Get /jokusivu.htm HTTP/1.0 User-Agent. Mozilla/3.01Gold (Wind95; I) Accept: image/gif, image/jpeg jne. Accept-Language: fi

8 Palvelimen lähettämä vastaus
Rakenne Tilarivi HTTP-otsakkeet Data Esimerkki HTTP/ OK Date: Sat, 22 Sep :02:16 GMT Server: Apache/ (Unix) PHP/4.0.6 Content-Type: text/html <html> <body>

9 HTTP-protokollan toiminta
Yhteys muodostetaan vain pyynnön ja vastauksen ajaksi Yhdensuuntainen (selain aina kutsuu, palvelin vastaa) HTTP-kutsujen välillä palvelin ei tunnista kutsujaa (selainta) HTTP-protokolla on Yhteydetön (connectionless) Tilaton (stateless)

10 Istuntomuuttujien toiminta
Selain Web-palvelin HTTP-vastaus istuntotunniste HTTP-pyyntö istuntotunniste Istuntotunniste tallentuu joko evästeeksi tai sitä kuljetetaan HTTP-kutsussa Asiakkaan istuntoon liittyvät tiedot tallentuvat tiedostoksi levylle, tietokantaan tai niitä pidetään palvelimen keskusmuistissa

11 Istunto HTTP-kutsuissa tulevat tiedot voidaan tallentaa palvelimelle
Useat (erilliset) HTTP-kutsut voivat täten muodostaa palvelun, jossa käyttäjän tekemiä toimenpiteitä voidaan seurata Istunto on voimassa kunnes se tuhotaan (php-koodilla), käyttäjä sulkee selaimen tai palvelin aikakatkaisee istunnon, jos käyttäjän selain jää auki eikä toimintaa ole

12 Istuntomuuttujien käsittely PHP:ssä
session_start() $_SESSION[’x’] session_destroy unset

13 session_start() session_start() kutsu jokaisen sellaisen sivun alussa, jossa käsitellään istuntomuuttujia (ei siis vain 1. sivun alussa) Kirjoitetaan yleensä aina ensimmäiseksi riviksi php-dokumenttiin aina ennen sellaisia lauseita, jotka tulostavat jotain selaimeen

14 Istuntomuuttujat PHP:ssä käytetään $_SESSION-superglobaalia
$_SESSION-lauseen avulla joko kirjoitetaan tai luetaan arvo ns. istuntomuuttujaan

15 $_SESSION Tiedon kirjoittaminen Tiedon lukeminen
$_SESSION[’joku]=$tietoa; Tiedon lukeminen $tietoa=$_SESSION[’joku’];

16 session_destroy Tuhoaa istunnon ja istuntoon liittyvät muuttujat
Käytetään esimerkiksi silloin, kun käyttäjä kirjautuu ulos sovelluksesta/tilaa ostoskorin tavarat yms. Jos sovelluksessa on sisään kirjautuminen, täytyy siinä olla myös toiminnallisuus uloskirjautumiseen

17 unset Unset tuhoaa yhden istuntomuuttujan sisällön
Unset($_SESSION[’joku’]); Istuntomuuttuja voidaan asettaa myös arvoon null $_SESSION[’joku’]=null;

18 Isset ja istunnot Isset()-funktiolla voidaan tarkastaa, onko jokin istuntomuuttuja olemassa if (isset($_SESSION[’kirjautunut’])) { print ”Olet kirjautunut palveluun”; } else header(”Location: login.htm”);


Lataa ppt "Istuntojen hallinta PHP-sovelluksessa"

Samankaltaiset esitykset


Iklan oleh Google