|
PHP Opgaven deel 2
[PHP opgaven deel 1]
-
Maak een homepage waarop een regel staat met "Geef een getal (0=stoppen)" en
daarachter een tekstvenster waarin dat getal kan worden ingevoerd.
Daar onder een button met als opschrift "Volgende"
Daar weer onder een regel waarop staat "Aantal ingevoerde getallen tot nu toe: " en daarachter een
tekstvenster.
Tenslotte een regel waarop staat "Som van de getallen tot nu toe: " en daarachter ook weer een
tekstvenster.
Elke keer als je in het bovenste tekstvenster een getal hebt ingevoerd, en daarna op
de button "Volgende" klikt, dan verschijnt er een nieuwe pagina.
Daarop staan de zelfde teksten en tekstvensters als op de eerste pagina.
In de onderste tekstvensters staat dan afgedrukt hoeveel getallen je tot dan toe hebt ingevoerd en de som van die getallen.
Het bovenste tekstvenster is leeg, en je kunt daar een nieuw getal invoeren.
Dan kun je weer op "Volgende" klikken, en zo gaat het steeds verder.
-
Maak een homepage die er als volgt uitziet:
Verder moet de computer zelf eerst een random-getal tussen 1 en 100 bedenken.
Elke keer als je in het tekstvenster een getal hebt ingevoerd, en daarna op
de button "Controleer" klikt, dan verschijnt er een nieuwe pagina (gegenereerd door hetzelfde document als van
de eerste pagina).
Daarop staan de zelfde teksten en vensters als op de eerste pagina.
Als je op de knop drukt terwijl er geen of geen geldig getal is ingevuld (het moet een getal tussen 1 en 100 zijn) moet er
onder de knop verschijnen: "Geef een getal tussen 1 en 100 a.u.b."
Als er bijvoorbeeld 25 is ingevuld, terwijl de computer het getal 17 in zijn geheugen had, dan moet er onder de knop
verschijnen : "te hoog, nog eens"
Als het ingevulde getal goed is, en het is de vierde keer dat er een getal is ingevoerd, dan moet er onder de knop verschijnen :
"Goedzo, je hebt het getal in 4 keer geraden"
-
Maak een homepage waarop een optelsom verschijnt met
willekeurige getallen tussen 20 en 30 (en een antwoordvenster achter de som).
Daaronder een regel met "Aantal pogingen: " en daar achter een tekstvenster waarin 0 staat.
Daaronder een button met "Controleer"
Als er op de button met "Controleer" wordt geklikt dan verschijnt er een nieuwe pagina (gegenereerd door hetzelfde document als van
de eerste pagina) en dan wordt er gecontroleerd of het antwoord goed is.
Als het antwoord niet goed is dan wordt dat gemeld, hetzelfde sommetje verschijnt weer en er kan een nieuw antwoord
worden ingevoerd. Het tekstvenster met daarin het aantal pogingen wordt aangepast.
Als het antwoord goed is dan wordt dat vermeld, en daarbij wordt vermeld in hoeveel pogingen dat gebeurde.
-
Maak een homepage waarop een regel staat met "Geef getal nummer 1" en
daarachter een tekstvenster waarin een getal kan worden ingevoerd.
Daaronder nog een button met als opschrift "Verzend".
Als het getal is ingevoerd en er op de Verzend-knop is gedrukt dan verschijnt er een nieuwe pagina (gegenereerd door hetzelfde document als van
de eerste pagina) en dan staat er op de eerste regel "Geef getal nummer 2" met een tekstvenster.
Dit gaat zo lang door tot er een 0 wordt ingevoerd.
Dan wordt op de nieuwe pagina vermeld hoeveel getallen er in totaal zijn ingevoerd, en wat de som van al die getallen was.
-
Maak een homepage waarop een regel staat met "Geef een positief geheel getal (0=stoppen)" en
daarachter een tekstvenster waarin dat getal kan worden ingevoerd.
Daaronder een button met als opschrift "Verzend"
Daaronder een regel waarop staat "Grootste getal tot nu toe: " en daarachter een leeg
tekstvenster.
Daaronder een regel waarop staat "Kleinste getal tot nu toe: " en daarachter ook weer een leeg
tekstvenster.
Elke keer als je in het bovenste tekstvenster een getal hebt ingevoerd, en daarna op de button "Verzend" klikt, verschijnt er een
nieuwe pagina (gegenereerd door hetzelfde document als van de eerste pagina) en dan staat er op de eerste regel weer
"Geef een positief geheel getal (0=stoppen)" en een tekstvenster waarin een getal kan worden ingevoerd.
Verder staat in het tekstvenster achter "Grootste getal tot nu toe: " het grootste getal, dat tot dan toe is ingevoerd.
En in het tekstvenster achter "Kleinste getal tot nu toe: " staat het kleinste getal, dat tot dan toe is ingevoerd.
Dit gaat zo lang door tot er een 0 wordt ingevoerd.
Dan wordt op de nieuwe pagina vermeld wat het grootste en kleinste getal was, en er staan geen tekstvensters en buttons meer op
de pagina.
-
Maak een homepage waarop een regel staat met "Geef een naam" en
daarachter een tekstvenster waarin een naam kan worden ingevoerd.
Daaronder een regel met als opschrift "Cijfer"
Daarachter een tekstvenster waarin een cijfer kan worden ingevoerd
Daaronder een button met als opschrift "Verzend"
En daar weer onder een listbox, die in het begin leeg is.
Als er een naam en een cijfer is ingevoerd, en er wordt op de verzend-button geklikt, dan verschijnt er een
nieuwe pagina (gegenereerd door hetzelfde document als van de eerste pagina) en dan staan dezelfde regels op de pagina.
Maar de tekstvensters voor de naam en het cijfer zijn leeg, en de eerste naam met daarachter het cijfer staan in de listbox.
Dan kan er weer een naam en een cijfer worden ingevoerd, en op Verzend worden geklikt.
Op de nieuwe pagina,die dan verschijnt staan weer dezelfde regels.
De tekstvensters voor de naam en het cijfer zijn weer leeg, en de tweede naam met daarachter het cijfer staan nu ook in de listbox, er
staan dan dus twee namen met cijfers in.
En zo gaat dat steeds verder, tot er tien namen en cijfers zijn ingevoerd.
-
Landen met hoofdsteden
Maak een homepage waarop een regel staat met als opschrift "Land" en daar achter een tekstvenster waarin de naam
van een land verschijnt.
Daar onder een regel met als opschrift "Hoofdstad" en daar achter een tekstvenster waarin de naam van de hoofdstad ingevoerd kan
worden.
Daaronder een button met "Controleer"
Zorg er voor dat het bestand LANDEN.TXT wordt ingelezen
(zet dat bestand in dezelfde map als het PHP-document)
In dat bestand LANDEN.TXT staan tien landen met de bijbehorende hoofdsteden in 20 regels opgeslagen, telkens
een land en in de regel
daarna de bijbehorende hoofdstad.
En de eerste keer verschijnt de naam van het eerste land in het bovenste tekstvenster.
Als er een hoofdstad is ingevoerd, en er wordt op de controleer-button geklikt, dan verschijnt er een
nieuwe pagina (gegenereerd door hetzelfde document als van de eerste pagina) en op de eerste regel van die pagina staat dan,
als het antwoord goed was, "Goedzo" en anders "Fout, het is ..." met op de stippen het goede antwoord.
Verder staan dezelfde dingen op de pagina als de eerste keer.
Maar nu verschijnt de naam van het tweede land in het bovenste tekstvenster, en dan kan de hoofdstad daarvan
worden ingevoerd. En zo gaat dat door tot de tien landen zijn geweest.
Als er na het tiende land op de controleer-knop wordt geklikt verschijnt er weer Goedzo of Fout, maar ook verschijnt er
hoeveel er in totaal goed waren.
-
Versje met regelnummers
Maak een homepage waarop de regels van een versje, dat moet worden ingelezen, verschijnen.
Daarvoor moet eerst het bestand GEDICHT.TXT worden ingelezen
(zet dat bestand in dezelfde map als het PHP-document)
In dat bestand GEDICHT.TXT staat een gedicht, dat bestaat uit 14 regels (waarvan één lege regel).
Dat gedicht verschijnt dus op de pagina, met de regelnummers er voor.
En ook wordt er een nieuw bestand aangemaakt met de naam GEDICHT2.TXT.
En in dat bestand staan dezelfde regels als in GEDICHT.TXT maar dan met
de regelnummers ervoor.
-
Maak een homepage waarop een regel staat met "Gebruikersnaam : " en daarachter een
tekstvenster waarin die naam kan worden ingevoerd.
Daaronder een regel met "Wachtwoord : " en daarachter een
tekstvenster waarin het wachtwoord kan worden ingevoerd, en wel zo dat als je daarin iets typt er sterretjes verschijnen.
Daar weer onder een button met "OK"
In het gebruikers-tekstvenster verschijnt automatisch het woord dat daar de laatste keer is ingevoerd.
En zodra je op -OK- klikt wordt gecontroleerd of de gebruikersnaam Informatica is, en het wachtwoord nachtvlinder.
Als er op de OK-knop is geklikt verschijnt er een nieuw venster.
Als het niet klopt dan verschijnt er in het nieuwe venster "Gebruikersnaam en/of wachtwoord foutief" en anders verschijnt er
"wachtwoord OK. U wordt ingelogd"
Aanwijzing :
Bij de start wordt het bestand GEBRUIKER.TXT ingelezen.
Daarin staat namelijk de laatst gebruikte gebruikersnaam.
En die naam wordt in het gebruiker-tekstvenster geplaatst.
En als er op OK wordt geklikt dan wordt de ingevoerde gebruikersnaam
in het bestand GEBRUIKER.TXT opgeslagen.
-
Maak een homepage waarin een optelsom verschijnt met willekeurige getallen tussen 20 en 30, die m.b.v. Math.random worden
gegenereerd.
Achter de som een tekstvenster, waarin het antwoord kan worden ingevoerd.
Daaronder een button met "Controleer"
Als er op de button met "Controleer" wordt geklikt dan verschijnt er een nieuwe pagina (gegenereerd door hetzelfde document als van
de eerste pagina) en dan wordt er gecontroleerd of het antwoord goed is.
Verder worden de som, met het ingevoerde antwoord, opgeslagen in een bestand met de naam "ANTWOORDEN.TXT".
Als het antwoord niet goed is dan wordt dat gemeld, hetzelfde sommetje verschijnt weer en er kan een nieuw antwoord
worden ingevoerd.
Als er daarna weer op de controleer-button wordt geklikt dan wordt het antwoord weer gecontroleerd.
En de som, met het nu ingevoerde antwoord, wordt toegevoegd aan het bestand met de naam "ANTWOORDEN.TXT".
Als het antwoord goed is dan wordt dat vermeld.
-
Lotnummers controleren
Maak een homepage waarop een regel staat met als opschrift "Lotnummer" en daar achter een tekstvenster waarin een
getal kan worden ingevoerd.
Daaronder een button met "Controleer"
Als er op de button met "Controleer" wordt geklikt dan verschijnt er een nieuwe pagina (gegenereerd door hetzelfde document als van
de eerste pagina) en dan wordt er gecontroleerd of er een prijs op het lotnummer valt.
en daar onder een tekstvenster waarin Prijs ! of Geen prijs verschijnt.
Daarvoor moet eerst het bestand PRIJZEN.TXT worden ingelezen
(zet dat bestand eerst even in dezelfde map als het php-document)
In dat bestand PRIJZEN.TXT staan twintig getallen in 20 regels opgeslagen, dat zijn de nummers van loten
waarop prijzen zijn gevallen.
De computer moet dus controleren of het ingevoerde lotnummer voorkomt bij de twintig getallen uit het bestand. Als het wel voorkomt
dan is er een prijs op het lotnummer gevallen, en dan verschijnt er op de pagina "Prijs !" en anders "Geen prijs, probeer nog eens"
En dan kan er een ander lotnummer worden ingevoerd, dat dan gecontroleerd wordt.
-
Woorden met engelse vertaling
Maak een homepage waarop een regel staat met als opschrift "Woord" en daar achter een tekstvenster waarin een
nederlands woord verschijnt.
Daar onder een regel met als opschrift "Engels" en daar achter een tekstvenster waarin de vertaling van het
woord in het engels ingevoerd kan worden.
Daaronder een button met "Controleer"
Zorg er voor dat het bestand ENGELS.TXT wordt ingelezen
(zet dat bestand in dezelfde map als het PHP-document)
In dat bestand ENGELS.TXT staan staan tien nederlandse woorden met de bijbehorende vertaling in het engels
in 20 regels opgeslagen,
telkens een nederlands woord en in de regel
daarna de bijbehorende engelse vertaling.
En de eerste keer verschijnt het eerste woord in het bovenste tekstvenster.
Als de vertaling is ingevoerd, en er wordt op de controleer-button geklikt, dan verschijnt er een
nieuwe pagina (gegenereerd door hetzelfde document als van de eerste pagina) en op de eerste regel van die pagina staat dan,
als het antwoord goed was, "Goedzo" en anders "Fout, het is ..." met op de stippen het goede antwoord.
Verder staan dezelfde dingen op de pagina als de eerste keer.
Maar nu verschijnt het tweede woord in het bovenste tekstvenster, en dan kan de vertaling daarvan
worden ingevoerd. En zo gaat dat door tot de tien woorden zijn geweest.
Als er na het tiende woord op de controleer-knop wordt geklikt verschijnt er weer Goedzo of Fout, maar ook verschijnt er
hoeveel er in totaal goed waren.
-
Hoevaak komt een letter voor
Maak een homepage waarop "Welke letter moet worden geteld" staat, met daar achter een tekstvenster waarin een letter kan worden
ingevoerd.
Daar onder een Button met als opschrift "Lees in en tel".
Als er op de knop wordt geklikt dan verschijnt er een nieuwe pagina (gegenereerd door hetzelfde document als van
de eerste pagina). Op die pagina staan de zelfde dingen als op de eerste pagina. Maar verder een gedicht.
Het bestand GEDICHT.TXT wordt ingelezen (zet dat bestand
eerst in dezelfde map als het php-document)
Dat gedicht bestaat uit 14 regels (waarvan één lege regel), en dat verschijnt dus op de pagina.
En ook wordt er geteld hoevaak de ingevoerde letter in het gedicht voorkomt, en dat aantal wordt ook vermeld op de pagina.
En dan kan er eventueel een andere letter in het tekstvenster worden ingevoerd, en als er dan op de button wordt geklikt wordt
het proces herhaald.
-
Wanneer geboren
Maak een homepage waarop een regel staat met "Naam" en daar achter een tekstvenster waarin een
naam kan worden ingevoerd.
Daaronder een button met "Geef de geboortedatum"
Als er op de button met "Geef de geboortedatum" wordt geklikt dan verschijnt er een nieuwe pagina
(gegenereerd door hetzelfde document als van
de eerste pagina) en dan wordt de geboortedatum opgezocht die hoort bij de ingevoerde naam.
Daarvoor moet eerst het bestand NAMEN.TXT worden ingelezen
(zet dat bestand eerst even in dezelfde map als het php-document)
In dat bestand NAMEN.TXT staan tien namen en tien geboortedata in 20 regels opgeslagen.
Telkens staat er een naam op een regel, en in de daarop volgende regel de geboortedatum van die persoon.
De computer moet dus controleren of de ingevoerde naam voorkomt bij de tien namen uit het bestand. Als het wel voorkomt
dan is de geboortedatum bekend, en dan verschijnt die op de pagina, en anders verschijnt er "Deze naam komt niet voor, probeer nog eens"
En dan kan er een andere naam worden ingevoerd, waarvan de geboortedatum wordt opgezocht.
-
Klassement van schaatswedstrijden
Maak een homepage waarop een regel staat met "Naam:" en
daarachter drie tekstvenster waarin de namen van de deelnemers kunnen worden ingevoerd.
Daar onder een regel met "tijd op de 500 m" en
daarachter drie tekstvensters waarin de tijden van de deelnemers op de 500 m. kunnen worden ingevoerd.
Daar onder een regel met "tijd op de 1500 m" en
daarachter drie tekstvensters waarin de tijden van de deelnemers op de 1500 m. kunnen worden ingevoerd.
Daar weer onder een regel met "tijd op de 5000 m" en
daarachter drie tekstvensters waarin de tijden van de deelnemers op de 5000 m. kunnen worden ingevoerd.
En tenslotte een regel met "tijd op de 10000 m" en
daarachter drie tekstvensters waarin de tijden van de deelnemers op de 10000 m. kunnen worden ingevoerd.
Daar onder een button met "Geef het klassement"
Als er op de knop wordt geklikt dan verschijnt er een nieuwe pagina.
Op die pagina staan de namen en daarachter het totaal aantal punten van de deelnemers.
Daarin moet zijn gesorteerd op het aantal punten, de winnaar bovenaan.
Aanwijzing :
Het programma rekent tijden om naar seconden en berekent voor elke afstand de tijd om naar 10000 m.
Tijden worden ingevoerd als minuten : seconden.
Voorbeeld : tijd op 5000 m is 7:15,2 -> dat is 435,2 seconden
Omrekenen naar 10000 m, dus 435,2 x 2 = 870,4 punten
Het puntentotaal is de som van de punten behaald op de vier afstanden
-
Maak een homepage waarop een regel staat met "Kies de extensie" en daar achter een pulldown-menu waarbij gekozen kan
worden uit GIF en JPG.
Daar onder een regel waar op staat: "Kies bestand", met daar achter een tekstvenster waarin de naam van een bestand kan
worden ingevoerd om te uploaden. Ook moet er gebladerd kunnen worden.
Daaronder een button met "Uploaden"
Als er op de button met "Uploaden" wordt geklikt dan wordt het ingevoerde bestand geupload, tenminste als het de extensie heeft
die in het pulldown-menu is gekozen.
Als het niet de juiste extensie heeft dan wordt dat gemeld, en dan wordt het niet geupload.
Als het wel de juiste extensie heeft dan wordt het geupload, en dan wordt de bestandsgrootte gemeld.
-
Maak een homepage waarop een regel staat met "Kies de extensie" en daar achter een pulldown-menu waarbij gekozen kan
worden uit GIF en JPG.
Daaronder een button met Laat ze zien en ook nog een button met Verwijder
Als er op de button met "Laat ze zien" wordt geklikt dan verschijnt er een nieuwe pagina
waarop de namen van alle gif- of jpg-bestanden (afhankelijk van wat in het pulldown-menu is gekozen), die in de map staan,
getoond worden, met een aanvinkvakje ervoor.
Verder wordt het zo gemaakt dat, als je op de naam van zo'n plaatjesbestand klikt, het plaatje getoond wordt.
Verder is het zo dat als je op een aanvinkvakje voor een bestand klikt, en je klikt daarna op de knop met Verwijderen, het
bestand wordt verwijderd.
Het moet zo gemaakt worden dat m.b.v. PHP de computer die bestanden zelf opzoekt, dus je moet niet zelf die namen allemaal gaan invoeren.
-
Maak een homepage waarop een regel staat met "Kies de extensie" en daar achter twee radiobuttons met de opties TXT en DOC.
Daar onder een regel waar op staat: "Kies bestand", met daar achter een tekstvenster waarin de naam van een bestand kan
worden ingevoerd om te uploaden. Ook moet er gebladerd kunnen worden.
Daaronder een button met "Uploaden"
Als er op de button met "Uploaden" wordt geklikt dan wordt het ingevoerde bestand geupload, tenminste als het de extensie heeft
die met de radiobuttons is gekozen.
Als het niet de juiste extensie heeft dan wordt dat gemeld, en dan wordt het niet geupload.
Als het wel de juiste extensie heeft dan wordt het geupload, en dan wordt de bestandsgrootte gemeld.
-
Maak een homepage waarop een regel staat met "Kies de extensie" en daar achter een pulldown-menu waarbij gekozen kan
worden uit TXT en DOC.
Daaronder een button met Laat ze zien en ook nog een button met Verwijder
Als er op de button met "Laat ze zien" wordt geklikt dan verschijnt er een nieuwe pagina
waarop de namen van alle txt- of doc-bestanden (afhankelijk van wat in het pulldown-menu is gekozen), die in de map staan,
getoond worden, met een aanvinkvakje ervoor.
Verder wordt het zo gemaakt dat, als je op de naam van zo'n tekstbestand klikt, de tekst getoond wordt.
Verder is het zo dat als je op een aanvinkvakje voor een bestand klikt, en je klikt daarna op de knop met Verwijderen, het
bestand wordt verwijderd.
Het moet zo gemaakt worden dat m.b.v. PHP de computer die bestanden zelf opzoekt, dus je moet niet zelf die namen allemaal gaan invoeren.
-
a. Maak een homepage waarop een regel staat met "Kies de extensie" en daar achter twee radiobuttons met de opties HTM en PHP.
Daar onder een regel waar op staat: "Kies bestand", met daar achter een tekstvenster waarin de naam van een bestand kan
worden ingevoerd om te uploaden. Ook moet er gebladerd kunnen worden.
Daaronder een button met "Uploaden"
Als er op de button met "Uploaden" wordt geklikt dan wordt het ingevoerde bestand geupload, tenminste als het de extensie heeft
die met de radiobuttons is gekozen.
Als het niet de juiste extensie heeft dan wordt dat gemeld, en dan wordt het niet geupload.
Als het wel de juiste extensie heeft dan wordt het geupload, en dan wordt de bestandsgrootte gemeld.
69b. Maak een homepage waarop een regel staat met "Kies de extensie" en daar achter een pulldown-menu waarbij gekozen kan
worden uit HTM en PHP.
Daaronder een button met Laat ze zien en ook nog een button met Verwijder
Als er op de button met "Laat ze zien" wordt geklikt dan verschijnt er een nieuwe pagina
waarop de namen van alle htm- of php-bestanden (afhankelijk van wat in het pulldown-menu is gekozen), die in de map staan,
getoond worden, met een aanvinkvakje ervoor.
Verder wordt het zo gemaakt dat, als je op de naam van zo'n htm- of php-bestand klikt, de inhoud in een apart venster m.b.v. de
browser getoond wordt.
Verder is het zo dat als je op een aanvinkvakje voor een bestand klikt, en je klikt daarna op de knop met Verwijderen, het
bestand wordt verwijderd.
als je er op klikt het document getoond wordt.
Het moet zo gemaakt worden dat m.b.v. PHP de computer die bestanden zelf opzoekt, dus je moet niet zelf die namen allemaal gaan invoeren.
-
Een hotelreserveringssysteem.
In deze opgave ga je voor een hotel de volgende php-scripts maken:
- Een script voor het inloggen van hotelgasten, die al gerigistreerd zijn (inlog.php), waarbij gecontroleerd wordt of
de gebruikersnaam en het wachtwoord in de tabel "klanten" voorkomt.
- Een script voor het registreren van hotelgasten (registratie.php). Daarbij worden de ingevoerde gegevens toegevoegd aan
de tabel "klanten".
- Een script waarmee klanten kamers enz. kunnen reserveren. Daarbij worden de ingevoerde gegevens opgeslagen in de tabel
"reserveringen", en verder wordt aangegeven hoeveel de klant moet betalen (reservering.php)
De tabel "klanten", die gebruikt wordt om de inloggegevens te controleren, en waaraan nieuwe gegevens toegevoegd kunnen
worden m.b.v. het registratieformulier, bevat de volgende velden:
Het id (auto_increment), de gebruikersnaam, het wachtwoord, de voornaam,
tussenvoegsel, achternaam, telefoonnummer en aanmelddatum.
Deze tabel is al voor je aangemaakt in PHPMyAdmin, er zit één klant in.
De tabel "reserveringen", waarin de gegevens komen van een reservering, bevat de volgende velden:
Het id (integer, auto_increment), klant_id (integer), kamertype, nachten (integer), ontbijten (integer), lunches (integer), diners
(integer), begindatum.
Deze tabel is ook voor je aangemaakt in PHPMyAdmin, er zit één aanmelding in.
- Het inlogsysteem
Het inlogscherm (inlog.php) ziet er als volgt uit:
Verder moet je er om denken dat:
- De datum wordt automatisch onder de invoervelden geplaatst in het formaat: dag-maand-jaar.
- Klikken op de link "Registreer nu!" brengt het registratieformulier in beeld
- Als er niets of te weinig wordt ingevuld verschijnt het inlogscherm opnieuw.
- Als de inloggegevens kloppen wordt de reserveringspagina getoond.
- Het registratiescherm (registratie.php) ziet er als volgt uit:
Verder moet je er om denken dat:
- De datum wordt automatisch onder de invoervelden geplaatst in het formaat: dag-maand-jaar.
- Klikken op de knop "Registreer" zorgt ervoor dat de gegevens in de tabel klanten worden opgeslagen.
- Door het formulier niet of onvolledig in te vullen krijg je de melding onder
het registratiescherm om de andere gegevens ook in te vullen en opnieuw te registreren.
- Als de gegevens succesvol in de database zijn opgeslagen, wordt de reserveringspagina getoond.
- Het reserveringsscherm ziet er als volgt uit:
Verder moet je er om denken dat:
Klikken op de knop "Reserveer" zorgt ervoor dat de gegevens in de tabel reservering worden opgeslagen.
Verder wordt een overzicht van het verblijf met het te betalen bedrag getoond op de volgende manier:
De reserverings-gegevens zijn op 16-12-2006 aan de database toegevoegd |
|
U heeft klantnummer 12 en u heeft een tweepersoons kamer besteld |
U heeft een verblijf van 5 overnachtingen gereserveerd. Kosten € 375,- |
U wilt de volgende maaltijd(en) gebruiken: |
ontbijt: 10 maal Kosten € 80,- |
lunch ('s middags): 4 maal Kosten € 40,- |
diner ('s avonds): 4 maal Kosten € 80,- |
|
De totaalprijs voor het verblijf in ons hotel is € 575,- |
|
U kunt pinnen aan de balie na uw verblijf in ons hotel |
|
Bedankt voor uw boeking en tot ziens in ons hotel! |
|
-
Een website met vakantie-aanbiedingen
In deze opgave ga je de volgende php-scripts maken:
- Een webpagina waarin de vakantie aanbiedingen worden getoond (lastminute.php).
- Een webpagina waarmee de beheerder van de website nieuwe vakantie aanbiedingen kan toevoegen aan de database
(beheerder.php).
De database bestaat slechts uit één tabel aanbiedingen, waarin de last-minute aanbiedingen
worden opgeslagen.
De tabel aanbiedingen bestaat uit de velden:
- nummer, het is een integer en auto_increment.
- titel
- datum, dit is de uiterste boekingsdatum van de aanbieding.
- inhoud, dit is een korte beschrijving van de aanbieding.
- prijs, dat is een kommagetal (float)
- foto, in dit veld staat de bestandsnaam van de foto, die hoort bij de aanbieding.
Deze tabel is al voor je aangemaakt in PHPMyAdmin, er zitten twee aanbiedingen in (en wel de twee onderstaande).
- De webpagina bestemd voor de bezoeker: lastminute.php
Als deze pagina wordt geopend dan kan uit een prijsklasse worden gekozen, en uit een databereik, en daarna worden alle last-minute
aanbiedingen getoond,
die zijn opgeslagen in de tabel aanbiedingen, en die voldoen aan de criteria.
Dat ziet er als volgt uit:
Last-minute aanbiedingen
Last-minute boekingen |
|
All-inclusive vijfsterren hotel Central |
Aanbieding geldig tot 20-02-2007 |
We hebben op het laatste moment beslag weten te leggen op een flink aantal
kamers in dit schitterende hotel, dat nog maar pas is geopend.
Een nachtclub, sauna en fitness zijn aanwezig om u van 's ochtends vroeg tot 's avonds laat
in de watten te leggen! |
Prijs: € 375,- |
|
|
Studio's Beach in Allicante |
Aanbieding geldig tot 25-01-2007 |
Allicante aan de Turkse Rivièra staat bekend om zijn bruisende uitgaansleven en
uitgestrekte kiezelstranden. Hier kunt tegen een afbraakprijs een studio huren, die voorzien
is van drie slaapplaatsen, een keuken, en toilet + douche |
Prijs: € 295,- |
|
|
- De webpagina bestemd voor het beheren van de aanbiedingen: beheeraanbiedingen.php
De beheerder van de website kan m.b.v. een formulier de gegevens van de tabel met de last-minute aanbiedingen
wijzigen.
De inhoud van het formulier wordt verwerkt door een script, dat de inhoud eerst controleert.
Als niet alle gegevens zijn ingevuld verschijnt het formulier weer.
Als alle gegevens zijn ingevuld worden de gegevens m.b.v. het script toegevoegd aan de database, en verder verschijnt er
een scherm waarop bevestigd wordt dat de gegevens zijn ingevoerd.
Denk er om dat in de database alleen de naam van de foto wordt opgeslagen, en dat de foto zelf nog apart moet worden geüoad.
Hieronder zie je het formulier voor de beheerder.
-
Een enquete opzetten
Je moet in deze opdracht een enquete, die ingevuld kan worden via het Internet, opzetten.
In deze opgave ga je de volgende php-scripts maken:
- Een webformulier met een aantal vragen.
- Een PHP-script, dat de gegevens uit de ingevulde enquete opslaat in een database
- Een PHP-script, dat een grafische weergave van alle resultaten toont op het beeldscherm.
De database bestaat slechts uit één tabel "reacties", waarin de antwoorden van de bezoekers worden opgeslagen.
De tabel reacties bestaat uit de velden reactienr, waardering en leeftijd.
Het veld reactienr is een integer, het is auto_increment.
In de velden waardering en leeftijd worden de antwoorden van de bezoekers opgeborgen, als tekst.
De enquete bestaat slechts uit twee vragen. De bezoeker kan een waardering geven voor de website,
en hij kan aangeven hoe oud hij is.
Als waardering kunnen alleen de woorden "geweldig", "middelmatig" en "slecht" worden gegeven, m.b.v. radiobuttons.
Als leeftijd kan gekozen worden uit "10-14", "15-19", "20-24","25-30" en "30+" en "10-", ook m.b.v. radiobuttons (zie hieronder).
Deze tabel is al voor je aangemaakt in PHPMyAdmin, er zitten twee racties in.
Hieronder zie je het invulformulier, dat wordt opgevraagd m.b.v. het document "enquete.htm":
Het PHP-script "verwerkenquete.php" controleert of beide vragen zijn ingevuld. Als niet beide vragen zijn beantwoordt verschijnt
het invulformulier
weer. Anders verschijnt een bevestigingsformulier, waarop de gegeven
antwoorden nog eens getoond worden.
Verder wordt vermeld hoeveel enquetes zijn ingevuld.
Verder worden de verschillende antwoorden op de twee vragen geteld en afgedrukt.
En verder wordt er een grafische weergave met staafdiagrammen gemaakt zoals hieronder.
(Als zo'n staaf het getal 15 aan geeft dan maak je die staaf m.b.v. de opdracht <img src="blok.jpg" width=150>)
Enquete | |
U vulde het volgende in: |
Waardering voor de site: | middelmatig |
Leeftijdscategorie: | 15-19 |
| |
Aantal ingevulde enquetes: | 35 |
Waardering: |
geweldig: 20 | |
middelmatig: 10 | |
slecht: 5 | |
Leeftijd: |
10 - : 0 | |
10-14 : 7 | |
15-19 : 15 | |
20-24 : 10 | |
25-29 : 2 | |
30 + : 1 | |
| |
-
Een toetssysteem per computer
Je moet in deze opdracht een toets, die gemaakt kan worden via het Internet, opzetten.
In deze opgave ga je de volgende php-scripts maken:
- De leerling krijgt een aanmeldscherm voor zich, waar hij zijn naam, zijn klas en het computernummer moet invullen (login.php)
Het inlogscherm ziet er als volgt uit (denk ook om de juiste datum):
- Het script, dat voor de verwerking van het inlogscherm zorgt (verwerkinlog.php), zorgt er voor dat die gegevens nog even
getoond worden.
En daaronder krijgt de leerling vijf vierkeuzevragen te zien.
Die vragen met de keuzeantwoorden zijn opgeslagen in een tabel "toetsvragen". Die tabel bevat 7 velden: vraagnummer (dat is een integer),
vraag, antw1,
antw2, antw3, antw4, goednummer (dat is een integer).
Die tabel is aanwezig, en hij is ook gevuld met 5 records. Er zijn dus 5 vragen met steeds 4 antwoorden waaruit gekozen kan worden, en het
nummer van het goede antwoord.
Zorg er voor dat deze vragen met de bijbehorende antwoorden op het scherm komen, en dat de leerling uit éeacute;n
van de antwoorden kan kiezen.
Als de leerling de vragen heeft beantwoord, moet hij of zij op een knop drukken waarop "Verzend de antwoorden" staat.
- Dan wordt er een nieuw script gestart ("verwerkvragen.php") dat de antwoorden verwerkt, en er voor zorgt dat de antwoorden
plus de totaalscore worden opgeslagen in een tabel "toetsuitslagen". Ook wordt de naam, de klas, het computernummer en de datum in
die tabel opgeslagen.
Deze tabel bevat de velden id (integer, auto_increment), naam, klas, computernummer (integer), datum, antw1 (integer), antw2 (integer),
antw3 (integer), antw4 (integer), antw5 (integer), eindresultaat (integer).
Deze tabel bestaat al, de gegevens van één leerling zitten er in.
Het eindresultaat is het cijfer van de leerling, per goed beantwoorde vraag krijgt hij of zij twee punten.
-
Inschrijven voor een jeugdtennistournooi
In deze opgave ga je de volgende php-scripts maken:
-
Maak een inschrijfformulier voor een jeugdtennistoernooi. ("inschrijf.htm")
Daarop moet o.a. de rating bij de KNVB (een cijfer van 1 tot en met 9) worden opgegeven. Bij tennis is 1 de hoogste rating, dat hebben
alleen de topspelers. En als je net begint krijg je de rating 9.
Verder moeten ze opgeven aan welke categorie ze mee willen doen, daarbij kunnen ze kiezen uit 5 t/m 7
Meestal kies je de categorie van je rating, dus als je rating 7 hebt schrijf je in voor categorie 7.
Je mag wel hoger inschrijven dan je rating maar niet lager (dus een speler met als rating 6 bijvoorbeeld kan niet in de categorie 7
inschrijven, maar wel in de categorie 5).
Er mag alleen voor de categorieën 5, 6 en 7 worden ingeschreven.
Alle velden, behalve 'tussenvoegsel', moeten beslist worden ingevuld.
Het inschrijfformulier ziet er als volgt uit:
- Als de deelnemer alle velden heeft ingevuld en op OK klikt, dan wordt het script "verwerkinschrijf.php" gestart.
Er wordt gecontroleerd of alles goed is ingevuld. Als dat niet het geval is verschijnt het formulier weer.
En anders krijgt de inschrijver een overzicht met de dingen die hij of zij opgegeven heeft, en worden de gegevens in de tabel "tournooi"
opgeslagen
Die tabel bevat de volgende velden: id (integer, auto-increment), voornaam, tussenvoegsel, achternaam, tennisclub, leeftijd (integer),
rating (integer), categorie (integer),
poule
Deze tabel bestaat al, de gegevens van één jeugdlid zitten er in.
- De wedstrijdleider kan m.b.v. een ander script (wedstrijdleider.php) de deelnemerslijst bekijken.
Daarbij wordt per categorie getoond wie er hebben ingeschreven.
M.b.v. dat script kan hij per deelnemer ook aangeven in welke poule hij of zij wordt ingedeeld, dat wordt dan ook
opgeslagen in de database. Ook kan hij deelnemers verwijderen, als ze zich hebben teruggetrokken voordat het tournooi begint.
Hij kan uit de poules A t/m Z kiezen. Vult hij bij iemand poule 0 in, dan betekent dat dat diegene zich heeft teruggetrokken en dus
verwijderd moet worden.
Het formulier voor de wedstrijdleider ziet er als volgt uit:
De verwerking van het formulier gebeurt met hetzelfde script, zodat als van een deelnemer de poule is ingevoerd, hetzelfde formulier
weer verschijnt en de poule van de volgende deelnemer kan worden ingevoerd.
Er moet worden gecontroleerd of er een nummer wordt ingevoerd dat voorkomt bij de deelnemers. En dan moet de poule bij die deelnemer in
de database worden vastgelegd, of als er bij poule 0 was ingevoerd dan moet die deelnemer worden verwijderd.
-
Een website met auto-occasions
In deze opgave ga je de volgende php-scripts maken:
- Een webpagina waarin de auto-occasions worden getoond (occasions.php).
De database bestaat slechts uit één tabel occasions, waarin de gegevens van de jonge gebruikte auto's
worden opgeslagen.
De tabel occasions bestaat uit de velden:
- nr, het is een integer en auto_increment.
- merk
- bouwjaar
- omschrijving, dit is een korte beschrijving van de aanbieding.
- occasionprijs, dat is een kommagetal (float)
- occasionfoto, in dit veld staat de bestandsnaam van de foto, die hoort bij de aanbieding.
Deze tabel is al voor je aangemaakt in PHPMyAdmin, er zitten twee occasions in.
De webpagina bestemd voor de bezoeker heet occasion.php
Als deze pagina wordt geopend dan worden sommige of alle occasions getoond, die zijn opgeslagen in de tabel occasions.
Dat ziet er als volgt uit:
-
Een webbased muziekdatabase opzetten
Iedereen heeft wel een verzameling CD's, DVD's, mp3's, enz. Het is de bedoeling van deze opdracht een archief van al deze zaken
aan te leggen. Je maakt een webbased systeem waarin je gegevens aan de database kunt toevoegen of
verwijderen en kunt zoeken naar speciale gegevens, bijvoorbeeld: genre, titel,
medium, uitvoerende(n), jaar van uitgifte, etc.
In deze opgave ga je de volgende php-scripts maken:
- Een webformulier waarin de gegevens van de CD, DVD of mp3 kunnen worden ingevuld.
- Een PHP-script, dat de gegevens uit het ingevulde formulier opslaat in een database
De database bestaat slechts uit één tabel "cd", waarin de antwoorden van de bezoekers worden opgeslagen.
De tabel cd bestaat uit de velden muzieknr (integer, auto_increment), titel (char(30)), uitvoerende
(char(30)), jaar van uitgifte (integer), medium (char(10)) en genre (char(20)).
Bij medium kan m.b.v. een pulldown-menu gekozen worden uit CD, DVD, MP3
Deze tabel is al voor je aangemaakt in PHPMyAdmin, de gegevens van twee cd's zitten er in.
Jij moet er dus voor kunnen zorgen dat er gegevens aan kunnen worden toegevoegd.
|
| |