Et forsøk på definisjon

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

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon. Eksempel 1

Et forsøk på definisjon

1.2 Dynamiske, tjenerbaserte og interaktive nettsteder

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

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

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

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

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

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

Verdier, variabler og forms

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

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

Tilgjegelighet av XHTML-forms

Forelesning 23/9-08 Webprog 1. Tom Heine Nätt

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

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

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

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

Webprogrammering høsten 2017

Aritmetiske operasjoner. Litt om forrige times øvelsesoppgaver

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

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

Introduksjon til programmering og programmeringsspråk. Henrik Lieng Høgskolen i Oslo og Akershus

Introduksjon til beslutningsstrukturer

the web Introduksjon Lesson

1. XHTML. Innhold Innledning

JSP - 2. Fra sist. Hvordan fungerer web? Tjenerside script HTML. Installasjon av Web-tjener Et enkelt JSP-script. Ønsker dynamiske nettsider:

Introduksjon til programmering og programmeringsspråk

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

Intro til WWW, HTML5 og CSS

Oblig 5 Webutvikling. Av Thomas Gitlevaag

Del 1: Overgang fra gammel hjemmeside til ny hjemmeside

Grunnleggende om websider og HTML-kode

INF109 - Uke 1a

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

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

VEILEDER MOTTA FJERNHJELP

Steg 1: Felix har forsvunnet!

VEILEDER MOTTA FJERNHJELP

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.

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

6108 Programmering i Java. Leksjon 1. Introduksjon til programmering og til Java

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

HØGSKOLEN I SØR-TRØNDELAG

Kort om kursene INF1100 og MAT-INF1100L

Avinstallere Java: Windows 7 og eldre versjoner

Memoz brukerveiledning

Definisjon av prosess

Innstallasjon og oppsett av Wordpress

INTRODUKSJON HVEM ER DETTE FAGET FOR?...

6105 Windows Server og datanett

HTML og relasjonsdatabaser med PHP

Forelesning inf Java 1

OBLIG 2 WEBUTVIKLING

Læringsmål og pensum. v=nkiu9yen5nc

lagring med HTML5 Offline lagring Offline Informasjonsteknologi 2 Gløer Olav Langslet Sandvika VGS

Kom i gang med Python

Markeringsspråk og XML Nettsider og XHTML

JavaServer Pages (JSP)

Forelesning inf Java 1

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Online booking i Extensor

Kapittel 1. Kom i gang med PHP

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

1. Å lage programmer i C++

Bachelorprosjekt 2015

INF1040 Oppgavesett 2: Nettsider og XHTML

Oblig 1 Erlend Hannestad

Forprosjektrapport. Feilsøkingsverktøy for Homebase AS INNHOLD

Argumenter fra kommandolinjen

HUMIT1731. Tekstkoding. Koding/merking av tekst Uke 35. Tekster som teknologiske produkter. Koding/merking på flere nivå. Utvikling av notesystemet

TDT4110 Informasjonsteknologi grunnkurs: Kapittel 1 Introduksjon til Programmering og Python. Professor Alf Inge Wang

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

Forsvunnet katt webside

Oppgave 1 (Etter forelesning 31/8) Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

Mattespill Nybegynner Python PDF

Kapittel 1: Datamaskiner og programmeringsspråk

Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk

Web fundamentals. Web design. Frontend vs. Backend Webdesign 17. januar Monica Strand

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

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Slå på eller av webdiskusjoner

Denne teksten er en oversettelse av en originaltekst fra ThinkerSmith, og er lisensiert i henhold til retningslinjene nederst på siden.

MAT-INF 1100: Obligatorisk oppgave 1

Velkommen. Velkommen til INF2270. Datamaskinarkitektur. Motto: Datamaskinen på tvers

Pensum Hovedtanker Selvmodifiserende Overflyt Veien videre Eksamen. Oppsummering

Javascript. Mer om layout

MUS Interaktiv Musikk

Hva er programmering?

Nettsider og XHTML. SGML-familien. Hvordan lage et nettsted

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

Undervisningsopplegg i matematikk. Med fokus på bruk av IKT

Kom i gang med. Åpne nettleseren, gå til: Velg «New Project».

INF109 (kun et utvalg av kommentarene er med i denne rapporten)

Oblig 1. Oppgave 1. Gå gjennom nettsiden arngren.net og list opp alle problemene du ser. Både i funksjonalitet/bruk og i koden bak.

Ark 1 av 18. programmeringsspråkenes. Velkommen til IN 211. verden. IN 211 Programmeringsspråk

1. Å lage programmer i C++

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

Transkript:

Et forsøk på definisjon [Kurssidene] [ ABI - fagsider bibin ] Michael Preminger (michaelp@hio.no) 21/08-16 Engelsklignende språk, med rigid syntaks, som kan brukes til å skrive instruksjoner (eksempel nedenfor). Instruksjonene i et programmeringsspråk kan leses og skrives av mennesker (vi forstår hva ord som print betyr). Instruksjonene (samlet kalt programkode ) oversettes til maskinspråk (som bare datamaskinen forstår), slik at datamaskinen kan utføre dem. Hva er et dataprogram (litt forenklet) en sekvens med instruksjoner skrevet i et programmeringsspråk... Motivasjon: Hvorfor vi lærer å programmere (og hva er et programmeringsspråk) Om dynamiske, tjenerbaserte, interaktive nettsider Noen enkle programmer, bruken av print-funksjonen Om infrastrukturen, tjenermaskinen og andre verktøy Arbeide med øvelsesoppgaver... oversatt (eller tolket) til maskinspråk for å utføre nyttige handlinger. Eksempel 1 Programkode for et lite dataprogram (én instruksjon lang), skrevet i programmeringsspråket PHP: print("dette er et enkelt program"); kjør programmet Mye av dagens virksomhet på webben, alt fra nettbanker til bibliotekkataloger, er dynamisk, interaktiv (og databasestyrt). For å kunne forstå hvordan dynamiske nettsteder lages, må vi kunne litt om programmering. For å kunne lage slike nettsteder må vi kunne programmere. Noen begrep: PHP er et programmeringsspråk brukt til å lage dynamiske, tjenerbaserte og interaktive nettsider Vi skriver våre programmer i PHP-filer, som oftest med navn som fil.php Disse filene lagrer vi på en webtjener, der hvor vi lagrer html-filer. En PHP-er, stort sett, en HTML-fil, med (potensielt) dynamisk innhold. Viktige bregreper å diskutere, er Hva er "et programmeringsspråk"? Hva betyr "en dynamisk nettside"? Hva menes med at en side er "interaktiv"? Hva menes med "tjenerbasert"? I dagens forelesning skal vi først prøve å se på disse begrepene. Underveis lager vi et første (og andre) program, som utfører en meget enkel oppgave. En statisk nettside ser lik ut hver gang den hentes frem Samme visning, uansett av hvem, hvor og når siden hentes fram. Eksempel: en statisk nettside. (samme visning hver gang jeg klikker). En dynamisk nettside kan se annerledes ut fra gang til gang. Et eksempel: en dynamisk nettside (klikker 3 til 4 ganger: forskjellig innhold fra gang til gang!) statisk: HTML-fil, med "klokkeslettet" skrevet som tekst. dynamisk: krever en mekanisme, som "henter" det faktiske klokkeslettet og tilrettelegger for visning 1 of 12 21.08.2016 18:38 2 of 12 21.08.2016 18:38

Med PHP kan vi ta i bruk data fra brukere, ved hjelp av HTML-forms PHP-programmer er istand til å ta i bruk data som brukere av nettsider legger i utlagte FORM-elementer. Hva heter du? Data fra FORM-elementer overføres via nettet til webtjeneren, som tilpasser nettsidens funksjon til dataene. PHP henter klokkeslettet på tjeneren (fritt etter Lash (2003), figur 1.2). En tjenerbasert, dynamisk nettside tilrettelegges på tjenermaskinen Vi bruker den dynamiske webklokken som eksempel. Følgende skjer når vi klikker på en lenke til en tjenerbasert dynamisk webklokke: nettleseren sender en forespørsel til tjeneren, som finner riktig PHP-program (med URL'en til PHP-filen) PHP-programmet etterspør det øyeblikkelige klokkeslettet gjør klokkeslettet om til en forståelig tekststreng (for eksempel "12.02.02") Det ferdig tilrettelagte innholdet overføres til vår nettleser over nettet. Webtjenerprogrammet (et annet program) sender strengen med klokkeslettet over nettet til vår nettleser, for visning. I dette eksemplet viser vår nettleser tjenerens klokkeslett. Hvis vår tjener er lokalisert i USA, risikerer vi å få et klokkeslett som ikke passer med vårt. Slike FORM-elementer ser vi på neste gang! Med PHP kan vi anvende databaser i våre dynamiske nettsider. Mange dynamiske websteder bruker databaser. PHP-programmer gjør brukere istand til å hente spesifikke data over webben, på forespørsel endre data i databaser på forespørsel Databaser er ikke en del av dette kurset, men er dekket i læreboka (for interesserte) Kort svar: Mange steder. Ofte små og mellomstore nettsteder. 3 of 12 21.08.2016 18:38 4 of 12 21.08.2016 18:38

Vi vever PHP-instruksjoner sammen med "faste" HTML-setninger Eksempel 2: En XHTML fil med én linje generert med PHP Dette eksemplet gjør lite utover genreringen av "vanlig" HTML-kode. Forskjellen er at eksemplet gjør det med et PHP-program. "print" innenfor en PHP-blokk gjør at HTML-KODEN med blå bakgrunn flettes med den "faste" HTML koden (med grå bakgrunn) Teksten (XHTML-koden) utenfor PHP-blokken kaller vi for "maltekst" (template text). Den sammenflettede siden sendes nettleseren. Obs. semikolontegnet bak klammen!!!! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>et første eksempel </title> </head> <body> print(" <p>dette er mitt første PHP-program</p>"); </body> </html> Slik ser resultatet ut i sidevisning: og slik ser det ut i kildevisning. Helt vanlig HTML (kan ikke se at den kommer fra PHP) 5 of 12 21.08.2016 18:38 6 of 12 21.08.2016 18:38

Eksempel 3: Flere linjer med HTML Her skriver vi PHP-kode som skal bli til 5 linjer med innhold. Vi bruker vanlig avsnittsstruktur: en overskrift, et avsnitt og en liste. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1 /DTD/xhtml1-transitional.dtd"> <html> <head> <title>det andre eksemplet</title> </head> <body> print("<h3>dette er en overskrift</h3>"); print( "<p>nå følger en liste med innførsler</p>"); print("<ul>"); print(" <li>første innførsel</li>"); print(" <li>andre innførsel</li>"); print(" <li>tredje innførsel </li>"); print("</ul>"); </body> </html> I nettleseren: PHP tilbyr også instruksjonen echo. echo gjør temmelig nøyaktig samme nytten som print. Mange programmerere (og mange lærebøker) bruker "echo" istedenfor print. Dette er en smaksak. Vi skriver kommentarer i programkoden for at vi (og andre) lettere skal kunne lese våre programmer Det tar ofte tid å utvikle et program. Derfor greit å utstyre programmet med kommentarer, slik at vi (og andre) kan, i ettertid, skjønne hva vi skrev. Kommentarer i programmet påvirker ikke programmets funksjon. Blir ikke tolket! PHP tillater to typer kommentarer: énlinjet og flerlinjet. En linje i en PHP-blokk som begynner med to skråstreker er en kommentarlinje: // Neste linje printer en linje med tekst til nettleseren print("<p> Denne linjen skrives til nettleseren</p>"); Denne linjen skrives til nettleseren En blokk-kommentar, mellom /* og */ kan strekke seg over flere linjer: /* Neste linje printer en linje med tekst til nettleseren */ print("<p> Denne linjen skrives til nettleseren</p>"); 7 of 12 21.08.2016 18:38 8 of 12 21.08.2016 18:38

Eksempel 4: Kode med innlagte kommentarer Eksempel 5: Kode for den dynamiske webwebklokken Det kreves ennå ikke at dere forstår PHP-koden for den dynamiske webklokken. Men siden vi snakket en del om den idag - kan det være greit å vise den... Merk linenummerne: ikke en del av koden!! Jeg kommer til å bruke linjenumre i noen av eksemplene i fremtiden. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1 /DTD/xhtml1- <html> <head> <title>kommentarer</title> </head> <body> /* Dette programmet skriver noen linjer til en nettleser. Skrevet av Michael*/ // Linjen nedenfor skriver overskriften print("<h3>dette er en overskrift</h3>"); print( "<p>nå følger en liste med innførsler</p>"); //linjene nedenfor skriver innførslene print("<ul>"); print(" <li>første innførsel</li>"); print(" <li>andre innførsel</li>"); print(" <li>tredje innførsel </li>"); print("</ul>"); </body> </html> 1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org /TR/xhtml1/DTD/xhtml1-2. <html> 3. <head> 4. <title>dynamisk klokke</title> 5. </head> 6. <body> 7. <p> klokka er 8. 9. // Hent klokkslettet fra tjeneren, og plasser i en tekststreng 10. $klokke_streng=date("g\.i\.s"); 11. 12. // Vis streng med klokkeslett i nettleservinduet 13. print($klokke_streng); 14. 15. </p> 16. </body> 17.</html> Med hjelp av programmeringsspråket PHP skal vi få vår tjenermaskin (bibin.hio.no) til å lage dynamisk HTML-innhold. Instruksjonene i PHP er vevd sammen med "vanlige" HTML-koder og tekst. De skrives i PHP-blokker innenfor disse sidene. En PHP-blokk begynner med "" og avsluttes med "". Innholdet som genereres av PHP-blokker er dynamisk: Sidevisningen blir ikke påvirket av kommentarer. det genereres hver gang vi henter fram nettsiden, og kan være forskjellig fra gang til gang Filen som viser 12.00.00 hele tiden heter, for eksempel, klokke_s.htm Filen som viser et annet (og riktigere) klokkeslett heter klokke_d.php PHP-skrevne nettsider kan også være interaktive, ved å bruke FORM-elementer 9 of 12 21.08.2016 18:38 10 of 12 21.08.2016 18:38

Valgfrie oppgaver Lagring av filer Dere Må lagre alle deres filer et sted under M:\public_html (bibin-maskinen). Filer med PHP-blokker skal ha ".php" til etternavn. Maskinen bibin.hio.no er webtjeneren, som kjører våre PHP-programmer og sender den ferdig tilrettelagte nettsiden til nettleseren For eksempel: M:\public_html\minfil.php : filen er synlig gjennom http://bibin.hio.no/~s<ditt studentnummer>/minfil.php Den må tolkes av webtjeneren for å vises riktig!!! Noen av oppgavene i oppgavetekstene er valgfrie, og er merket med (*). løs "ustjerna" oppgaver først prøv de "stjerna" oppgaver etterpå (hvis dere får tid / lyst) Vi har forsøkt å organisere det slik at de valgfrie oppgaver gir enten ekstra øvelse i obligatoriske kunnskaper, eller, en utfordring for de ekstra interesserte. Deltakelse på labøvelser er å ta ansvar for egen læring Vi bruker ressurser på å gi dere mulighet til veiledet oppgaveløsning. Bruk muligheten!! Lab-øvelsene denne uken skal få følgende til "å sitte": Forståelse av infrastrukturen: PHP trenger en webtjener for å bli tolket Plassere filer på webtjeneren: Hvor skal de plasseres og hvordan de skal vises Vise XHTML-avsnitt skrevet med print() på deres nettleser Skriving av linjeskift og kommentarer I motsetning til (X)HTML-filer, får dere ikke vist filer som har ".php" til etternavn ved å dobbelklikke dem i windows utforsker vist filer med adresse som M:\public_html\minfil.php Dere må skrive hele adressen til filen: "http://bibin.hio.no/~s123456/minfil.php" (eller klikke på en lenke til den) Sist oppdatert 21/08-16 av Michael Preminger, michael.preminger@jbi.hio.no Programmering læres gjennom beina! Man lærer ved å programmere! Vi har prøvd å bygge opp lab-øvelsene gradvis, dvs. at vi starter med meget enkle oppgaver (kanskje kjedelige?), og bygger opp til litt mer krevende oppgaver. Det vil si at: Dere må løse enkle oppgaver, bl.a. for å bli fortrolig med verktøy og infrastruktur Dere må ta den tiden det tar å prøve og feile Dere må balansere mellom å gi dere for fort på den ene siden, og stange hodet unødvendig mot veggen på den andre siden. Denne balansegangen er individuell Dere finner fort ut hva dere trenger Utover det: Bruk oss (undertegnede og lab-instruktørene) 11 of 12 21.08.2016 18:38 12 of 12 21.08.2016 18:38