Istuntojen hallinta PHP-sovelluksessa

Slides:



Advertisements
Samankaltaiset esitykset
Tech days ● 2010 Finland. tech days ● 2010 Finland.
Advertisements

Www-sivuston ja verkkopalvelun rakentaminen Miten tehdä yritykselle www-sivut?
HTML-kielen perusteet Osa 1 Vilho Kemppainen
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö Netbeans ja XAMPP Projektin luominen.
PHP ja sessionhallinta Verkkotekniikan jatkokurssi Kevät 2003 V. Seppänen
vuorovaikutteiset www-sivut 1.Asiakas-palvelinmalli kuvana Request Response request.asp response.asp.
Web-sovellusten arkkitehtuurit K1103TK CodeIgniter - perusteet Jouni Juntunen.
Julkaisukielet ja - tekniikat tMyn1 Julkaisukielet ja -tekniikat •Verkko-ohjelmointi voidaan jakaa kahteen osaan: asiakaspuolen ja palvelinpuolen ohjelmointiin.
Ubuntuun LAMP server sekä Samba tiedostonjako palvelu.
Käännösaikaiset virheilmoitukset • Tulee silloin, kun koodissa on jotain sellaista, joka ei ole Javan syntaksin mukaista • Esim. – Syntax error, insert.
Tekoäly-sovellusten levittäminen WWW-ympäristössä
HTTP-protokollatMyn1 HTTP-protokolla HTTP (HyperText Transfer Protocol) on web-asiakkaan ja –palvelimen keskinäiseen tiedonsiirtoon käyttämä yhteyskäytäntö.
vuorovaikutteiset www-sivut1 Palvelinpuolen www- ohjelmointi Dynaaminen Internet  käyttäjän tai selaimen tunnistaminen  käyttäjän toiveiden.
PHP funktiot Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
JohdantotMyn1 Johdanto Verkkopalvelun koostamiseen käytetään koosteohjelmia ja ohjelmointikieliä. Verkkopalvelun toteutus voi vaatia myös palvelinohjelmointia.
IMAP webMail Program (IMP) Sähköpostin lukeminen selaimen avula.
HTML-lomakkeettMyn1 HTML-lomakkeet Web-sovelluksen käyttöliittymä rakentuu web-selaimen ominaisuuksista ja keskeisimmiltä osiltaan erityisesti HTML-kielellä.
Lomakkeet © Reiska, Lomakkeet Varsinkin Web-sovelluksia ajetaan täyttämällä sivulla lomake ja lähettämällä tiedot palvelimella olevan Web-sovelluksen.
Kaksi- ja kolmitasoiset sovellukset Two and Three Tier Systems.
HTTP (c) Reino Aarinen, HTTP yhteyskäytäntö Web asiakasohjelmat (yleensä erilaiset selaimet) käyttävät HTTP protokollaa tiedon siirtoon WWW sivustojen.
PHP Asiakkaan ja palvelimen välinen tiedon virtaus eri ”tiloissa” (http (esim. lomake), istunto, eväste, tietovarasto)
XSL Teppo Räisänen
WWW-palvelin Apache HTTP Server. Yleistä Siirtää HTTP-protokollaa käyttäen pyydetyt tiedostot Internetin välityksellä Portti 80 varattu HTTP-protokollalle.
PHP Muuttujien määrittely, sijoituslause ja aritmeettiset operaattorit Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö.
Pilkku Kotilainen, Liedes, Luttinen, Meriläinen.  Pääsääntönä on, että virkkeen lauseet erotetaan toisistaan yleensä pilkulla.  Päälause erotetaan sivulauseesta.
1 Pardian uudet verkkopalvelut Yleisesittely Pardian koulutus/SM.
YFIA202 Kvantitatiiviset menetelmät, luento YTT Pertti Jokivuori Syksy luento (Ti )
Tietoturva ja tietosuoja Mikael Kivelä, kasvatustieteen laitos.
Tuotteen dokumentointi
Jani Kiviharju Helsingin normaalilyseo Syksy 2016
Poikkeustenkäsittelylohkot try-catch
Sähköinen avustushaku
YFIA202 Kvantitatiiviset menetelmät, luento
15. Lohkot.
Foreach-toistolause foreach-rakenteella on kätevä käydä läpi kaikki taulukon alkiot. Erityisen kätevää se on hajautustaulukon tapauksessa, jossa taulukon.
Luokan määrittely class-määreellä
Edupalvelut.fi Matti Lähtevänoja, Kuopion kasvun ja oppimisen palvelualue, Kallaveden lukio.
Koulutuksen järjestämisen ja opintojen järjestämisen prosessit
7. Näytölle tulostaminen
Web-sovellusten kehittäminen - Johdanto
JavaScriptin perusteet
JavaScript – DOM HTML objektit
Web-sovellusten kehittäminen - Aloitusluento
Messages valinta avaa sinun viestilaatikkosi.
15. Lohkot.
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
Jouni Juntunen Oulun seudun ammattikorkeakoulu Liiketalouden yksikkö
JavaScript – DOM JavaScript objektit
RASKAUSPOLKU - sähköinen sikiöseulonta-ajanvaraus
2C Metsätalouden veroilmoituksen täyttäminen verkkolomakkeella
Internetin käyttö opetuksessa
4. Attribuutit.
2. Sovelluksia ja sovellusprotokollia
PHP Tietokantaohjelmointi 1
TIETOSUOJA-OHJEET JOUKKUEILLE JA JAOSTOILLE
GDPR:n hyvää syksyn alkua
2. Sovelluksia ja sovellusprotokollia
Saapuneet-kansio Lajiteltu Kansion puhdistaminen
Teppo Räisänen CSS – osa 1 Teppo Räisänen
Plone-sivuston luominen ja käyttöönotto yksiköissä
JOPOX-laskutusohje Manse PP ry
Verkon komponentteja Isäntäkone (host) reititin R R R R linkki R
PHP Tietokantaohjelmointi 2
Google Docs Teppo Räisänen,
Vinkkejä juridiikan opiskeluun
Tervetuloa uuteen PowerPointiin
Tieto Edu Hoitoajat Tieto Education Finland.
Dynamic Reporting (DR) -raporttien teon parhaat käytännöt
Suomi.fi-viestien käyttöönotto
Esityksen transkriptio:

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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