Lataa esitys
Esittely latautuu. Ole hyvä ja odota
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”);
Samankaltaiset esitykset
© 2024 SlidePlayer.fi Inc.
All rights reserved.