In PHP zijn veel datum- en tijdfuncties beschikbaar om de datum en tijd op te vragen, hier berekeningen mee te doen, te bepalen welke tijd het dan aan de andere kant van de wereld is en om de datum ten slotte weer te geven volgens op de manier die je wil (volgens de conventies van de gebruiker in dat land). Lees de documentatie bij deze functies.
Voor deze opdracht maak je een eenvoudige webapplicatie om je afspraken of taken in te bewaren. Je moet afspraken op een bepaalde dag (en tijd) kunnen maken. Standaard moet de huidige datum (en tijdstip) worden getoond, maar je moet zelf een andere moment kunnen kiezen. Deze afspraak kun je bewaren in een cookie op de computer van de gebruiker. In de agenda moet je de gemaakte afspraak kunnen terugzien.
In het activity diagram hiernaast wordt verbeeld welke activiteiten de afspraken- / taken-kalender achtereenvolgens moet uitvoeren en welke jij dus moet programmeren. Je moet dit soort diagrammen kunnen lezen en begrijpen, om je applicatie op de goede manier te programmeren. Je zult steeds vaker ook zelf in kaart moeten brengen wat er zoals moet gebeuren en dat in dit soort diagrammen tonen.
Zoek uit hoe je gegevens kan bewaren in een cookie of de opgeslagen gegevens later weer kan uitlezen? Let op: de inhoud van een cookie wordt met het request van een pagina naar de server verstuurd. Dus als je vanaf de server een cookie zet, wordt deze wijziging pas bij de volgende page refresh aan de server gemeld. Tot de page refresh zitten in het cookie object de oude gegevens.
Het is dus handig de gegevens uit een cookie te bewaren in een Array die je wel runtime kunt aanpassen. Zoek uit hoe Array's in PHP werken, hoe je elementen toevoegt, verwijdert en hoe je door de elementen loopt.
Hoe zorg je er voor dat de gebruiker middels variabelen aan de server doorgeeft, welke acties de server moet gaan uitvoeren? Op welke manier kan ik deze variabelen doorgeven? met een formulier, via een linkje of allebei.
Bekijk de voorbeeldapplicatie. Bekijk de broncode hiervan en bedenk welke delen vast zijn en welke dynamisch zijn. Als je toch PHP gebruikt is het handiger loops te gebruiken om dropdowns voor datum/tijd te genereren, dan voor iedere dropdown alle opties met de hand uit te schrijven. Hoe zorg je ervoor dat automatisch de huidge tijd/datum geselecteerd wordt? Misschien kun je er meteen een functies van maken, de voor deze opdracht geschreven code makkelijk ook op andere bladzijdes kunt gebruiken.
Als je meerdere dingen geprobeerd hebt, vooral als dingen niet gelukt zijn zoals je wilde, kun je meerdere (oudere) versies inleveren in aparte sub-directories (mappen). Plaats niet alleen de (werkende) PHP applicatie online (.php bestand(en)), maar ook de broncode (als .phps bestand), zodat de docent ook kan zien hoe je het hebt aangepakt. Schrijf bovendien ook een opleverdocument. Hierin maak je jouw werk en werkwijze voor de docent inzichtelijk,zodat deze het beter kan beoordelen. In dit opleverdocument schrijf je:
Opdrachten moeten worden upgeload naar je webspace op ftp://student.cmd.hro.nl/public.www . Je werk moet steeds te vinden zijn op de locatie die hoort bij de opdracht: http://student.cmd.hro.nl/[studentnummer]/jaar2/winter/fed/opdracht1/ . Op deze locatie moet ook je opleverdocument te vinden zijn. Schrijf je opleverdocument in correcte XHTML en link daarin naar je werkende applicatie en naar de broncode.
Houd rekening met de deadline voor deze opdracht: zondagavond 14 december om 24:00. Zie voor meer informatie de modulewijzer.
Succes.