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

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

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

EKSAMEN ITF Webprogrammering 1 Dato: Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

EKSAMEN (Konvertert fra en gammel PHPeksamen)

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Eksamessett Høst 2009 Robin Sværen og Simen Arvesen

Høgskoleni østfold EKSAMEN

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

EKSAMEN (Konvertert fra en gammel PHPeksamen)

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

EKSAMEN (Konvertert fra en gammel PHP-eksamen)

Høgskoleni østfold EKSAMEN

Eksamen i IBE102 Webutvikling Våren 2017.

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)

SVARFORSLAG : Eksamen i IBE102 Webutvikling Våren 2017.

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

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

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

Høgskoleni østfold EKSAMEN. Emne: Innføring i programmering

HØGSKOLEN I SØR-TRØNDELAG

Tilkobling og Triggere

Eksamen i Internetteknologi Fagkode: IVA1379

Oblig 4. Alternativ A: Alternativ B: Denne obligen har 3 ulike alternativ: Alternativ A: For de som har lyst til å gjøre et eget prosjekt

Datamodellering og databaser SQL, del 2

Dersom noen oppgaver er så vanskelige at du ikke vet hvordan du skal løse de, gjør forenklinger og forklar nøye hva du har forenklet/tatt bort.

Oppgave 1 (Opprett en database og en tabell)

HØGSKOLEN I SØR-TRØNDELAG

Databaser kort intro. Tom Heine Nätt

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

Datamodellering og databaser SQL, del 2

Datamodellering og databaser SQL, del 2

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

Innføring i bruk av CGI4VB

Innføring i bruk av CGI4VB

Test 2 OOP. - Prøveeksamen

HØGSKOLEN I SØR-TRØNDELAG

Funksjonsbeskrivelse

Videregående programmering 6

Oblig 5 Webutvikling. Av Thomas Gitlevaag

HØGSKOLEN I SØR-TRØNDELAG

SQL 3: Opprette tabeller, datainnsetting og utsnitt

HØGSKOLEN I SØR-TRØNDELAG

Øvingsoppgave uke 3. Fanger i fengsel

HTML og relasjonsdatabaser med PHP

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

EKSAMEN Eksamenstid: Hjelpemidler: 2 A4 ark (4 sider) med egenproduserte notater (håndskrevne/maskinskrevne)

12. Et større ASP-eksempel Innledning Beskrivelse av nett-butikken. Innhold

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

9. ASP med databasekopling, del II

HØGSKOLEN I SØR-TRØNDELAG

Radix en enkel innføring

EKSAMEN ITF Innføring i programmering Dato: Eksamenstid: 11/

SPSS Høgskolen i Innlandet

Miniverden og ER- modell

SQL: Datatyper m.m. Evgenij Thorstensen V18. Evgenij Thorstensen SQL: Datatyper m.m. V18 1 / 12

MySQL-database, php. Innhold. 8 MySQL-database, php. 8.1 Databasen MySQL

Kapittel 11. Databasesikkerhet

Flytte Lønn 5.0 fra SQL 2000 til SQL 2005 / 2008

Kjøre Wordpress på OSX

Sikkerhet og tilgangskontroll i RDBMS-er

HTML5. Skjemaer på nettsider. Skjemaer med. Informasjonsteknologi 1 og 2. Gløer Olav Langslet Sandvika VGS

HØGSKOLEN I SØR-TRØNDELAG

5XQH.MHOYLN )URQW3DJHRJGDWDEDVHU

HØGSKOLEN I SØR-TRØNDELAG

Eksamen i Internetteknologi Fagkode: ITE1526

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

Delinnlevering 2. INF1050, våren Inge Svale Hauger Handagard (ishandag) Tor Hildrum (thildru)

Prosedyrer. Lars Vidar Magnusson. October 26, Lars Vidar Magnusson () Forelesning i DAS October 26, / 19

1. SQL datadefinisjon og manipulering

Brukermanual. System for oversiktslister. Entreprenører

Steg 1: Få noe på skjermen

Brukermanual. System for oversiktslister. Entreprenører

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

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

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

Hvordan bestille MSDN AA

MinGat ny innloggingsmetode

>>12 Arbeide med MySQL

Høgskoleni østfold EKSAMEN

HØGSKOLEN I SØR-TRØNDELAG

Oblig 1 Databaser vår 2011

Feilmelding Årsak Løsning

HØGSKOLEN I SØR-TRØNDELAG

Øvingsforelesning 1 Python (TDT4110)

Veiledning Voksenopplæringsundersøkelsen

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

1. Innføring i bruk av MySQL Query Browser

TAIME DATABASE INSTALLASJONSVEILEDNING

EKSAMEN 6102 / 6102N DATABASER

Administrering av SafariSøk

ORDBMS og OODBMS i praksis

Eksamen i Internetteknologi Fagkode: ITE1526

Oppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.

Scan Secure GTS PAS

Oppgave 1 Flervalgsoppgaver (25%)

Brukerdokumentasjon for registrering og rapportering beredskapsutstyr hos Post og Teletilsynet

Funksjonsbeskrivelse Studentsystem. Fornavn Etternavn Avdelingsnavn

Verdier, variabler og forms

Oppgave #1 Tablespacer, Tabeller, Indexer, og Brukere

Transkript:

Her er eksamenssett fra Vår '09. Av Robin Sværen og Simen Arvesen. Del 1 Kodeforståelse (10%) Her skal du kun svare på selve spørsmålet, og du trenger ikke forklare hvordan du kommer frem til svaret. NB! Les koden og selve spørsmålet nøye, for det kan være mange feller å gå i her... Oppgave 1.1 (2%) svar: A $a=5; $b=6; if($a!= $b) echo "A"; else echo "B"; Oppgave 1.2 (2%) svar: B $a=5; $b=6; if($a < $b) echo ($a%2==0?"a":"b"); else echo ($b%2==0?"c":"d"); Oppgave 1.3 (2%) svar: 7 function fun($a,$b) return $a-$b; echo fun(10, fun(6,3) ); Oppgave 1.4 (2%) svar: AAA $a=4; $b=6; for($i=$b;$i>=$a;$i--) echo "A";

Oppgave 1.5 (2%) svar: AAAA for($i=0;$i<2;$i++) for($j=0;$j<2;$j++) echo "A"; Del 2 Grunnleggende programmering (40%) Alle oppgavene i denne delen kan løses uavhengig av hverandre. Oppgave 2.1 (10 %) Skriv kode som produserer følgende utskrift (teksten "..." skal selvsagt erstattes med de virkelige utskriftene fra 8 til 99). 0*0=0 1*1=1 2*2=4 3*3=9 4*4=16 5*5=25 6*6=36 7*7=49... 100*100=10000 For($i=0; $i<101;$i++) $produkt=$i*$i; echo $i. *.$i. =.$produkt;

Oppgave 2.2 (10 %) Skriv ferdig følgende funksjoner. a) Funksjon som returnerer absoluttverdien av et tall (Absoluttverdien er selve tallverdien uten fortegn, slik at 7 og -7 begge returnerer 7). Du får her ikke benytte deg av den innebygde abs-funksjonen. function absoluttverdi($tall) if($tall>=0) return $tall; else return (-1*$tall); b) Funksjon som finner gjennomsnittet av elementene mellom en nedre og øvre index i en array. function finngjennomsnittutvalg($array,$startindex,$sluttindex) $ant=$sluttindex-$startindex+1; $sum=0; for($i=$starindex;$i<=$sluttindex;$i++) $sum+=$array[$i]; Return $sum/$ant;

Oppgave 2.3 (20%) Gå ut i fra at du har definert en array med navn på studenter. Denne definisjonen kan f.eks se ut som følger: $arr = array("hans","ole","nils","olav","per","knut","kari","line","pia"); Skriv kode som plukker ut tre tilfeldige navn fra denne arrayen, og legger disse i en egen/ny array (kopi av navnene). Du må også sørge for at samme navn ikke blir plukket ut flere ganger. $lastkey=count($arr) -1; $navn=array(); for($i=0;$i<3;$i++) $tt=rand($i, $lastkey); $temp=$arr[$tt]; $arr[$tt]=$arr[$i]; $arr[$i]=$temp; $navn[]=$temp; Del 3 Parametere, Skjemaer, filbehandling og databaser (50%) Et arrangement ønsker seg en webside der deltakerne kan registrere hvilken matrett de vil spise. Under ser du et skjermbilde fra websiden med navn bestilling.php. Selve nedtrekkslista skal hente elementene sine fra en oppdaterbar fil med navnet meny.txt. Denne fila har én matrett per linje, og kan f.eks se ut som følger: Torsk Pizza Bestillingsskjemaet skal sende dataene videre til websiden registrer.php, som så lagrer dataene i en databasetabell med navn bestilling. Denne er definert som følger: CREATE TABLE bestilling ( tidspunkt DATETIME, navn VARCHAR(255), epost VARCHAR(255), matrett VARCHAR(50), PRIMARY KEY(tidspunkt) ) Fylt med data kan da denne tabellen typisk se slik ut: tidspunkt navn epost matrett 2009-05-06 12:02:34 Per Persen per.persen@domene.no Torsk 2009-05-09 16:22:15 Ole Olsen ole.olsen@domene.no Pizza Databasen befinner seg på samme maskin som websidene vil gjøre, og har brukernavnet webuser, passordet drossap og databasenavnet nettside.

Oppgave 3.1 (15%) Skriv PHP/HTML-koden for å produsere siden bestilling.php. Husk at nedtrekkslista skal fylles med elementer fra fila meny.txt. HTML-koden for en nedtrekksliste er forøvrig: <select name="onsketmat"> <option value="torsk">torsk</option> <option value="pizza">pizza</option> </select> NB! Forklar hvorfor du velger hhv. POST eller GET som overføringsmetode. <h1>bestilt matrett</h1> <form action= registrer.php method= POST > <input type= text name= navn /> <input type= text name= mail /> <select name= onskemat > $peker=fopen( meny.txt, r ); while($linje=fgets($peker)) echo <option value=.$linje. >.$linje. </option> ; </select> <input type= submit name= knapp value= Bestill /> </form> Valgte post på grunn av ekstra sikkerhet ved bestilling av matrett, slik at parameterne ikke synes i url en. Oppgave 3.2 (15%) Skriv koden i fila registrer.php som tar i mot dataene fra bestilling.php. Dette scriptet skal utføre følgende: a) Feilkontroll på feltene navn og epostadresse (her holder det å sjekke at feltene er fylt ut med minst 5 tegn). Om ikke kontrollen er ok, skal en passende feilmelding presenteres for brukeren (ulik feilmelding for ulike feil). b) Om feilkontrollen i oppgave a er ok, skal dataene lagres til databasetabellen bestilling, og en kvittering skal bli vist for brukeren. if(isset($_request[ knapp ])) $navn=$_request[ navn ]; $mail=$_request[ mail ]; $mat=$_request[ onskemat ]; if(strlen($navn)<5 strlen($mail)<5) if(strlen($navn)<5) echo Ugyldig navn ;

if(strlen($mail)<5) echo Ugyldig mail ; else $kobling=mysql_connect( localhost, webuser, drosap ); mysql_select_db( nettside, $kobling); $sql= INSERT INTO bestilling (tidspunkt,navn,epost,matrett) VALUES(now(), $navn, $mail, $mat ) ; $res=mysql_query($sql, $kobling); if($res) echo <b>kvitering:</b><br /> ; echo Bestilling av $mat er ok! ; else echo Beklager!, bestillingen er ikke ok! ; mysql_free_result($res); mysql_close($kobling); Oppgave 3.3 (20%) Lag en webside som presenterer informasjonen fra databasen på følgende form: Torsk: Per Persen (per.persen@domene.no) Knut Knutsen (knut.knutsen@domene.no) Pizza: Ole Olsen (ole.olsen@domene.no) Tore Toresen (tore.toresen@domene.no) Kari Karisen (kari.karisen@domene.no) Kobler til på samme måte som i forrige oppgave, og bruker heretter bare variabelen $kobling: $sql= SELECT DISTINCT matrett FROM bestilling ; $result=mysql_query($sql, $kobling); while($rekke=mysql_fetch_array($result)) echo $rekke[ matrett ]. <br /> ; $sql2= SELECT navn,epost FROM bestilling WHERE matrett= $rekke[ matrett ] ;

$result2=mysql_query($sql2, $kobling); while($record=mysql_fetch_array($result2)) echo $record[ navn ]. (.$record[ epost ]. )<br /> ; mysql_free_result($result2); mysql_free_result($result); mysql_close($kobling);