Gruppe: Rocky Albeck, Mark Berthelsen og Maria Solstar Programmering eksamensprojekt Dato: 06.05.09



Relaterede dokumenter
Ordbøgerne.dk. Navne: Andreas Foldager og Rasmus Bjerring Pedersen Fag: IT B Lærer: Karl Bjarnason Afleveringsdato:

IT projekt uge 4 9. Marie Vinter, Roskilde Tekniske Gymnasium, klasse 2.6 IT, bw, uge

Loginsystem (med MySQL)

Web 2.0. World Wide Web (www)

Tagwall med Php & MySQL

PHP Snippets. De små korte. Skrevet af Daniel Pedersen

Hvorfor skal vi bruge objekt orienteret databaser?

Sådan kan du sende data fra din egen hjemmeside til JitBesked via en HTML-JDF.

Naja Schlüter Roskilde Tekniske Gymnasium 26/ Interessentanalyse

CentOS 7. Lavet af Ali Sarac og Andreas Jensen

Arkitektur for begyndere

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

Af: Safa Sarac Klasse 3.4 Skole: Roskilde Tekniske Gymnasium, HTX Vejleder(e): Karl B Dato: 26. marts 2012

PHP Quick Teknisk Ordbog

SKOLELOGIN KNANPU1 FULDE NAVN ANAN PUSKAR URL TIL LØSNING URL TIL PORTFOLIO

Ratingsystem i PHP og MySQL

Procesbeskrivelse - Webprogrammering

Uploade billeder eller andre filer ved hjælp af php og mysql

Begrynder til at lave log ind system

Gæstebog med validering opbygget med MySQL

Programmering I Java/C#

Roskilde Tekniske Gymnasium. Eksamensprojekt. Programmering C niveau

I denne arktikle går jeg gennem Slet, Ret og Opret data i en MySQL database. der er også en lille del i den hvor den postere datanen ud i en løkke

Umbraco installationsvejledning

Afsending af s vha. ASP

Lav en hjemme side der kan sælge fly billetter til en stor i Europa.

Onlinebooking.dk. Book online nemt som 1 2 3

Portfolie Redesign. Forord. Det tekniske. Tema ide. Css. opløsning.

IT opgave. Informationsteknologi B. Vejleder: Karl. Navn: Devran Kücükyildiz. Klasse: 2,4

Serversideprogrammering, CMS og eshop. Dag 1: Introduktion og serverside programmering Niels Østergaard

Indholdsfortegnelse Databaser og PHP... 3 Opgave... 4 Opgave... 5 Opgave... 6 Sidste opgave er en lille gæstebog... 7 Kilder og nyttige links:...

JSP, Tomcat. Tutorial lavet af Jákup W. Hansen TSU semester 10.october 2007

Interaktionsudvikling

Mendeley kan hjælpe dig med at organisere din forskning og samarbejde med andre online.

Vejledning til RKSK s VDI konsulent login løsning juni 2015.

Foto-Applikation Dokumentation. Et Kod-i-Ferien projekt

Computerspil. Hangman. Stefan Harding, Thomas Bork, Bertram Olsen, Nicklas Thyssen og Ulrik Larsen Roskilde Tekniske Gymnasium.

Database for udviklere. Jan Lund Madsen PBS10107

Guide til din computer

Her ses et screenshot af websitet solsystemet i menuen Merkur. Baggrundsbillede skal være static så resten af siden skal man scrolle ned for at se.

My booking. Generelt. Forsiden. Version 9.0

Session-highjack...et halvt skridt mod en modgift

Dynamisk PHP design OPDATERET

Curriculum Vitae PETER VILLADSEN MOBIL: RAVNSBORGVEJ 91 DK-4600 KØGE

Mendeley er både en reference manager og et akademisk socialt netværk.

Web- og serverprogrammering

Computerens - Anatomi

Med register_globals = On får du automatisk adgang til en række variabelnavne i dit script.

grafisk workflow OPGAVE: EMBRACE-IT WEBSITE

I mit script tager jeg højde for det problem ved, at gemme et unikt tal mellem 0-9 på 6 cifre og derved vil de så blive vist som 2 online.

ViKoSys. Virksomheds Kontakt System

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

De skjulte input typer:

PHP Pagination. Denne guide er oprindeligt udgivet på Eksperten.dk. Skrevet den 01. May 2011 af dab93 I kategorien Programmering / Andre

Dokumentering af umbraco artikeleksport:

Installation og Drift. Aplanner for Windows Systemer Version

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

I denne artikel vil jeg gennemgå hvordan en side for RSS "Live Bogmærke" kan se ud.

Dit budskab i centrum

Mendeley kan hjælpe dig med at organisere din forskning og samarbejde med andre online.

Netværk & elektronik

Roskildes tekniske gymnasium. Kulløse Mijlømesse. Afsluttende kom/it projekt

Sådan logger du ind... 2 Hvilke mapper kan du tilgå... 3 Visning af eksempel af en fil... 5 Sådan deler du en fil... 7 Se hvad du deler med andre...

Curriculum Vitae. Type År Sidst Niveau Type År Sidst Niveau

Opdatering af ISOWARE til version 6.1.0

Manual til administration af online booking

Webside score seo-haip.com

Læringsprogram. Christian Hjortshøj, Bjarke Sørensen og Asger Hansen Vejleder: Karl G Bjarnason Fag: Programmering Klasse 3.4

Cecilie Maria Nielsen, Mathias Fornitz Eriksen og Martin Arnetoft klasse

Projekt - Valgfrit Tema

Eksamen, DSDS, forår 2009

CV for Christian Plougmann Hag

Mendeley kan hjælpe dig med at organisere din forskning og samarbejde med andre online.

Databaseadgang fra Java

Kom i gang med SAS STPbaserede

Eksamen, DSDS, efterår 2007

Bemærk! Et PHP script har kun brug for at forbinde én gang til databaseserveren. Det kan så sagtens udføre flere kommandoer vha. denne forbindelse.

fotografisk kommunikation

PHP Crash course. Databaser

Indholdsfortegnelse Valg af opgave... 2 Introduktion... 2 Problem... 2 Målgruppe... 2 Afsender... 2 Budskab... 2 Kodning... 3 Effekt...

Præsentation af BSK regionens identity and access management platform

Installation og Drift. Aplanner for Windows Systemer Version 8.15

2. SEMESTER PROJEKT 3 INTERAKTIONSUDVIKLING

Lav dine egne hjemmesider/websider

VDI Manual v. 5 Indhold

Datatekniker med programmering som speciale

ROSKILDE TEKNISKE GYMNASIUM. Læringsprogram. Lommeregner

Delphi og Databaser for begyndere

My Event. Funktioner, en oversigt: Kom i gang: Online tilmeldings system.

PID2000 Archive Service

I denne artikel, vil der blive gennemgået de grundlæggende PHP-funktioner, såsom udskrift til skærmen, tid og dato og if-sætningen.

PHP kode til hjemmeside menu.

Det er nu muligt at oprette dit supportspørgsmål on-line på Vi ønsker dig rigtig god fornøjelse.

intra-mart ver /02/19 intra-mart BaseModule Version3.1

Curriculum Vitae: Jeg kan hurtigt overskue forretningers ønsker samt komplekse systemer og finde overskuelige løsninger på selv vanskelige problemer.

PHP guide af Daniel Pedersen

Specialiseringen Rapport Lavede Af Rasmus R. Sørensen Side 1 af 6

Transkript:

Gruppe: Rocky Albeck, Mark Berthelsen og Maria Solstar Fag: Programmering C Skole: Roskilde Tekniske Gymnasium Vejleder: Carl Bjarnasson Dato for aflevering: 06.05.09 Side 1 af 19

Indholdsfortegnelse: Projektbeskrivelse side 3 - Kort problemformulering side 3 - Krav side 3 - Testspecifikation side 3 Teori side 4 - Hvad er PHP side 4 - Prototype og afprøvning side 7 Database side 10 - Forms side 10 - PHP sprog side 11 - MySQL side 12 - Afprøvning side 13 Konklusion side 13 Bilag side 14 Side 2 af 19

Projektbeskrivelse - Kort problemformulering Vi vil i forbindelse med vores projekt programmere en database vi vil bruge som online booking til en campingplads. Med dette har vi også lavet en hjemmeside, som det er muligt for gæsterne at kigge på. Men i dette projekt kigger vi nærmere på online booking siden og det sprog vi har brugt. Denne database har vi tænkt os at programmere ved hjælp af programmeringssproget PHP. Udover dette har vi også benyttet en smule HTML sprog for at få databasen op på nettet. Med dette har vi derfor tænkt os at sætte os ind i programmeringssproget PHP. - Krav Et overordnet krav til dette projekt er selvfølgelig at vi ender ud med en database der virker. Vi har også et krav til os selv der går ud på at vi skal opnå noget viden omkring programmeringssproget PHP og at databasen vi laver, skal være brugervenlig. - Testspecifikation I løbet af denne periode, hvor vi programmere vores database, har vi tænkt os at teste den løbende. Dette kan vi bl.a. gøre ved at oploade databasen på nettet og se om det fungere. Altså at teksten vi skriver bliver lagt ind i vores MySQL database. Når vi har fået lavet databasen har vi også tænkt os at få nogle forskellige testpersoner til at tjekke om det fungere korrekt og om de synes databasen er brugervenlig, til at forstå og også om databasen lever op til kravene. Side 3 af 19

Teori - Hvad er php 1 PHP er et programmeringssprog, som det er muligt at programmere alt med. PHP fokusere hovedsageligt på server-side scripting, hvilket betyder at man kan programmere alt hvad et hver andet CGI program kan gøre. Dette indebærer f.eks. det at samle formular data, generere dynamisk sideindhold eller at sende og modtage cookies. Udover dette kan PHP også meget mere. Man kan dele PHP scripts op i tre hovedområder i forhold til at de bliver brugt til: 1. Den første er som vi nævnte server-side scripting, som er det mest traditionelle hovedformål for PHP sproget. For at få dette til at fungere behøver man tre ting. Dette indebærer PHP parseren (CGI eller servermodul), en webserver og en webbrowser. Webserveren skal køres med en forbundet PHP installation og man kan få adgang til PHP programmets output med en webbrowser, mens at PHP siden ses gennem serveren. Alt dette kan køres fra ens egen PC, hvis bare man eksperimenterer med PHP programmering. 2. Den anden her er kommandoline scripting. Dette betyder at man kan lave et PHP script som fungerer uden en webserver eller en webbrowser. Dog behøver man også her PHP parseren for at bruge det på den måde. Dette er en god metode til scripts der tit og ofte eksekveres i forbindelse med cron (*nix eller Linux) eller opgravestyring i Windows. Man kan også bruge disse scripts til almindelige simple tekstbehandlingsopgaver. 3. Det tredje og sidste hovedområder er at skrive desktop applikationer. Desværre er PHP ikke det bedste sprog at lave desktop applikationer med GUI (Graphical User Interface), men hvis man er meget kendt indenfor PHP sproget og gerne vil benytte nogle mere avancerede PHP features i ens clientside applikationer, kan man også bruge PHP-GTK til at skrive disse 1 http://php.mirror.camelnetwork.com/manual/da/intro-whatcando.php Side 4 af 19

programmer. Man har også muligheden for at skrive cross-platform applikationer i hoveddistributionen. Man kan også benytte PHP på alle større operative systemer. Dette inkludere: Linux Mange Unix varianter (heriblandt HP-UX, Solaris og OpenBSD) Microsoft Windows Mac OS X RISC OS Og mange andre PHP sproget understøtter også mange webservere og dette inkludere: Apache Microsoft Internet Information Server Personal Web Server Netscape og iplanet servers Oreilly Website Pro server Caudium Xitami OmniHTTPd Og mange flere PHP har et modul til majoriteten af servere og PHP kan køre som en CGI processor til de andre som understøtter CGI standard. Alt dette betyder at man med PHP har en frihed til selv at vælge et operativt system og en webserver. Man kan udover dette og vælge at benytte proceduremæssig programmering eller objekt orienteret programmering (OOP) eller ligefrem en blanding af disse. Ikke alle standard OOP features er implementeret i PHP 4, men selv om dette er mange libraries og større applikationer Side 5 af 19

(inklusiv PEARs library) kun skrevet ved hjælp af OOP koder. Den OOP relaterede svaghed i PHP 4 bliver rettet af PHP 5 og introducerer en komplet objekt model. Man er ikke begrænset til at output af HTML med PHP og PHPs evner inkluderer output af billeder, PDF filer og endda også Flash film (ved brug af libsgf og Ming) genereret on the fly. Man kan også udskrive en anden tekst f.eks. i form af XHTML og andre XML filer. Med PHP kan disse autogenereres og gennes i filsystemet i stedet for at de bliver printet ud og på den måde forme en server-side cache til ens dynamiske indhold. En meget stærk og betydningsfuld feature i PHP er PHPs support for mange databaser. Det er meget simpelt at skrive en database-enabled hjemmeside og følgende databaser er for øjeblikket understøttet: Adabas D dbase Empress FilePro (read only) Hyperwave IBM DB 2 Informix Ingres Interbase Frontbase msql Direct MS-SQL MySQL ODBC Oracle (OCI7 og OCI8) Ovrimos PostgreSQL SQLite Solid Side 6 af 19

Sybase Velocis Unix dbm En ting som PHP også understøtter, er kommunikation med andre services gennem forskellige protokoller som f.eks: LDAP IMAP SNMP NNTP POP3 http COM (Windows) Og mange andre Man kan også bruge raw network sockets og sammenkobling ved brug af en anden protokol. Også WDDX complex data exchange undestøtter PHP og dette gælder mellem næsten hvilket som helst programmeringsprog. I forbindelse med sammenkobling understøtter PGP også eksemplifikation af Java objekter og brugen af dem. - Prototype og afprøvning Inden vi helt beslutter hvordan vores database skal se ud og hvordan den skal virke skal vi lave nogle prototyper af den, og få dem afprøvet af folk så vi kan se hvad de syntes og mener om den. For ikke at spilde for mange ressourcer på at lave prototyper vil vi starte med at lave nogle simle prototyper i papirform, hvor folk så kan vælge hvad de vil gøre hvorefter vi viser det næste billede der så vil fremkomme alt efter hvilken funktion de vælger. Da vores database skal være til onlinebooking for en campingplads er vi nødt til at vælge en stor målgruppe, da folk i alle aldre tager på campingferie. Det er derfor vigtigt at databasen ikke bliver for kompliceret for gamle mennesker, men den skal alligevel indeholde de nødvendige funktioner for en bookingdatabase. Side 7 af 19

For at være sikre på at hele hjemmesiden ikke er for kompliceret for nogle, vil vi vise hele hjemmesiden fra forsiden, og giver så folk den opgave at de skal finde ind til databasen og lave en bestilling derinde fra. Ydermere vil vi gerne have dem til at sige hvad de tænker imens de gør det. På denne måde kan vi finde ud af hvad de har svært ved og hvad der er fint. Det er en hurtig måde at finde ud af hvad der ville være en god idé at ændre på, både på hjemmesiden og på databasen. Vi laver disse tests på mennesker i alderen 18-65. I disse tests beder vi også testpersonerne om at fortælle hvad deres mening er om designet og farverne der er benyttet på siden. Dette giver os mulighed for at lave en masse ændringer og optimere vores database og hjemmeside inden den skal laves. Vi starter ud med at vi se forsiden der ser således ud: Der var ikke nogle af de personer vi testede denne side på der ikke var klar over hvad de skulle nu. Alle sammen valgte reservation og det er også det korrekte. De havde ikke noget i mod hjemmesidens opstilling men de ville gerne have lidt mørkere farver der hvor der står reservation, hytter, priser osv. så dette vil vi ændre på i vores originale. Den næste side der så fremkommer ved at klikke på reservation er denne: Side 8 af 19

Da vores testpersoner så denne side syntes det at det var meget forvirrende at alt teksten stod så tæt. Men de havde ingen problemer med at forstå hvad de skulle på denne side heller. Så de ændringer der skal laves på vores database er bare at lave lidt mellemrum mellem de forskellige bokse. Side 9 af 19

Database På vores webside har vi valgt at lave en database, som man kan bruge til at booke hytter eller grunden på campingpladsen. Denne database har vi lavet ved hjælp af My SQL, PHP sprog og ved hjælp af forms. - forms Vi har brugt forms til at designe databasen på vores webside. Vi har valgt at bruge forms, da det skal være muligt at kunne skrive i felterne og da det der bliver skrevet i felterne herefter skal føres videre over i vores My SQL database. Til at sørge for dette har vi startet vores forms ved hjælp af følgende kode: <form name="myform" method="post" action="database.php"> I denne kode starter vi med at skrive et navn på den form vi vil lave. Herefter forklare vi at tingene der bliver skrevet i forms skal føres videre til en anden side som vi til sidst har kaldt database.php. Ved at have skrevet denne kode har vi startet på en form og herefter har vi benyttet følgende kode til at få de forskellige felter frem: <label for="ankomstdato"> Ankomstdato: <font color="red">*</font> </label> Side 10 af 19

<input name="ankomstdato" type="text" size="12" maxlength="100"> Her starter vi et label og forklarer hvad det skal bruges til. Herefter giver vi det et navn og forklarer hvilken type label det er og hvor mange bogstaver der skal kunne skrives i det. Dette har vi fortsat indtil vi havde de antal vi ville have, hvorefter vi har afsluttet forms. - PHP sprog Som vi forklarede startede vi vores forms ved at fortælle hvilken side, teksten der blev skrevet i de forskellige labels, skulle overføres til. Her skrev vi database.php og det er her vi fortsætter. Når man har udfyldt felterne korrekt på siden med forms, kommer man videre til siden man kan se ovenfor. Her står der at reservationen er godkendt og dette betyder at oplysningerne der blev skrevet i felterne er blevet sendt til vores My SQL database. Et eksempel på dette ses nedenfor. For at få vores forms til at overføre teksten til vores database, har vi brugt PHP koder. Som det første skrev vi en kode der opretter forbindelse til vores database. Den ser ud som følgende: <? include 'config.php'; include 'opendb.php'; Herefter fortæller vi hvad der skal overføres til databasen. Dette ser ud som følgende: $Ankomstdato = $_POST['Ankomstdato']; $Afgangsdato = $_POST['Afgangsdato']; $Strgrunde = $_POST['Strgrunde']; Side 11 af 19

$Antalgrunde = $_POST['Antalgrunde']; $Vimedbringer = $_POST['Vimedbringer']; $Antalhytter = $_POST['Antalhytter']; $Typehytte = $_POST['Typehytte']; $Fornavn = $_POST['Fornavn']; $Efternavn = $_POST['Efternavn']; $Adresse = $_POST['Adresse']; $By = $_POST['By']; $Postnr = $_POST['Postnr']; $Land = $_POST['Land']; $Telefon = $_POST['Telefon']; $Mobil = $_POST['Mobil']; $Email = $_POST['Email']; Efter vi har fortalt hvad der skal overføres til databasen, skal vi fortælle i hvilken database disse informationer skal overføres. Det gør vi ved hjælp af følgende kode: mysql_query("insert INTO `Reservation` ( `Ankomstdato`, `Afgangsdato`, `Strgrunde`, `Antalgrunde`, `Vimedbringer`, `Antalhytter`, `Typehytte`,`Fornavn`,`Efternavn`,`Adresse`,`By`,`Postnr`,`Land`, `Telefon`, `Mobil`,`Email` ) VALUES ('$Ankomstdato', '$Afgangsdato', '$Strgrunde', '$Antalgrunde', '$Vimedbringer', '$Antalhytter', '$Typehytte', '$Fornavn', '$Efternavn', '$Adresse', '$By', '$Postnr', '$Land', '$Telefon', '$Mobil', '$Email' ) ") or die(mysql_error()); I vores tilfælde fortæller vi at informationer skal overføres til databasen der hedder Reservation. - My SQL database For at få forms og php koder til at arbejde korrekt sammen, er det vigtigt at man sørger for, at fortælle hvilke informationer der skal overføres, i korrekt rækkefølge. F.eks. er vores første felt ankomstdato og derfor at det vigtigt at ankomstdato altid kommer først i php koderne men også at ankomstdato står først i vores My SQL database. Vi har lavet vores database i phpmyadmin og den ser ud som følgende: Side 12 af 19

Her kan man se at ankomstdato står øverst, som den jo skal, og sådan fortsætter det hele vejen ned til email, som er det sidste felt på vores reservationsside på websiden. Afprøvning Da vi ikke mener det er nok at vi selv tjekker vores database, har vi fået nogle venner og bekendte til at hjælpe os. Vi har testet personer i alderen 18-65. Her skulle de tjekke om hjemmesiden med databasen på var til at overskue og om de kunne finde ind til online booking. Herefter skulle de teste om databasen fungerede og studse over om der var ting der kunne gøres bedre. De resultater vi fik fra dem var at det er en fin overskuelig side og at det er nemt at finde ind til siden hvor de kan reservere. De synes også at selve reservationen fungere fint og der var ikke rigtig nogen af dem der havde nogle idéer til hvordan man kunne have gjort det anderledes. Dette skyldes nok også at det ikke var et fag de havde specielt meget viden indenfor. Konklusion I projektbeskrivelse stillede vi nogle forskellige krav til vores produkt og til os selv. Dette var at produktet skulle være brugervenligt og at vi skulle opnå en viden indenfor programmeringssproget PHP. I forhold til produktet føler vi at vi har lavet det sådan så at det lever op til kravene. Det er i hvert fald hvad vi har fundet ud af efter at nogle testpersoner har testet det. I forbindelse med at få Side 13 af 19

viden inden for PHP sproget, er det også gået godt. Vi har læst nogle ting og fundet ud af nogle ting som vi ikke var klar over inden vi gik ind til dette projekt. Bilag - Online booking <html> <head> <title> IT - eksamensprojekt </title> </head> <body bgcolor="#eeeeee"> <center> <div style="height:180px;width:800px"> <div style="background-color:#458b74"> <center> <img src="logo.jpg" width="800px" height="180px"> </div> <div style="background-color:#458b74;height:1px;width:800px;"> <center><tt><a href="cforside.html" style="text-decoration:none"><span style="fontweight: normal; color: black;">forside</a></span> <a href="cinformation.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">information</span></a> <a href="caktiviteter.html"style="text-decoration:none"><span style="font-weight: normal; color: black;">aktiviteter</span></a> <a href="chytter.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">hytter</span></a> <a href="cpriser.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">priser</span></a> <a href="creservation.php" style="text-decoration:none"><span style="font-weight: normal; color: black;">reservation</span></a> &nbsp <a href="ckontakt.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">kontakt</span></a> <a href="ckort.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">kort</span></a> </div> <div style="background-color:#97ffff;height:900px;width:800px;"> <font color="black"><font size="5"><font face="sylfaen"> Online reservation </font></font> <font color="black"><font size="4"><tt> <form name="myform" method="post" action="database.php"> <label for="ankomstdato"> Ankomstdato:<font color="red">*</font> </label> <input name="ankomstdato" type="text" value="<? echo $_SESSION['temp_Ankomstdato'];?>" size="12" maxlength="100"> <label for="afgangsdato"> Afgangsdato:<font color="red">*</font> </label> <input name="afgangsdato" type="text" value="<? echo $_SESSION['temp_Afgangsdato'];?>" size="12" maxlength="100"> Side 14 af 19

<label for="strgrunde">grundstørrelse:</label> <select name="strgrunde"> <option value="lille">lille</option> <option value="mellem">mellem &n bsp; </optio n> <option value="stor">stor</option> </select> <label for="antalgrunde"> Antal grunde:</label> <select name="antalgrunde"> <option value="0">0</option> <option value="1">1 &nbsp ; </option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> <label for="vimedbringer"> Vi medbringer:</label> <select name="vimedbringer"> <option value="intet"> </option> <option value="telt">telt</option> <option value="campingvogn">campingvogn</option> <option value="telt + Campingvogn">Telt + Campingvogn</option> </select> <label for="antalhytter"> Antal hytter:</label> <select name="antalhytter"> <option value="0">0</option> <option value="1">1 &nbsp ; </option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <label for="typehytte"> Type hytte:</label> <select name="typehytte"> <option value="ingen"> </option> <option value="type A">Type A &nbs p; </option> <option value="type B">Type B</option> </select> <label for="fornavn"> Fornavn:<font color="red">*</font> </label> <input name="fornavn" type="text" value="<? echo $_SESSION['temp_Fornavn'];?>" size="35" maxlength="100"> Side 15 af 19

<label for="efternavn">efternavn:<font color="red">*</font> </label> <input name="efternavn" type="text" value="<? echo $_SESSION['temp_Efternavn'];?>" size="35" maxlength="100"> <label for="adresse"> Adresse:<font color="red">*</font> </label> <input name="adresse" type="text" value="<? echo $_SESSION['temp_Adresse'];?>" size="35" maxlength="100"> <label for="by"> By:<font color="red">*</font> </label> <input name="by" type="text" value="<? echo $_SESSION['temp_By'];?>" size="35" maxlength="100"> <label for="postnummer"> Postnr:<font color="red">*</font> </label> <input name="postnr" type="text" value="<? echo $_SESSION['temp_Postnr'];?>" size="35" maxlength="100"> <label for="land"> Land:<font color="red">*</font> </label> <select name="land"> <option value="austria">austria &nbsp ; &nbs p; &nb sp;</option> <option value="belgien">belgien</option> <option value="danmark">danmark</option> <option value="deutschland">deutschland</option> <option value="espania">espania</option> <option value="finland">finland</option> <option value="france">france</option> <option value="færøerne">færøerne</option> <option value="great Britain">Great Britain</option> <option value="hungary">hungary</option> <option value="ireland">ireland</option> <option value="island">island</option> <option value="israel">israel</option> <option value="italia">italia</option> <option value="luxemborg">luxemborg</option> <option value="nederland">nederland</option> <option value="norge">norge</option> <option value="polen">polen</option> <option value="portugal">portugal</option> <option value="schweitz">schweitz</option> <option value="sverige">sverige</option> <option value="usa">usa</option> </select> <label for="telefon"> Telefon:<font color="red">*</font> </label> <input name="telefon" type="text" value="<? echo $_SESSION['temp_Telefon'];?>" size="35" maxlength="100"> <label for="mobil"> Mobil: </label> <input name="mobil" type="text" value="<? echo $_SESSION['temp_Mobil'];?>" size="35" maxlength="100"> <label for="email"> E-mail:<font color="red">*</font> </label> <input name="email" type="text" value="<? echo $_SESSION['temp_Email'];?>" size="35" maxlength="100"> &nbsp Ved et klik på bekræft, Side 16 af 19

accepteres <a href="cbetingelser.html" target="_blank" style="textdecoration:none">betingelser</a></font> <input type="submit" value="bekræft"> <input type="reset" value="reset"> </div> </form> </html> </div> - PHP side <html> <head> <title> IT - eksamensprojekt </title> </head> <body bgcolor="#eeeeee"> <center> <div style="height:180px;width:800px"> <div style="background-color:#458b74"> <center> <img src="logo.jpg" width="800px" height="180px"> </div> <div style="background-color:#458b74;height:1px;width:800px;"> <center><tt><a href="cforside.html" style="text-decoration:none"><span style="fontweight: normal; color: black;">forside</a></span> <a href="cinformation.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">information</span></a> <a href="caktiviteter.html"style="text-decoration:none"><span style="font-weight: normal; color: black;">aktiviteter</span></a> <a href="chytter.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">hytter</span></a> <a href="cpriser.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">priser</span></a> <a href="creservation.php" style="text-decoration:none"><span style="font-weight: normal; color: black;">reservation</span></a> &nbsp <a href="ckontakt.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">kontakt</span></a> <a href="ckort.html" style="text-decoration:none"><span style="font-weight: normal; color: black;">kort</span></a> </div> <div style="background-color:#97ffff;height:700px;width:800px;"> Side 17 af 19

<center><font face="sylfaen"><font size="5">fortsættelse: reservation </font></font> <? include 'config.php'; include 'opendb.php'; //if(isset($_post['bekræft'])){ $Ankomstdato = $_POST['Ankomstdato']; $Afgangsdato = $_POST['Afgangsdato']; $Strgrunde = $_POST['Strgrunde']; $Antalgrunde = $_POST['Antalgrunde']; $Vimedbringer = $_POST['Vimedbringer']; $Antalhytter = $_POST['Antalhytter']; $Typehytte = $_POST['Typehytte']; $Fornavn = $_POST['Fornavn']; $Efternavn = $_POST['Efternavn']; $Adresse = $_POST['Adresse']; $By = $_POST['By']; $Postnr = $_POST['Postnr']; $Land = $_POST['Land']; $Telefon = $_POST['Telefon']; $Mobil = $_POST['Mobil']; $Email = $_POST['Email']; if(empty($ankomstdato)){ echo "Du mangler at skrive ankomstdato! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($afgangsdato)){ echo "Du mangler at skrive afgangsdato! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($fornavn)){ echo "Du mangler at skrive fornavn! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($efternavn)){ echo "Du mangler at skrive efternavn! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($adresse)){ echo "Du mangler at skrive din adresse! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($by)){ echo "Du mangler at skrive din by! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($postnr)){ echo "Du mangler at skrive dit postnummer! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($telefon)){ echo "Du mangler at skrive dit telefonnummer! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($email)){ echo "Du mangler at skrive din e-mail! Klik venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } elseif(empty($vimedbringer)){ echo "Du mangler at acceptere betingelser! Klik Side 18 af 19

venligst på linket, tilbage, nedenfor, for at komme tilbage. Klikker Du i stedet på linket, udført, vil din reservation blive annulleret."; } else{ mysql_query("insert INTO `Reservation` ( `Ankomstdato`, `Afgangsdato`, `Strgrunde`, `Antalgrunde`, `Vimedbringer`, `Antalhytter`, `Typehytte`,`Fornavn`,`Efternavn`,`Adresse`,`By`,`Postnr`,`Land`, `Telefon`, `Mobil`,`Email` ) VALUES ('$Ankomstdato', '$Afgangsdato', '$Strgrunde', '$Antalgrunde', '$Vimedbringer', '$Antalhytter', '$Typehytte', '$Fornavn', '$Efternavn', '$Adresse', '$By', '$Postnr', '$Land', '$Telefon', '$Mobil', '$Email' ) ") or die(mysql_error()); echo "Din reservation er nu godkendt. Du vil modtage en e- mail med oplysninger, når vi har noteret din reservation. Klik venligst på linket: udført."; } //}?> <a href="javascript:history.go(-1)">tilbage</a> <a href="cudfort.html">udført </div> Side 19 af 19