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

Like dokumenter
Webprogrammering høsten 2017

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

Aritmetiske operasjoner. Litt om forrige times øvelsesoppgaver

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

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

Analyse (parsing) av XML-dokumenter DOMDocument Dokument Dokument I denne presentasjonen Eksempel1: analysere lokale XML-filer XML - DOM

Introduksjon til beslutningsstrukturer

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

Tilgjegelighet av XHTML-forms

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

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

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

Verdier, variabler og forms

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

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

9. ASP med databasekopling, del II

Innføring i bruk av CGI4VB

Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }

while-ø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

Her er eksamenssett fra Vår '09. Av Robin Sværen og Simen Arvesen.

Innføring i bruk av CGI4VB

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

HØGSKOLEN I SØR-TRØNDELAG

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

Webprogrammering høsten 2017

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

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

Oppsummering - Kurset (10/ )

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

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

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

HØGSKOLEN I SØR-TRØNDELAG

En bedre verden med AJAX

Dagens tema. Hva er kompilering? Anta at vi lager dette lille programmet doble.rusc (kalt kildekoden): Hva er kompilering?

Webformularer, PHP og databaser

Oblig 4 Undervisningshefte i grunnleggende JavaScript programmering

Oppsummering - Til nå... (1/ )

INF januar 2015 Stein Michael Storleer (michael) Lenkelister

Vedlegg B: Produktdokumentasjon

Øvingsforelesning 5 Python (TDT4110)

Opprette local electronic collection med local portfolios manuelt

HØGSKOLEN I SØR-TRØNDELAG

Oppsummering - Til nå... (1/ )

Øvingsforelesning 5 Python (TDT4110)

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

INF Notater. Veronika Heimsbakk 10. juni 2012

EKSAMEN. Emne: Webprogrammering med PHP (kont.) Webprogrammering 1 (kont.) Eksamenstid:

Web-programmering med JSP Løsningsforslag leksjon 3

Informasjon Eksamen i IN1000 høsten 2017

lfæ~~~~:::j~~:~l -.~=:~-t::-d I Alle trykte og håndskrevne EKSAMENSOPPGA VE Side l av 5 Eksamenstid:

HØGSKOLEN I SØR-TRØNDELAG

Hjelpemidler: 4 A4-sider (2 to-sidige ark eller 4 en-sidige ark) med egenproduserte notater (håndskrevne/maskinskrevne)

UNIVERSITETET I OSLO

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring -

Radix en enkel innføring

Testsituasjon Resultat Kommentar. Fungerer som det skal!

EKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00

EKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00

1. Opprette Workspace: Velg File, New Workspace. Angi Workspace name og location (hvor filene skal lagres). Trykk OK

JavaServer Pages (JSP)

Redigere elektronisk enkelttittel (portfolio)

Eksamen i Internetteknologi Fagkode: ITE1526

Høgskoleni østfold EKSAMEN

Repetisjon Novice Videregående Python PDF

Object interaction. Innhold. Abstraksjon Grunnleggende programmering i Java Monica Strand 3. september 2007.

Finne ut om en løsning er helt riktig og korrigere ved behov

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

OPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?

HØGSKOLEN I SØR-TRØNDELAG

Dinesh Jeyabalasingam. Oppgavesett 9. Gruppeoppgave 2. Eksamenssett DEL 1. Oppgave 1.1. IF 1 Hvis $a er mindre eller lik $b stemmer

Program delegate. Lage et nytt prosjekt i Visual Studio

Et forsøk på definisjon

PG4200 Algoritmer og datastrukturer Forelesning 5 Implementasjon av lister

Aktivere pakke (Electronic collection)

Løsningsforslag Test 2

XML og JDOM. Helge Furuseth

1. Profiler og variabler

Oversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays

MAT1030 Diskret Matematikk

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Businesscatalyst PAGES

Objektorientert programmering i Python

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

GJØVIK INGENIØRHØGSKOLE

En beskrivelse av API for innhenting av informasjon fra registeret for sentralt godkjente foretak Direktoratet for byggkvalitet

Programmering i C++ Løsningsforslag Eksamen høsten 2005

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Skilpaddetekst. Steg 1: Tekst på flere linjer. Sjekkliste. Introduksjon

TDT4110 IT Grunnkurs Høst 2016

TDT4100 Objektorientert programmering

Oppgavesett for NVivo 10

1. Klientside-validering med JavaScript

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Hangman. Steg 1: Velg et ord. Steg 2: Gjett en bokstav. Sjekkliste. Sjekkliste. Introduksjon

Oversikt Kompilering Syntaksanalyse Java Feilsjekking Oppsummering

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

EKSAMEN EKSAMENSDATO: KLASSE: TID: ANTALL SIDER UTLEVERT: 5. TILLATTE HJELPEMIDLER: Alle trykte og skrevne

SVARFORSLAG : Eksamen i IBE102 Webutvikling Våren 2017.

Transkript:

2.3. Variabler og forms Eksempel 2.K: Et tekstelementet gir verdi til en PHP-variabel. Nedenfor: form-sidens kode med nettleserbilde. Motstående side: målprogramet med nettleserbilde av kjøringen (URLen vises ufullstendig) < title> Form med tekstelement </ title> <form action= rtkst.php > Fornavn? <input type= text name= fornavn /> <input type= submit /> <input type= reset /> http://bibin.hioa.no/php/k2/tekst.htm 34 Kapittel 2. Variabler og forms <title>respons på tekst element</title> Respons på tekst element : print ( $_GET [ fornavn ]) ; http://...o.no/php/k2/rtkst.php?fornavn=michael Respons på tekst-element: Michael 35

2.3. Variabler og forms Eksempel 2.L: Eksempel på en fullstendig interaksjon med en radioknapprekke. Nedenfor: formen med HTML-koden og utseende. Motstående side: målprogrammet, med nettleserutseende (URLen vises ufullstendig) < title>radioknapp</ title> <form action= radio.php > Student? name= erstudent value= ja /> ja name= erstudent value= nei /> nei <input type= submit value= Submit Query /> http://bibin.hioa.no/php/k2/radio.htm 36 Kapittel 2. Variabler og forms <title>radiorespons</title> Er jeg student? print ( Svar : {$ GET[ erstudent ]} ); http://...o.no/php/k2/radio.php?erstudent=ja Er jeg student? Svar: ja 37

2.3. Variabler og forms Eksempel 2.M: Eksempel på en fullstendig interaksjon med en nedtrekksmeny. Nedenfor: formen med HTML-koden og nettleserbilde. Motstående side: målprogrammet med nettleserbilde (URLen vises ufullstendig) <form action= nedtrekk.php > Din favorittforfatter? <s e l e c t 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 value= Submit Query /> http://bibin.hioa.no/php/k2/nedtrekk.htm 38 Kapittel 2. Variabler og forms <title>nedtrekkrespons</title> Respons på nedtrekksmeny: Hvem er din favorittforfatter? print ( svar : {$ GET[ favorittfor ]} );./nedtrekk.php?favorittfor=jonas+lie Respons på nedtrekksmeny: Hvem er min favorittforfatter? svar: Jonas Lie 39

2.3. Variabler og forms Eksempel 2.N: Eksempel på en fullstendig interaksjon med en større, blandet form. Nedenfor: formen med HTML-koden og nettleserbilde. Motstående side: målprogrammet med nettleserbilde (URLen vises ufullstendig.) < title>sammensatt form</ title> <form action= storre.php method= get > Fornavn? <input type= text name= fornavn /> Er du student? name= erstudent value= ja /> ja <br /> name= erstudent value= nei /> nei Din favorittforfatter? <s e l e c t name= favorittfor > //25 <option> Henrik Ibsen</option> <option> Knut Hamsun</option> <option> Henrik Wergeland</option> <option selected= selected > Jonas Lie </option> </ select> <input type= submit name= submit /> http://bibin.hioa.no/php/k2/storre.htm 40 Kapittel 2. Variabler og forms <title>respons på sammensatt form</title> Vi takker din respons. Ditt fornavn er : print ( {$ GET[ fornavn ]}. ); print ( Din favorittforfatter er {$ GET[ favorittfor ]}. ) ; På spørsmålet om du var student, svarte du print ( {$ GET[ erstudent ]}. ); Takk og på gjensyn!./storre.php?fornavn=michael&erstudent=nei&fav Vi takker din respons. Ditt fornavn er: Michael. Din favorittforfatter er Jonas Lie. På spørsmålet om du var student, svarte du nei. Takk og på gjensyn! 41

3.3. Beslutningsstrukturer for flere valgalternativer Eksempel 3.D: Bruk av en verdi hentet fra en radioknapprekke i et logisk uttrykk. Nedenfor: HTML-form i kode og nettleserbilde. Motstående side: Målprogram med kjøring < title>radioknapper</ title> <form action= rdif.php > Student? name= erstudent value= ja /> ja name= erstudent value= nei /> nei <input type= submit /> http://bibin.hioa.no/php/k3/rdif.htm 50 Kapittel 3. Beslutningsstrukturer <title>radioknapprespons</title> <h1>respons på radioknapper:</h1> Er jeg student? if ( $_GET [ erstudent ] == ja ){ print ( Du er student! ); } Takk og farvel! http://...o.no/php/k3/rdif.php?erstudent=ja Respons på radioknapper Er jeg student? Du er student! Takk og farvel! 51

3.3. Beslutningsstrukturer for flere valgalternativer Eksempel 3.E: Bruk av en verdi hentet fra en radioknapprekke i en if-else struktur. Responsen blir som i nettleserbildet på motstående side når brukeren trykker inn nei-alternativet < title>radioknapper</ title> <form action= rdie.php > Student? name= erstudent value= ja /> ja name= erstudent value= nei /> nei <input type= submit /> http://bibin.hioa.no/php/k3/rdie.htm 52 Kapittel 3. Beslutningsstrukturer <title>radioknapprespons</title> <h1>respons på radioknapper:</h1> Er jeg student? if ( $_GET [ erstudent ] == ja ){ print ( Du er student! ); // linje 13 } else{ print ( Du er ikke student! ) ; // linje 16 } Takk og farvel! http://...o.no/php/k3/rdie.php?erstudent=nei Respons på radioknapper Er jeg student? Du er ikke student! Takk og farvel! 53

4.5. Mer om løkker Eksempel 4.I: En PHP-array tar imot data fra en avkryssingsboksrekke. Legg merke til at arrayen i målprogrammet (motstående side) har like mange innførsler som antallet bokser det ble krysset av på. Forsøk å kjøre eksemplet ved å hente frem formsiden nedenfor (følg lenken i adressefeltet). Kryss av forskjellige kombinasjoner av boksene og se resultatet... <body > Hva spiser du helst? <form action= mat. php > <input type= checkbox name= mat [ ] value= fisk /> Fisk <input type= checkbox name= mat [ ] value= lam /> Lam <input type= checkbox name= mat [ ] value= ri s /> Ris <input type= submit /> http://bibin.hioa.no/php/k4/mat.htm 72 Kapittel 4. Løkker og arrayer <title>hva studenten spiser</title> <body > Hva studenten spiser. $i = 0; $antall = count ( $_GET [ mat ] ) ; print ( Arrayen dollar mat har $antall innførsler: ); while ( $i < $antall ) { print ( $i : {$ GET [ mat ] [ $i ]} ); $i = $i + 1; } http://...o.no/php/k4/mat.php?mat%5b%5d=lam&mat Hva studenten spiser. Arrayen dollar-mat har 2 innførsler: 0:lam 1:ris 73

9.5. Nettdokumenter og Webtjenester Eksempel 9.I: Eksempel på analyse av et nettdokument Nedenfor: XML-dodkumentet (utdrag) Motstående side: Analyseprogrammet med presentasjon 1 <?xml version= 1.0 2 <zs:searchretrieveresponse 3 xmlns:zs= http://www. loc.gov/zing/srw/ > [...] 4 <zs:records> 5 <zs:record> 6 <zs:recordschema>info:srw/schema/1/dc v1.1</zs:recordschema>... 7 < title>pan.</title> 8 <creator>hamsun, Knut, 1859 1952.</creator> [...] 9 <type>text</type> 10 <publisher>[ Wilno ]</publisher> 11 <date>1928</date> 12 <language>yid</language> 13 <description>romanized.</description> [...] 14 <zs:recordposition>2</zs:recordposition> 15 </zs:record> 16 <zs:record> 17 [...] 18 < title>pan.</title> 19 <creator>hamsun, Knut, 1859 1952.</creator> [...] 20 <type>text</type> 21 <publisher>[ New York,</publisher> 22 <date>1919]</date> 23 <language>heb</language> 24 <description>romanized.</description> 25 </zs:recorddata>< zs:recordposition>3</zs:recordposition> 26 </zs:record> 27 [...] 28 <zs:record> 29 <zs:recordschema>info:srw/schema/1/dc v1.1</zs:recordschema> 30 [...] 31 < title>pan,</title> 32 <creator>hamsun, Knut, 1859 1952.</creator> 33 <type>text</type> 34 <publisher>[ Kristiania ] A. Cammermeyer</publisher> 35 <date>[1901]</date> 36 <language>nor</language> 37... <zs:recordposition>6</zs:recordposition> 38 </zs:record> 39 </zs:records></zs:searchretrieveresponse> 156 Kapittel 9. PHP og XML 1 <table> 2 <tr> 3 <th>tittel</th> <th>forfatter</th> 4 <tr> 5 6 include Post.php ; 7 $cqlurl= http://z3950. loc.gov:7090/voyager?operation =[...] ; 8 $xmldoc= new DOMDocument () ; 9 $xmldoc >load ( $cqlurl ); 10 $rot=$xmldoc >documentelement ; 11 $nodeliste_alleposter=$rot >getelementsbytagname ( record ) ; 12 $antall=$nodeliste_alleposter >length ; 13 for ( $i=0; $i < 10; $i++){ 14 $treffelement=$nodeliste_alleposter >item ( $i ); 15 $post=new Post ( $treffelement ); 16 $tittel=$post >gettittel () ; 17 $forfatter=$post >getforfatter () ; 18 print <<<RADSLUTT 19 <tr> 20 <td>$tittel</td><td>$forfatter</td> 21 <tr> 22 RADSLUTT ; 23 } 24 25 </table> http://bibin.hioa.no/php/k9/sruklient.php Tittel Forfatter Pan, Hamsun, Knut, 1859-1952. Pan, aus Leutnant Thomas Glahns Papieren. Hamsun, Knut, 1859-1952. 157

9.5. Nettdokumenter og Webtjenester Eksempel 9.J: Analysen av en enkelt XML-post i et Post-objekt Denne siden: et utdrag av XML-dodkumentet med den enkelte posten i fokus nederst: illustrasjon av DOM hierarkiet i maskinens minne Motstående side: Post-klassen og behandlingen av enkeltposten. Funksjonene construct (l. 18), gettittel(l. 15) og getforfatter (l. 8) brukes hhv. på linjene 15, 16 og 17 i eksempel 9.I. 1 <zs:records> 2 <zs:record> 3 < title>pan.</title> 4 <creator>hamsun, Knut, 1859 1952.</creator> [...] 5 <type>text</type> 6 <publisher>[ New York,</publisher> 7 <date>1919]</date> 8 <language>heb</language> 9 <description>romanized.</description> 10 </zs:recorddata>< zs:recordposition>3</zs:recordposition> 11 12 </zs:record> 13 <zs:record> 14 [...] 15 </zs:record> 16 <zs:record> 17 [...] 18 </zs:record> 19 <zs:record> 20 [...] 21 </zs:record> 158 Kapittel 9. PHP og XML 1 2 class Post{ 3 private $elem ; 4 private $forfatter ; 5 public function setforfatter ( $forfatter ) { 6 $this >forfatter = $forfatter ; 7 } 8 public function getforfatter (){ 9 return $this >forfatter ; 10 } 11 private $tittel ; 12 public function settittel ( $tittel ) { 13 $this >tittel = $tittel ; 14 } 15 public function gettittel (){ 16 return $this >tittel ; 17 } 18 public function construct ( $elem ) { 19 $this >elem=$elem ; 20 $this >fyllopppost () ; 21 } 22 public function fyllopppost (){ 23 $this >fyllinntittel () ; 24 $this >fyllinnforfatter () ; 25 } 26 function fyllinntittel (){ 27 $titler=$this >elem >getelementsbytagname ( title ); 28 $tittelelem=$titler >item (0) ; 29 $this >settittel ( $tittelelem >nodevalue ); 30 } 31 function fyllinnforfatter (){ 32 $forfattere=$this >elem >getelementsbytagname ( creator ) ; 33 $forfatterelem=$forfattere >item (0) ; 34 $this >setforfatter ( $forfatterelem >nodevalue ); 35 } 36 } 37 159