HTML og relasjonsdatabaser med PHP



Like dokumenter
Verdier, variabler og forms

Del 1: Overgang fra gammel hjemmeside til ny hjemmeside

HØGSKOLEN I SØR-TRØNDELAG

Hvordan å lage og publisere ditt personlige visittkort

Brukermanual for kommuneansvarlig og testleder

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

Web Tips #2 november 2011

Brukerveiledning Tilkobling internett

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

1. Tilstandsinformasjon på klientsiden

Brukerdokumentasjon. for mappevurdering i. Vortex

Brukerveiledning Tilkobling internett ALT DU TRENGER Å VITE OM BRUKEN AV INTERNETT

EKSAMEN. Les gjennom alle oppgavene før du begynner. Husk at det ikke er gitt at oppgavene står sortert etter økende vanskelighetsgrad.

Logg inn og introduksjon # 1. Endre passord # 2. Medlemsliste # 3. Registrere et nytt medlem/ny medarbeider # 4. Registrering av tidligere medlem # 5

5XQH.MHOYLN )URQW3DJHRJGDWDEDVHU

Brukermanual Scriptor 2006 Side 1 av 7. Brukermanual. Scriptor Copyright AESTON

Brukerveiledning Tilkobling internett

Introduksjon til beslutningsstrukturer

PJ 501 Brukermanual NITH. Troja.NET brukermanual

Veileder i bruk av GoodReader

Bredbånd og pc Brukerveiledning. Dette er en utdatert brukerveiledning som kan omhandle utgåtte tjenester og utstyr

Bruksanvisning/Veileder For Mysoft Regional medlemsservice (RMS) i Norsk Folkehjelp

Veiledning for innlevering av Årsrapport

Publisering av statiske og dynamiske websider til klasserom.net fra Dreamweaver og MySQL

INF130 Datahåndtering og analyse

Guide for tilkobling til HIKT s Citrix løsning

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Enbruker-installasjon

Web Computing AS Brukerveiledning WebWiz 3.0. WebWiz 3.0. Brukerveiledning

Komme i gang med Skoleportalen

Brukerveiledning Bruk av siden. Når du går inn på siden får du opp følgende bilde:

Hvordan legge ut en melding i Fronter

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

Tilkobling og Triggere

Administrasjon av kataloger - Oversikt over innstillinger på kataloger

Utførelse av programmer, metoder og synlighet av variabler i JSP

Brukermanual til Domenia Norges adminløsning

POLITISKE SAKSDOKUMENTER:

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

Brukermanual for nettpublisering. frivilligsentral.no

Minfagplan.no. Brukermanual. Veiledning for lærere. Dokumentnummer: BV-001. Revision 1.4. August 25 th

infotorg Enkel brukermanual

infotorg Enkel brukermanual

Tre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon

Visma Enterprise. Versjon Fakturering Brukerveiledning - enkel utgave

Labquality/NKK ELEKTRONISK RESULTATSKJEMA VIA INTERNET. Åpning av skjemaet. Logg inn på Participant services. Velg resultatskjemaet

Brukerveiledning Visma Bizweb i Visma Global

Installasjon av Windows 7 og Office 2016

Slik administrerer du Ståstedsanalysen

Endringer etter omlegging til ny AD

Brukerveiledning for å legge inn Støtteordning, Rammer, Forenklet tilsagn, Endringer på tilsagn, Årsrapportering

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Veiledning for å behandle søknader refusjon av sukkeravgift på Min Side

Fra datax til Visma eaccounting

Installasjonsveiledning. Mamut. Oppdatering til versjon 12.1

Avansert oppsett. I denne manualen finner du informasjon og veiledning for avansert oppsett av din Jensen AirLink ruter.

Google Cloud Print-guide

AirLink 2200 FAQ. Side 2 Side 2 Side 3 Side 4 Side 6 Side 7 Side 8 Side 10 Side 11 Side 12 Side 13 Side 13 Side 14 Side 15 Side 16 Side 18

Huldt & Lillevik Lønn og Personal - System 4. Oppdatering. Personec AS. Veiledningen er oppdatert pr

Kortfattet Brukermanual for nye revmatiker.no

PixEdit Guide MEDFAK (5. utkast)

Google Chrome. Microsoft Edge. Mozilla Firefox. Internet Explorer. Opera. Safari

en hjemmeside Lesson Introduksjon Du kjenner en del HTML tagger, så nå er det på tide å lage din første hjemmeside! La oss begynne med en gang.

Manual for å oppgrade TS 1000 fra:

Brukerveiledning Tilkobling Altibox Fiberbredbånd

Kjøre Wordpress på OSX

student s104111, s107911, s122357

Klargjør for dashbord i it s learning

UiS-IKT Kompetanse Word Adresselister og fletting

Innhold 1 Universelt utformete og tilgjengelige PDF dokumenter Hvorfor PDF? Gjør det lettere for deg selv Eksporter fra Word

Internett og pc Brukerveiledning

Introduksjon til dataanlegget ved Institutt for informatikk. Marc Bezem Institutt for informatikk Universitetet i Bergen

Steg for steg. Sånn tar du backup av Macen din

1. SQL datadefinisjon og manipulering

buildingsmart Norge Guiden

PUNKT TIL PUNKT-KOBLING KOBLING. Versjon 10/10. Hvordan kobler jeg controlleren til en pc 1

Administrasjon av saker. - Redigere saker med standard mal

Bruksanvisning for administrasjon av

FTP Info til brukerne

Maestro Klientadministrasjon

Kanter, kanter, mange mangekanter

Trykk Caps Lock én gang for å skrive bare store bokstaver. Trykk Caps Lock en gang til for å slå av denne funksjonen.

Velkommen som ny bruker av Uni Økonomi!

Brukerveiledning digital eksamen i FLOWlock

Visma Flyt skole. Foresatte

Introduksjon til Telltur

Bruk av it s learning

Skilpaddefraktaler Erfaren Python PDF

GruNot '95. Notatsystem for gruppeterapi. Versjon

Innhold. Epostprogrammer og webmail.

Mamut. Installasjonsveiledning. Oppdatering til versjon Detaljert steg-for-steg veiledning i hvordan oppdatere ditt datax-program fra Mamut

Mamut Business Software

RUTEPLANLEGGINGSSYSTEM BRUKERVEILEDNING

1. Installasjon av web-tjener og teori

Behandling av dokumenter i Microsoft Word. En rask innføring

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

HJELPEGUIDE TIL WEB-TIME

Brukerveiledning for programmet HHR Animalia

Løsningsforslag til eksamen 24. november 2015

Veiledning hjemmeside Stjørdal Friidrettsklubb

Transkript:

HTML og relasjonsdatabaser med PHP Oppgaveveiledning Kent Dahl <kentda@pvv.org> Informasjonsbehandling Brukersystemer Orkdal videregående skole (7. mars 2004) Innholdsfortegnelse 1. Introduksjon...2 1.1. Grupper...2 1.2. Opplysninger...2 2. Oppsett...3 2.1. Surfe til webtjeneren...3 2.2. Koble opp mot en delt mappe på Windows nettverket...3 2.3. Lage gruppens egen katalog på webtjeneren...3 3. HTML...4 3.1. Table, tr, th og td...4 3.2. Oppgaver...4 3.2.1. Gruppeliste...4 3.2.2. Rediger HTML...4 3.2.3. Hjemmeside...4 4. Redigere PHP...5 4.1. Kjapp titt på PHP kode...5 4.2. Oppgave: Redigere PHP kode...5 5. Koble oss til databasen fra PHP...6 5.1. Gjøre klar databasen...6 5.2. Oppgave 1: PoststedListe.php...6 5.3. Oppgave 2: Bratt klatreklubb prisliste...6 6. Motta innput fra brukeren...7 6.1. Skjemaer...7 6.2. Hente innputdata i PHP...7 7. Legge poster inn i databasen...8 7.1. Oppgave 1: NyttPoststed.php...8 7.2. Oppgave 2: Bratt poststed...8 7.3. Oppgave 3: Nye Bratt kunder...8 8. Vedlegg...9 8.1. Kildekode...9 8.1.1. enkel.php...9 8.1.2. PoststedListe.php...10 8.1.3. SkjemaInnput.html...11 8.1.4. Innput.php...11 8.1.5. NyttPoststed.php...12 Dette dokumentet, og filene, er tilgjengelig elektronisk på: http://www.pvv.org/~kentda/fag/follo/ HTML og relasjonsdatabaser med PHP Side 1

1. Introduksjon Dette undervisningsopplegget forsøker å koble skriving av websider (HTML) med relasjonsdatabaser (Microsoft Access), ved hjelp av programmeringsspråket PHP. 1.1. Grupper Gå sammen i grupper med 2 3 stykk per gruppe. Dere trenger minimum 2 PCer per gruppe. Minst en av dem må kjøre i Windows slik at dere kan bruke Access. 1.2. Opplysninger Plass for å notere ned opplysninger som endrer seg i timene. Opplysning Opprinnelig Endringer / notater Gruppens navn Gruppekatalog gruppe1 Webtjenerens IP 192.168.0.46 Webtjenerens navn C13_03 Passord webtjener WebPhp HTML og relasjonsdatabaser med PHP Side 2

2. Oppsett 2.1. Surfe til webtjeneren For å kunne se websidene våre ordentlig, må vi kunne surfe til dem med nettleseren. IP adressen til webtjeneren er 192.168.0.46, så det skal væ re mulig å gå til http://192.168.0.46/ i nettleseren. Dersom det ikke fungerer, kan det enten vær e webtjeneren ikke er slått på (mas på veilederne) eller at innstillingene i nettleseren ikke lar dere surfe til maskiner på lokalnettet. I Windows kan du endre disse innstillingene i nettleseren Internet Explorer ved å gå på menyen (Vis >Alternativer for Internett), gå til arkfanen Tilkobling i dialogboksen og klikk på Avansert nede i boksen Proxy server. I den neste dialogboksen legger du til IP adressen 192.168.0.46 i listen over adresser som ikke skal gå via webproxyen. (Exceptions) Det fungerer omtrent tilsvarende i Skolelinux dersom noen ønsker å bruke det. a) Hva er en IP adresse? b) Hva er en (web )proxy? 2.2. Koble opp mot en delt mappe på Windows-nettverket Dere skal arbeide opp mot en katalog som ligger på webtjener maskinen. Derfor må dere koble dere opp mot denne. På Windows nettverket heter webtjeneren C13_03, katalogen som deles heter php og derfor er \\C13_03\php\ navnet på ressursen vi vil ha tak i. Vi kan gå direkte til ressursen i Internet Explorer eller i filbehandleren (Min Datamaskin) ved å skrive inn stien til ressursen i adresselinjen. (Merk at skråstrekene går motsatt vei av det de pleier når man surfer til websider! Det er fordi vi nå går til noe på Windowsnettverket og ikke Internett.) Ressursen har ett passord slik at dere får skrivetilgang og det er WebPhp (pass på store og små bokstaver). 2.3. Lage gruppens egen katalog på webtjeneren Dersom forrige steg gikk greitt skal dere nå kunne se en del filer under \\C13_03\php\. Kopier katalogen mal (høyreklikk, kopier, høyreklikk, lim inn) og gi kopien et unikt navn, f.eks. gruppe1 hvor dere bytter ut tallet med deres gruppenummer, eller et kort navn på gruppen. Dere skal bare redigere filer inne i denne katalogen. Pass på å ikke rote borti filene til de andre gruppene!!! Husk også å ta sikkerhetskopi av deres gruppekatalog med jevne mellom. Kopier gruppekatalogen til deres personlige hjemmekatalog (H:) i tilfelle noe går galt på webtjeneren eller noen andre sletter filene deres ved et uhell. Sjekk deretter at katalogen deres er tilgjengelig via webtjeneren på: http://192.168.0.46/php/gruppe1/ HTML og relasjonsdatabaser med PHP Side 3

3. HTML Lenker om HTML: http://www.orkdal.vgs.no/pt/index.php?name=html redigering 3.1. Table, tr, th og td Tabellstrukturen er en av flere måter å presentere informasjon på en oversiktelig måte i HTML. <html> <head> <title>tabell eksempel</title> </head> <body> <h1>tabell eksempel</h1> <table border="1"> <tr> <th>produkt</th> <th>pris</th> </tr> <tr> <td>cola</td> <td>kr. 15,-</td> </tr> <tr> <td>snickers</td> <td>kr. 8,-</td> </tr> <tr> <td>osteloff</td> <td>kr. 25,-</td> </tr> </table> </body> </html> Figur 1 Kildekode for eksempel på tabell i HTML Tabell elementer: TABLE toppnivå elementet som inneholder hele tabellen. TR table row en rad i tabellen. TH table header en overskrift i tabellen. TD table data en datacelle i tabellen. 3.2. Oppgaver 3.2.1. Gruppeliste Lag et HTML dokument med en tabell som inneholder informasjon om medlemmene i gruppen deres. Eksempel på innhold er fornavn, etternavn, fødselsdato, epostadresse, valgfag etc. Husk overskrifter i tabellen. Legg HTML dokumentet ut på gruppekatalogen deres (\\C13_03\php\gruppe1), slik at dere kan se websiden på http://192.168.0.46/php/gruppe1/gruppeliste.html eller lignende. 3.2.2. Rediger HTML Åpne filen \\C13_03\php\gruppe1\index.html i gruppekatalogen deres i en teksteditor (f.eks. Notisblokk) og legg til en lenke som peker til gruppelisten deres. Legg gjerne til flere lenker etter hvert som dere lager nye HTML eller PHP dokumenter. 3.2.3. Hjemmeside Dersom dere har tid til overs, kan dere arbeide videre med hjemmesidene dere laget tidligere i vår. Er det kanskje noe der som hadde gjort seg bedre i en tabell? HTML og relasjonsdatabaser med PHP Side 4

4. Redigere PHP For å kunne hente data i fra databasen må vi ha et programmeringsspråk som hjelper oss. Vi skal benytte PHP. PHP lar oss i nnebake programkode i en HTML fil. Denne programkoden vil utføres på webtjeneren og resultatet av beregningene koden gjør, vil vises i HTML filen som kommer opp i nettleseren. Lenker med informasjon om PHP: http://www.php.net/ http://www.orkdal.vgs.no/pt/index.php?name=php mysql (IKT driftsfag sine sider) 4.1. Kjapp titt på PHP-kode Åpne filen \\C13_03\php\gruppe1\enkel.php i en teksteditor. (Bytt ut gruppe1 i stien med deres valgte katalognavn.) Åpne samtidig den samme filen via en nettleser ved å gå til http://192.168.0.46/php/gruppe1/enkel.php slik at dere ser hva resultatet blir. I nettleseren, høyreklikk et sted i websiden og velg Vis kilde for å se hvordan HTML koden ser ut etter at PHP koden har blitt kjørt. Sammenlign filen dere åpnet via gruppekatalogen og filen dere får opp i nettleseren; PHP koden er borte og bare resultatet fra kjøringen er igjen. a) Hvor kjøres PHP programkoden? På hvilken maskin? 4.2. Oppgave: Redigere PHP-kode Forsøk å rediger PHP koden i enkel.php i teksteditoren. Endre navnet på gruppen, gruppemedlemmenes navn og hvilken gangetabell som skrives ut. Sjekk i nettleseren om det fungerer ved å trykke på oppdateringsknappen. Husk å lagre enkel.php og prøv å holde inne Shifttasten mens dere trykker på oppdateringsknappen dersom siden ikke ser ut til å bli oppdatert ordentlig. (Kildekoden finnes i vedlegget på side 9) HTML og relasjonsdatabaser med PHP Side 5

5. Koble oss til databasen fra PHP Vi ønsker nå å koble oss til en Access database fra PHP og lage dynamisk websider ut fra innholdet. Dere skal her bruke en ferdig database dere har laget tidligere, nemlig Bratt klatreklubb. Eksempelkoden fungerer opp mot en bitteliten testdatabase som allerede ligger i gruppekatalogen deres (dersom dere kopierte fra mal). 5.1. Gjøre klar databasen Databasefilen må ligge på webtjeneren i gruppekatalogen deres. Eksempeldatabasen PersonDB.mdb ligger allerede der. Deres egen databasefil for Bratt klatreklubb må kopieres inn. Deretter må man sette opp slik at man kan få tak i databasen ved hjelp av ODBC, (Open DataBase Connectivity) som er en standardisert måte å koble seg opp til relasjonsdatabaser. Dette gjøres direkte på webtjeneren, så be veilederne om hjelp. Du får da et navn på databasen, et brukernavn å koble opp med og et passord. Disse brukes i kallet til odbc_connect i PHP koden. I eksempelet under er navnet på databasen Person_gruppe1, brukernavnet gruppe1 og passordet 6ru993_1. Skriv ned de navn og passord dere får tildelt for databasene: Database Databasenavn Brukernavn Passord PersonDB.mdb Bratt klatreklubb 5.2. Oppgave 1: PoststedListe.php PoststedListe.php er et kort eksempel som kobler seg opp til PersonDB.mdb databasen og henter ut postnumre og stedsnavn fra en databasetabell Poststed og skriver det ut i en HTML tabell. (Kildekoden finnes i vedlegget på side 10) Oppgaven: Sett opp databasen på webtjeneren (be om hjelp av veileder) og rediger så deres kopi av PoststedListe.php med det databasenavn, brukernavn og passord dere får. Surf til http://192.168.0.46/php/gruppe1/poststedliste.php for å se om det fungerer. Åpne deretter PersonDB.mdb i Access, legg til noen poststeder, lagre og lukk databasen. Trykk så oppdater på websiden. Kommer de nye poststedene opp? 5.3. Oppgave 2: Bratt klatreklubb - prisliste Bratt klatreklubb ønsker å ha prislisten sin på Internett slik at potensielle kunder kan få opp en liste over aktiviteter, med beskrivelse og priser. For å unngå dobbeltarbeid ønsker Bratt klatreklubb at du lager en PHP side som henter informasjonen rett fra Access databasen. Oppgaven: Kopier databasen til webtjeneren og sett den opp. Skriv deres egen Prisliste.php fil som kobler seg til databasen, henter ut aktivitetsinformasjonen og viser den i en webside. Tips: Ta utgangspunkt i koden fra PoststedListe.php som løser et lignende problem. HTML og relasjonsdatabaser med PHP Side 6

6. Motta innput fra brukeren En webside som bare kan lese fra en database er litt kjedelig. Derfor er vi interessert i å hente inn data fra brukeren, slik at vi kan legge inn nye poster. For å hente data fra brukeren kan vi bruke HTML sine skjemaer (forms). 6.1. Skjemaer Se kildekoden til eksempelet SkjemaInnput.html i vedlegget på side 11. Her bruker vi en samling av spesielle HTML tagger som lar oss definere innputfelt, valgmuligheter og hvor innputdataene skal sendes. Oppgave: Åpne SkjemaInnput.hml både i nettleseren og i en teksteditor. Kanskje kan du endre på oppsettet slik at det ser bedre ut og er lettere å bruke? Tips: Innputfeltene er litt rotete. Hva som vi fikk satt dem opp på rekke og rad, som i et rutenett? 6.2. Hente innputdata i PHP Når brukeren så har lagt inn data i SkjemaInnput.html og trykket på Submit knappen, blir de videresendt til en annen side, Innput.php, som du finner kildekoden til i vedlegget på side 11. For å bruke dem til noe fornuftig må vi først hente innputdataene ut i PHP koden. Til det bruker vi variabelen $_REQUEST som inneholder informasjonen nettleseren sendte til webtjeneren. Oppgave: Åpne SkjemaInnput.html, legg inn noen verdier og trykk på Submit knappen. Prøv med litt forskjellige verdier og se om du forstår hva som skjer i Innput.php. Prøv å legge inn et nytt innputfelt for mellomnavn. HTML og relasjonsdatabaser med PHP Side 7

7. Legge poster inn i databasen I eksempelet NyttPoststed.php (kildekode på side 12) kombineres skjema for innput og PHP koden i en og samme fil. Dersom den mottar et postnummer og poststed, forsøker den å legge til en ny post i tabellen poststed i databasen PersonDB. For å legge til 7300 Orkanger, kjører vi f.eks. SQL kommandoen INSERT INTO Poststed (Postnummer, Poststed) VALUES (7300, 'Orkanger') Merk at vi i PHP koden bruker punktum (.) for å slå sammen flere tekststrenger når vi lager SQLkoden. Når vi setter inn poststedet brukeren ga inn, må vi huske å sette fnutter (') på begge sider, da poststedet er et tekstfelt. 7.1. Oppgave 1: NyttPoststed.php Legg til noen poststed via NyttPoststed.php. Klikk inn på listen over poststedene (PoststedListe.php) for å se at de faktisk har blitt lagt inn i databasen. Forsøk å fremprovosere feil. Hva skjer om du skriver inn et poststed med samme nummer som et eksisterende sted? 7.2. Oppgave 2: Bratt poststed Lag en kopi av NyttPoststed.php kalt BrattNyttPoststed.php og tilpass denne til Bratt klatreklubb databasen deres. Sjekk at den fungerer ved å legge. 7.3. Oppgave 3: Nye Bratt kunder (Vanskelig!) Lag en PHP side hvor nye kunder kan registrere seg hos Bratt klatreklubb, med navn, adresse og poststed. Pass spesielt på hvordan dere håndterer kundens poststed. Hva skal skje dersom poststedet ikke eksisterer? HTML og relasjonsdatabaser med PHP Side 8

8. Vedlegg 8.1. Kildekode 8.1.1. enkel.php <HTML> <HEAD> <TITLE>Litt enkel PHP</TITLE> </HEAD> <BODY> <H1>Litt enkel PHP</H1> <?php $gruppenavn = "Gruppe 1"; print "<P>Vi er gruppe $gruppenavn.\n"; $person1 = "Ola Nordmann"; $person2 = "Kari Nordmann"; $person3 = "Per Nordmann"; print "<P>Gruppen består av $person1, $person2 og $person3.\n";?> <H2>Gangetabell</H2> <TABLE BORDER= 1 > <TR><TH> x </TH><TH> y </TH><TH> x gange y </TH></TR> <?php $gange = 5; for( $teller=1; $teller <= 10; $teller=$teller+1 ) $produkt = $teller * $gange; print "<TR>"; print "<TD>$teller</TD>"; print "<TD>$gange</TD>"; print "<TD>$produkt</TD>"; print "</TR>\n";?> </TABLE> </BODY> </HTML> Figur 2 Kildekode for enkel.php HTML og relasjonsdatabaser med PHP Side 9

8.1.2. PoststedListe.php <HTML> <HEAD> <TITLE>Liste over poststed</title> </HEAD> <BODY> <H1>Liste over poststed</h1> <!-- Her følger dynamisk kode som kobler oss til databasen, sender en spørring og skriver ut en rad for hvert poststed: --> <?php $databasekobling = odbc_connect( "Person_gruppe1", "gruppe1", "6ru993_1" ); if(!$databasekobling ) print "Feil under kobling til databasen. "; $sporring_sqlkode = "SELECT Postnummer, Poststed FROM Poststed"; $radpeker = odbc_exec( $databasekobling, $sporring_sqlkode); if(!$radpeker ) print "Feil under spørring av databasen. "; print "<TABLE BORDER=1> \n ; print <TR><TH>Postnummer</TH><TH>Poststed</TH></TR> \n"; while( odbc_fetch_row( $radpeker ) ) $Postnummer = odbc_result( $radpeker, 1 ); $Poststed = odbc_result( $radpeker, 2 ); print "<TR><TD>$Postnummer</TD><TD>$Poststed</TD></TR> \n"; print "</TABLE> \n"; odbc_close($databasekobling);?> <!-- Dynamisk kode ferdig og databasekoblingen avsluttet. --> </BODY> </HTML> Figur 3 Kildekode for PoststedListe.php HTML og relasjonsdatabaser med PHP Side 10

8.1.3. SkjemaInnput.html <HTML> <HEAD> <TITLE>Skjema innput</title> </HEAD> <BODY> <H1>Skjema innput</h1> <!-- et eksempel på et skjema (eller "forms") i HTML --> <FORM NAME="SkjemaInnput" METHOD=post ACTION="Innput.php"> Vennligst skriv inn:<br> Fornavn: <INPUT NAME="Fornavn" TYPE="text" SIZE="50"> <BR> Etternavn: <INPUT NAME="Etternavn" TYPE="text" SIZE="50"> <BR> Fødselsår: <INPUT NAME="Fodselsar" TYPE="text" SIZE="4" VALUE="1987"> <BR> Kjønn: <SELECT NAME="Kjonn" TYPE="text"> <OPTION value="m">mann</option> <OPTION value="k">kvinne</option> </SELECT> <INPUT TYPE="submit" VALUE="Send inn data"> </FORM> </BODY> </HTML> Figur 4 Kildekode for SkjemaInnput.html 8.1.4. Innput.php <HTML> <HEAD> <TITLE>Innput</TITLE> </HEAD> <BODY> <H1>Innput</H1> <?php $fornavn = $_REQUEST["Fornavn"]; $etternavn = $_REQUEST["Etternavn"]; $fodselsar = $_REQUEST["Fodselsar"]; $kjonn = $_REQUEST["Kjonn"]; print "<P>Hei, $fornavn $etternavn.\n"; if($kjonn=="m") print "<P>Heisann kjekken!\n"; if($kjonn=="k") print "<P>Heisann søta!\n"; $ar = 2004; $alder = $ar - $fodselsar; print "<P>Du blir $alder år gammel nå i $ar, ikke sant?\n";?> </BODY> </HTML> Figur 5 Kildekode for Innput.php HTML og relasjonsdatabaser med PHP Side 11

8.1.5. NyttPoststed.php <HTML> <HEAD> <TITLE>Nytt poststed</title> </HEAD> <BODY> <H1>Nytt poststed</h1> <!-- Vi kombinerer lagringen og skjemaet i en og samme fil. --> <?php $postnummer = $_REQUEST["Postnummer"]; $poststed = $_REQUEST["Poststed"]; if( $postnummer && $poststed ) /* Prøv å lagre dersom vi mottok både et postnummer og et poststed */ print "Fikk inn poststed $postnummer $poststed fra brukeren. \n"; $databasekobling = odbc_connect( "Person_gruppe1", "gruppe1", "6ru993_1" ); if(!$databasekobling ) print "Feil under kobling til databasen. \n"; $sqlkode = "INSERT INTO Poststed (Postnummer, Poststed) ". "VALUES ($postnummer, '$poststed')"; $resultat = odbc_exec( $databasekobling, $sqlkode ); if( $resultat ) print "Poststed ble lagt til i databasen. \n"; else print "Poststed ble <STRONG>ikke</STRONG> lagt til i databasen. \n";?> <!-- Skriv ut det tomme skjemaet. --> <FORM NAME="NyttPoststed" METHOD=post ACTION=""> Vennligst skriv inn:<br> Postnummer: <INPUT NAME="Postnummer" TYPE="text" SIZE="4" VALUE=""> <BR> Poststed: <INPUT NAME="Poststed" TYPE="text" SIZE="50" VALUE=""> <BR> <INPUT TYPE="submit" VALUE="Lagre nytt poststed"> </FORM> <A HREF="PoststedListe.php">Listen over poststed.</a> </BODY> </HTML> Figur 6 Kildekode for NyttPoststed.php HTML og relasjonsdatabaser med PHP Side 12