$antall_maaneder =12; Variablene $pris og $antall_maaneder i eksemplet ovenfor har

Like dokumenter
Verdier, variabler og forms

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Aritmetiske operasjoner. Litt om forrige times øvelsesoppgaver

Et forsøk på definisjon

Når en bruker skriver sitt navn ("Ole") i et form-element med name="fornavn" som attributt. klikker på submit-knappen

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

[Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 07/ Vi holder orden på verdier med hjelp av variabler

Introduksjon til beslutningsstrukturer

Tilgjegelighet av XHTML-forms

</html> </head> <form action= rtkst.php > <p> Fornavn? <input type= text name= fornavn <input type= submit />

Et forsøk på definisjon

Utvikling av dynamiske nettsteder med PHP og databaser, våren 2009

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Et forsøk på definisjon. Eksempel 1

while-løkker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Et forsøk på definisjon. Eksempel 1

Webprogrammering høsten 2017

En enkel while-løkke. 1 of :28. 2 of :28. while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt

$i < 5 forsettelsesbetingelsen - false => Løkken slutter.

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

}?> <!DOCTYPE... <html xmlns=" <head>... </head> <body> <p>nå skal vi printe hallo:</p> <?php //funksjonskall

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Innføring i bruk av CGI4VB

<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.

1.2 Dynamiske, tjenerbaserte og interaktive nettsteder

HØGSKOLEN I SØR-TRØNDELAG

Webformularer, PHP og databaser

Innføring i bruk av CGI4VB

Systemarkitektur. Webformularer, PHP og databaser. Hva skal applikasjonsprogrammet gjøre? PHP. Ta i mot data fra brukergrensesnittskjermbildet

datatyper Hva er programmering? Variabler og Informasjonsteknologi 2 Kompetansesemål

6105 Windows Server og datanett

HØGSKOLEN I SØR-TRØNDELAG

9. ASP med databasekopling, del II

Dette er en demonstrasjonsside som vi skal bruke for å se litt nærmere på HTTP protokollen. Eksemplet vil også illustrere et par ting i PHP.

Oppgave 1 Hva tror du følgende program skriver ut til terminalen? Diskuter med gruppen.

Kapittel 1. Innledning og motivasjon. 1.1 Innledning. 1.2 Dynamiske, tjenerbaserte og interaktive nettsteder Dynamiske nettsider

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

Shellscripting I. Innhold

Klasser. Webprogrammering høsten Objekter. Eksempelklasser og -objekter. 2 of :56. 1 of :56

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

Matematikk Øvingeoppgaver i numerikk leksjon 1 Å komme i gang

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

file:///c:/users/michaelp/sites/dkdm/dw6/dreamweaver6.html

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

INF1050-php-2. Databasenavn. Institutt for informatikk Gerhard Skagestein 23. februar /~brukernavn/ maskinnavn PHP. Internet Explorer, Opera...

Python: Valg og betingelser. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Kort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Oppgaver uke 1: Løsningsforslag

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Systemarkitektur. Webformularer, PHP og databaser et crash-kurs. Hva skal applikasjonsprogrammet gjøre? PHP

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Variabler, datatyper og operatorer

Oversikt. INF1000 Uke 2. Repetisjon - Program. Repetisjon - Introduksjon

Webformularer, PHP og databaser et crash-kurs

UNIVERSITETET I OSLO

Argumenter fra kommandolinjen

Hvordan installere Java og easyio på Windows

Utplukk og sortering. Innhold

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Øvingsforelesning 1 Python (TDT4110)

(X)HTML, CSS og JavaScript HTML. Det første dokumentet Grunnleggende programmering i Java Monica Strand 26.

HØGSKOLEN I SØR-TRØNDELAG

Læringsmål og pensum. Hvordan virker webteknologi? (klient-tjener arkitektur) HTML - virkemåte. Nettleser: Firefox, Opera, Safari

INF109 - Uke 1b

PolyPrint Brukermanual

TDT4105 Informasjonsteknologi, grunnkurs (ITGK)

HTML og relasjonsdatabaser med PHP

Systemarkitektur. Webformularer, PHP og databaser et crash-kurs. Hva skal applikasjonsprogrammet gjøre? PHP

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Informasjon Eksamen i IN1000 og IN1001 høsten a) 1 poeng. 1b) 1 poeng. Tid. Oppgavene. Tillatte hjelpemidler. 30. november kl. 14.

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.

Et lite oppdrag i bakgrunnen

Steg 1: Felix har forsvunnet!

Avinstallere Java: Windows 7 og eldre versjoner

NY PÅ NETT. Enkel tekstbehandling

BAAN IVc. BAAN Data Navigator - Brukerhåndbok

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

Oversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program

Beskrivelse av programmeringsspråket Compila15 INF Kompilatorteknikk Våren 2015

TDT4110 IT Grunnkurs Høst 2016

Brukerveiledning. for. elektronisk registreringsskjema. for. fødsler. utviklet av. Medisinsk fødselsregister

Mattespill Nybegynner Python PDF

Sprettende ball Introduksjon Processing PDF

Objektorientert programmering i Python

Hei verden Introduksjon Swift PDF

Tilbakestille nettleser

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Utvikling av dynamiske nettsteder med PHP og databaser, høsten 2006

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

HØGSKOLEN I SØR-TRØNDELAG

Intro til WWW, HTML5 og CSS

En liten rekap. Spørrespråk. I dag SELECT

Oppdatering av eget innhold på venteromsskjermer BRUKERVEILEDNING

Transkript:

Et program som legger sammen to brukergitte tall må hente det ene hente det andre legge tallene sammen [Kurssidene] [ ABI - fagsider bibin ] presentere resultatet. Mellom operasjonene må data tas vare på (mellomlagres) Michael Preminger (michaelp@hio.no) 02/09-16 kunne finnes igjen. Her kommer variabler og verdier inn. En verdi ("datastykke") kan være et tall eller en tekststreng. "Michael" er et eksempel på en tekstverdi. 12.5, -15 og 100000 er eksempler på tallverdier. Verdier og variabler Grunnleggende arbeid med variabler Variabler, XHTML forms (skjema) og overføring av verdier En variabel - en plass i maskinens minne som kan holde på en verdi En variabel er en "plassholder", med navn, som kan holde en verdi. Verdien blir da innholdet i denne plassholderen. $pris =12; Variabelnavnet uttrykker verdiens rolle i programmet. Våre programmer bruker variabler for å lagre og aksessere data. Programmene kjører èn instruksjon av gangen, og trenger å lagre data mellom gangene. Eksempelprogram: Legg sammen to brukergitte tall Eksempel: $pris =12; $antall_maaneder =12; Variablene $pris og $antall_maaneder i eksemplet ovenfor har samme verdi (tallet 12) sannsynligvis helt forskjellige roller i programmer. Et program kan ha mange variabler, og alle har et unikt navn Dette gjør det mulig for programmet å aksessere variablene: for å avlese deres verdier evt. legge nye verdier i dem. Alle disse er lovlige variabelnavn : $pris, $antallmaaneder $fornavn, $etternavn Vi bruker ofte ord, på engelsk eller norsk, og setter et dollartegn($) foran. Unngå æøå! (klokkeeksempel) 1 of 16 02.09.2016 15:26 2 of 16 02.09.2016 15:26

Verdien i en variabel kan variere (derav navnet) : Variabelen $pris kan for eksempel ha verdien 10 en liten stund, deretter verdien 12. Variabelen $fornavn kan holde verdien "Michael ", og deretter verdien " Lars". En variabel kan holde forskjellige verdier (ikke samtidig!) så lenge programmet kjører Variabelen har bare ett og samme navn så lenge programmet kjører. Variabelens verdi er flyktig. Variabelen $fornavn kan i prinsippet ha forskjellige verdier i løpet av et programs "levetid" (derav betegnelsen "variabel"). I $fornavn kan det stå "Michael", så kan det stå "Lars" deretter "Erik", osv. Direkte tilordning: å legge en verdi i en variabel. Eksempler på direkte tilordning: (Legg merke til semikolon på slutten): $fornavn = "Michael" ; (på norsk: $fornavn settes lik "Michael") $etternavn = "Preminger" ; (på norsk: $etternavn settes lik "Preminger") $pris = 4.25 ; (på norsk: $pris settes lik 4.25) $antall_maaneder = 12 ; (på norsk: $antall_maaneder settes lik 12) altså: "=" betyr "settes lik" ikke "er lik" og ikke "lik" En direkteverdi er en verdi som er gjengitt ordrett i programmet For eksempel "Michael", 4.25 En direkteverdi brukes ofte til å sette en førsteverdi til en variabel: For eksempel $fornavn ="Michael ", eller $pris = 4.25 ; Direkteverdier av typen tekst (tekstliteraler) skrives med anførselstegn i PHP-programmer. Direkteverdier av typen tall skrives uten anførselstegn. 3 of 16 02.09.2016 15:26 4 of 16 02.09.2016 15:26

Print'ing av en variabel viser variabelens verdi Eksempel 2: Printe numeriske variabler. Eksempel 1: Vise verdien til en tekstvariabel ved å print()'e variabelen... print ($etternavn) ; betyr: skriv verdien til variabelen med navnet $etternavn til nettleseren. Filen variabel.php: (linjenummerne er ikke en del av programmet, brukes bare for referanse): 1. <!DOCTYPE... 2. <html> 3. <head>... 4. <title>eksempel1</title> 5. </head> 6. <body> 7. 8. $fornavn = "Michael" ; 9. print( $fornavn ); 10. 11. </body></html> Linjene 1-6, samt linje 11, utgjør filens HTML-del. Disse tillater jeg meg å hoppe over i de kommende eksemplene. Linjene 7-10 utgjør en PHP-blokk. På linje 8 blir variabelen $fornavn definert, og tilordnet verdien "Michael" Hvis vi henter fram denne filen i nettleseren: $gebyr = 42 ; print($gebyr); blir 42 skrevet i nettleservinduet. Eksempel 3: Vi kan flette variabler i tekstsetninger som print()-instruksjonen skriver ut: Følgende PHP-program: $fornavn = "Michael" ; $gebyr = 42 ; print (" $fornavn måtte betale kr. $gebyr for å ha levert boken for sent"); skriver følgende når det hentes fram i nettleseren Michael måtte betale kr. 42 for å ha levert boken for sent Linje 9 gjør at verdien til $fornavn skrives til nettleseren. Når vi henter fram filen i nettleseren med URLen "http://bibin.hio.no/~michaelp/variabel.php" får vi Michael i nettleservinduet. I eksemplene nedenfor vises bare PHP-koden, (anta dog at HTML-strukturen er der). 5 of 16 02.09.2016 15:26 6 of 16 02.09.2016 15:26

Eksempel 5: Gi en tallvariabel ny verdi basert på den gamle verdien. Numeriske variabler (som har en tallverdi) kan brukes i aritmetiske operasjoner Variablene $pris, $maaneder og $gebyr ovenfor er numeriske. Det betyr at de er enten heltall (1,2,5,1000) eller flyttall (1.4, 3.14, 19.5). Slike går det an å foreta aritmetiske (og andre matematiske) operasjoner på: Eksempler: +(pluss), -(minus), *(multiplikasjon), /(divisjon) Eksempel 4: bruk av minus-operasjonen Følgende PHP-program: 1. 2. $vanliggebyr = 50; 3. $redusertgebyr = $vanliggebyr -10; //minus-operasjon 4. print("vanlige lånere betaler kr. $vanliggebyr, pensjonister betaler kr. $redusertgebyr "); 5. resulterer i Vanlige lånere betaler kr. 50, pensjonister betaler kr. 40 Følgende PHP-programm plusser en variabel med 1, og legger den nye verdien tilbake i samme variabel: 1. 2. $i = 5; 3. print ("den første verdien til dollar-i var $i"); 4. $i = $i +1; //pluss-operasjon 5. print ("dollar-i har nå fått verdien $i "); 6. Linje 2 definerer variabelen $i og tilordner den en verdi. Linje 4 : $i sin gamle verdi (tallet 5) blir "plusset på" 1 resultatet av operasjonen (tallet 6) tilordnes $i, slik at $i 's gamle verdi slettes (overskrives) Linjene 3 og 5 sørger for at to linjer skrives til nettleseren (når PHP-filen hentes fram i nettleseren over http) den første verdien til dollar-i var 5 dollar-i har nå fått verdien 6 På linje 3 defineres variabelen $redusertgebyr. Resultatet av minus-operasjonen $vanliggebyr - 10 tilordnes variabelen $redusertgebyr. 7 of 16 02.09.2016 15:26 8 of 16 02.09.2016 15:26

Eksempel 8 og 9: sammenføye variabelverdier og direkteverdier mellom anførselstegn Eksempel 6: konkatenere (føye sammen) tekststrenger med (punktum) Av og til trenger vi å slå to eller flere tekststrenger sammen. 1. 2. $fornavn = "Michael" ; 3. $etternavn = "Preminger" ; 4. $helenavnet = $fornavn $etternavn ; 5. print ("$helenavnet"); 6. Linje 4 sammenføyer $fornavn og $etternavn til en lang tekststreng. tekststrengen tilordnes variabelen $helenavnet. MichaelPreminger skrives i nettleservinduet når siden hentes fram. Eksempel 7: en liten forbedring av programmet fra eksempel 6 Vi 'føyer inn et mellomrom' mellom $fornavn og $etternavn. 1. 2. $fornavn = "Michael" ; 3. $etternavn = "Preminger" ; 4. $helenavnet = $fornavn. " ". $etternavn ; 5. print ("$helenavnet"); 6. Vi kan sammenføye variabelverdier og direkteverdier ved å legge de, side om side, mellom anførselstegn: $helenavnet ="$fornavn $etternavn"; print ("$helenavnet"); resulterer i Michael Preminger Programmet $antallepler =12; $setning ="Jeg har $antallepler epler!"; print ( $setning ); gir Jeg har 12 epler! i nettleservinduet. og får Michael Preminger 9 of 16 02.09.2016 15:26 10 of 16 02.09.2016 15:26

Input-element av typen "text" (norsk: tekstfelt) Dette elementet tillater brukeren å oppgi en tekstverdi eller tallvedi (navn, alder osv.) Eksempel 10: Tekstelementet med name= "fornavn" gir verdi til PHP-variabelen $_GET['fornavn'] Forms er HTMLs måte å hente data fra brukere En form (norsk: skjema) er et avsnitt i et HTML-dokument hvor det er mulig å plasssere datainnhentings-elementer (heretter kalt intput-elementer ). En form legges mellom taggene <form> og </form>. En form består stort sett av input-elementer og tekst. HTML-forms er det viktigste instrumentet brukt til å gjøre webben interaktiv. Input-elementer mottar verdier fra brukere, og sender de til PHP-programmer Input elementer er tekstfelter, avkryssingsbokser, menyer og radioknapper, som en bruker kan "fylle" med verdier som navn, alder, gaveønske osv. Verdiene kan så sendes, over nettet, til et PHP-program (målprogrammet), som kan bruke de for å lage interaktive, fleksible websider. Action-attributtet oppgir hvilket program som skal motta dataene (målprogrammet) I eksempel 10 er teksten med grønn bakgrunn html-koden til formen som holder teksten. se spesielt på action-attributtet! Teksten til høyre er en del av målprogrammet (respons_tekst.php) som mottar data fra formen. Et input-element kan gi en verdi til en variabel i målprogrammet Hvert input-element har et name-attributt. Navnet på variabelen i programmet som mottar elementets data er det samme som elementets name-attributt. Fornavn? <form action= " respons_tekst.php "> Fornavn? <input type="text" name= "fornavn" /> <input type="submit" /> <input type="reset" /> </form> text_form.htm (utdrag) Respons på tekstelementet Michael Variabelverdier overføres fra formen til målprogrammet Respons på tekstelementet: print ($_GET['fornavn']); respons_tekst.php(utdrag) Brukeren fyller inn en verdi i tekst-elementet som har navnet "fornavn". Brukeren klikker på "submit" knappen. I dét øyeblikket starter tolkingen av programmet respons_tekst.php, som står oppført i action-attributtet, og som ligger på tjeneren. Samtidig: Verdien ("Michael") transporteres fra nettleseren, fra form-elementet med navn "fornavn", over nettet, og til tjeneren der programmet kjører. Verdien "Michael" tilordnes variabelen med navnet $_GET['fornavn'] i programmet. Variabelen $_GET['fornavn']får, altså verdien "Michael". Hvis det et sted i PHP-programmet respons_tekst.php står: print($_get['fornavn']); blir ordet "Michael" (altså, verdien i variabelen $_GET['fornavn']) skrevet til nettleser-vinduet. I det følgende presenteres input-elementer av typene tekst, radioknapper og nedtrekksmenyer. Vi bruker tekst-elementet som eksempel på verdioverføring. 11 of 16 02.09.2016 15:26 12 of 16 02.09.2016 15:26

Formen $_GET['fornavn'] Nedtrekksmenyer $_GET['fornavn'] er en form for variabel vi kommer næremre innpå senere i kurset. Slike variabelnavn brukes i nyere versjoner av PHP når verdier skal hentes fra brukere over nettet. MERK!: I strenger som sammenføyes mellom anførselstegn, hvor en variabel av denne typen inngår, skrives den i krøllklammer: "ditt navn er $_GET['fornavn'] ". Radioknapper og radioknapprekker En radioknapp er et input-element som som er tilordnet fast verdi, som overføres hvis knappen er trykket inn. En radioknapprekke utgjør en gruppe av radioknapper som deler et navn. Disse er på forhånd tilordnet gjensidig utelukkende verdier, Eksempel 11: Radioknapprekke: to radioknapper hvis name-attributt har samme verdi begge knappene har verdien "erstudent" i name-attributtet. Variabelen $_GET['erStudent'] i Action-programmet får verdien "ja" eller "nei", avhengig av merket knapp. Student? ja nei <form action= "respons_radio.php" > Student? <input type="radio" Respons på radioknapper: name= "erstudent" value= "ja" /> ja Er jeg student? <input type="radio" name= "erstudent" value= "nei" /> print ($_GET['erStudent']); nei <input type="submit" /> </form> En nedtrekksmeny tillater brukeren å velge ett av flere fastlagte verdier. Elementet heter <select> (merk: ikke input), og valgene legges i <option>elementer. Eksempel 12: Nedtrekksmenyer - en måte å velge verdi fra en større liste med verdier Attributtet "selected" bestemmer hvilket av valgene som skal vises frem før valg foretas. Din favorittforfatter? <form action= "respons_meny.php"> Din favorittforfatter? <select name= "favorittfor"> <option> Henrik Ibsen</option> <option> Knut Hamsun</option> <option> Henrik Wergeland</option> <option selected="selected" > Jonas Lie </option> </select> <input type="submit" name="submit" /> </form> meny.htm Respons på nedtrekksmeny: Hvem er min favorittforfatter? print ("svar: {$_GET['favorittfor']} "); respons_meny.php Dersom brukeren valgte Jonas Lie, eller lot være å velge, får han følgende respons: Respons på nedtrekksmeny: Hvem er min favorittforfatter? svar: Jonas Lie radioknapper.htm(utdrag) respons_radio.php(utdrag) Dersom brukeren velger "ja"-knappen, blir responsen slik: Respons på radioknapper Er jeg student? ja 13 of 16 02.09.2016 15:26 14 of 16 02.09.2016 15:26

Eksempel 13: Et større skjema: Fornavn? Er du student? Ja Nei Din favorittforfatter? 1. Takk for din respons: Ditt fornavn er: 2. 3. print ( $_GET['fornavn'] ); 4. 5., 6. 7. 8. print ("din favorittforfatter er {$_GET['favorittfor']} "); 9. 10. 11. og på spørsmålet om du var student, svarte du 12. 13. print( $_GET[erStudent] ); 14.. 15. 16. Takk og på gjensyn! <form action= "respons_stor.php" " method="get"> Fornavn? <input type="text" name= "fornavn" /> Er du student? <input type="radio" name= "erstudent" value="ja"/> Ja <input type="radio" name= "erstudent" value="nei"/> Nei Din favorittforfatter? <select name= "favorittfor"> <option> Henrik Ibsen</option> <option> Knut Hamsun</option> <option> Henrik Wergeland</option> <option selected="selected" > Jonas Lie</option> <option> Ivar Åsen</option> <option> Erlend Loe</option> <option> Aleksander Kjelland</option> </select> <input type="submit" name="submit" /> <input type="reset" name="reset"/> </form> Takk for din respons: Ditt fornavn er: Michael, din favorittforfatter er Jonas Lie og på spørsmålet om du var student, svarte du ja. Takk og på gjensyn! Vi gjør følgende observasjoner om PHP-programmet ovenfor: Variablene trenger ikke behandles i noen bestemt rekkefølge. De "ankommer" programmet i flokk. elementet "erstudent" er definert før elementet "favorittfor" i formen, men førstnevntes verdi printes etter sistnevntes i målprogrammet(linjer 8 og 13). Vi har flere PHP-blokker (... ) med maltekst mellom dem. Alle variabelverdiene (som er allerede definert) gjelder innenfor alle blokker. Vi kan skrive så mye fast HTML vi vil mellom og rundt disse blokkene. Et program (for eksempel et PHP-program) lagrer data i variabler. En variabel har et navn (fast) og en verdi (som kan variere). I et PHP-program bruker vi variabler blant annet for å gjøre følgende: referere til data ($fornavn er en referanse til verdien "Michael" eller "Lars") og lagre de over tid manipulere data (for eksempel koble sammen et fornavn og et etternavn) motta data fra input-elementer. Vi bruker input-elementener for å gjøre våre nettsider interaktive. Vi har sett på tre typer input-elementer som kan motta data fra brukere på forskjellige vis. Sist oppdatert 02/09-16 av Michael Preminger, michael.preminger@jbi.hio.no respons_stor.php 15 of 16 02.09.2016 15:26 16 of 16 02.09.2016 15:26