1 PHP Les 5 : Frmulieren gemaakt in HTML Interessante links: Dankzij de frmulieren kan de gebruiker van de site infrmatie inveren en versturen. De b...
Dankzij de formulieren kan de gebruiker van de site informatie invoeren en versturen.
De belangrijkste elementen bij het maken van formulieren zijn FORM, INPUT, SELECT, OPTION en TEXTAREA. Het FORM element definieert het begin en einde van een formulier. Met de attributen METHOD en ACTION wordt bepaald op welke wijze (methode) de informatie uit het formulier verzonden moet worden en waarheen (action). Het verwerken van de gegevens kan gebeuren met een server-side techniek zoals ASP, ASP.net, PHP, JSP, Coldfusion,...
Formulieren in HTML-kit
Het form element De gegevens die tot één formulier behoren plaats je tussen de tags . De FORM-tag kent heel wat specifieke attributen o.a:
action: URL waarheen de inhoud van het formulier moet verzonden worden method: specifiëert welke HTTP-methode er gebruikt zal worden voor het versturen van de formuliergegevens. Mogelijke waarden zijn GET (standaard) en POST Het FORM-element fungeert als container voor formulierelementen : tekstvakken, keuzelijsten, keuzerondjes, keuzevakjes,...
Formulieren
Pagina 1
Voorbeeld:
Het INPUT element Het type en de eigenschappen van een INPUT-element stel je in met volgende attributen:
type: het type formulierelement dat je wenst aan te maken - Standaard: text o text: een tekstvak voor één regel tekst. o
password: zoals een text-veld, maar de invoer van de gebruiker wordt door de User Agent gemaskeerd.
o
deel1 deel2 deel3
radio: maakt een keuzerondje. Bij elkaar horende keuzerondjes moet je dezelfde name geven, anders zullen ze niet samenwerken. Het is nu eenmaal de bedoeling bij keuzerondjes dat je slechts één van de mogelijkheden kan selecteren. small medium large
********
checkbox: maakt een keuzevak. Je kan meerder keuzevakken eenzelfde name geven om aan te duiden dat deze vakken bij elkaar horen (een aantal opties onder dezelfde noemer). Enkel waarden van keuzelijsten die aangevinkt (checked) zijn worden meegestuurd naar de afhandelingsscript. Je kan keuzelijsten standaard aanleggen door de waarde checked in de input-tag op te nemen. deel1 deel2 deel3
o
tikken
small medium large
name: de naam van het formulierelement, sommige elementen hebben bij voorkeur dezelfde naam.
Formulieren
Pagina 2
value: standaardwaarde van het element, optioneel behalve bij radio en checkboxtypes. size: de breedte van het element in pixels, behalve bij text of password-types : hier is size het aantal karakters. maxlength: gebruikt bij text en password-types : stelt het maximaal in te geven aantal karakters in. Als maxlength > size dat kan er gescrolld worden. checked: activeert de optie voor een radio en checkbox
Het BUTTON-element De eigenschappen van een BUTTON kan je instellen met volgende attributen:
name: de naam van de knop value: standaardwaarde van de knop type: het type knop o submit: verstuur de formuliergegevens o button: een drukknop waarvoor je zelf de actie kan definiëren. o reset: plaatst alle controls op hun standaardwaarde
Voorbeeld:
Definitie van de methoden Get en Post PHP is zeer geschikt voor het verwerken van formulieren en wordt daarom vaak voor dit doel gebruikt. Wat betekent het woordje method? Dit attribuut is verantwoordelijk voor de gebruikte methode voor het versturen van de gegevens.
Get de gegevens die worden verstuurd, worden toegevoegd aan de url. Je kent waarschijnlijk wel die lange url's met al die vraagtekens erin ? Get is de methode die standaard wordt gebruikt.
Post de gegevens worden eveneens verstuurd, maar worden niet toegevoegd aan de URL. Ik kan enkel en alleen aanbevelen om de methode post te gebruiken en get te vergeten.
De GET-methode Via deze methode worden variabelen doorgegeven via een URL. De methode maakt het mogelijk eenvoudig informatie door te geven aan volgende pagina’s op een webserver. Dit een een zeer belangrijk onderdeel van de ontwikkeling van dynamische websites. index.php?page=news
Formulieren
Pagina 3
De opbouw van deze URL is relatief eenvoudig. Na de URL zelf worden, na “?” de parameters aangehangen. De opbouw van van een parameter bestaat uit de naam van de variabele en de waarde. De parameters worden van elkaar gescheiden met een ampersand (&). U hebt dus geen formulier nodig, maar stelt de URL samen door middel van PHP. Als deze URL nu wordt uitgevoerd en de ersultaatpagina wordt aangeroepen, worden, voordat de PHP-script wordt opgestart, de parameters gelezen en als variabelen ingesteld. U kunt deze vraiabelen op de resultaatpagina direct gebruiken:
De POST-methode Met de POST-methode kunnen gegevens in een cliëntverzoek naar de server worden gestuurd. Deze gegevens worden dan naar een gegevensverwerkend programma gestuurd, dat weer gebruik maakt van de server. Deze wordt vooral gebruikt om formulieren door te sturen. Je moet POST gebruiken wanneer: o o o
u grote hoeveelheden wilt doorgeven u een handmatige manipulatie van de doorgavewaarden wilt bemoeilijken. grotere veiligheid
In alle andere gevallen kunt u zonder problemen de GET-methode gebruiken
Formulieren
Pagina 4
De verwerking van formulieren via PHP Hoe gaan we nu de inhoud van het formulier verwerken? We leerden reeds gebruik te maken van variabelen. Geheugenplaats in de programmacode. Wanneer we nu de inhoud van de tekstvakken kunnen toewijzen aan een variabele dan is ons probleem opgelost. We weten reeds dat de inhoud van het formulier door de ACTION doorgestuurd wordt naar de pagina naar welke de URL (het webadres) verwijst. We moeten enkel nu nog de code kennen om het toe te wijzen. Een voorbeeld in html: de pagina waar het formulier staat noemt: welkom.php. Je ziet heel duidelijk dat de action de inhoud van het formulier zal versturen naar welkomopl.php
Dit is het welkomopl.php bestand waar de waarden van het formulier worden naar toegezonden. Welcome $naam, you are $leeftijd years old!”; ?>
Naam van variabele
De methode van versturen (Post of Get)
name van formulier element
Voorbeeld hoe het op je scherm komt:
Welcome John, you are 28 years old!
Formulieren
Pagina 5
Lesopdracht: Maak volgende opdracht in les3.php We zijn een kopie zaak en willen de factuur maken. Weet dat per kopie 10 cent gevraagd wordt. Maak volgend formulier:
Verstuur de gegevens naar les3opl.php Op deze pagina moet de volgende tekst komen (de onderlijnde zaken zijn variabel, afhankelijk van de input): Beste naam, U kopieerde 1000 stuks aan een prijs van 0,1 EUR per stuk. U moet dus 100 EUR betalen + 21 EUR BTW. Totaalbedrag: 121 EUR. Analyse: Twee opeenvolgende gebeurtenissen: Analyse
Klik op de link: PHP oefeningen Ga naar de oefening: Opdracht 5 (je scrolt wat naar beneden) Daar zie je de volgende opdracht. Maak deze.
2. Extra oefeningen
Voer in een tekstvak de waarde in Celsius in. Laat dit omrekenen naar fahrenheit. Zoek de formule op het internet
3. Extra oefeningen
Laat de waarden van Belgische valuta invoeren. Geef als oplossing (met nodige gebruiksvriendelijkeheid) bvb: De waarde van 100 BEF is 2,5 €
4. Maak een bestelformulier.
Waar je met een keuzelijst aanduidt wat je bestelt, met een tekstvak: hoeveel je bestelt, met keuzerondjes welke btw-tarief van toepassing is (0% of 12% of 21%) en een knop: bereken factuur. De oplossing moet vermeld staan als volgt: Voor de aankoop van $aantal stuks van $keuze met een btw-tarief van $btw moet je $totaal betalen. Bedankt voor uw aankopen.