Skip to main content

PHP Forms en Arrays

Wat leer je in deze les?

  1. Hoe werken forms, wat is de action van een form en hoe maak je een verbinding tussen een form en (PHP) code.
  2. We leren output van een script in een HTM table te plaatsen.
  3. Hoe werken arrays en hoe kan je dit toepassen.
  4. Hoe werken associatieve arrays en hoe kan je dit toepassen?

We gaan telkens zelf een stap maken in duo's.

Stap 1

Gebruik HTML en maak een form dat er zo uit ziet:

image-1605803026327.png

Stap 2

Zorg ervoor dat als je op submit drukt je naar een PHP-pagina gaat en die het volgende afdrukt.

image-1605803189938.png

Stap 3

Verander de output nu en druk de velden die je in het formulier ziet af.

Je vult dit in en drukt op submit en...

image-1605803316418.png

...dan zie je dit.

image-1605803351329.png

Stap 4

Probeer nu je PHP script aan te passen zodat je in plaats van een 2 de tweede dag van de week afdrukt.

Als je 1 invult dan laat het script 'maandag' zien, als je 2 in vult 'dinsdag', als je 3 invult 'woensdag', enzovoorts. De output ziet er dus zo uit:

image-1605804657444.png

Tip1: gebruik hiervoor een array.

Stap 5

Kun jij de output ook netjes in een (html) array zetten? De output ziet er dan ongeveer zo uit:

image-1605804736956.png

Willen we het nog fancyer dan kunnen we heel eenvoudig Bootstrap gebruiken.

image-1605805171603.png

Stap 6

Hoe heb je stap 4 opgelost? 'dinsdag' is het 2de element uit het array, maar de array index waarmee je de waarde laat zien is 1.

Je zou dit ook kunnen oplossen met een associatief array. In een 'gewoon' array loopt de index van 0 en telt die gewoon door, dus 0,1,2,3,4,..... bij een associatief array bepaal jezelf de index.

Bijvoorbeeld:

$array=['Mike'=>8, 'Ayoub'=>6, 'Niels'=>3, 'Adam'=>5 ];
echo $array['Niels'];

Wat wordt er afgedrukt?

Kun je in de vorige stap ook gebruik maken van een associatief array? Zo ja hoe dan?

Stap 7 - de uitdaging!

Nu gaan we een hele lastige constructie opzetten. We gaan een associatief array opzetten en de value/waarde van elke element is op zijn beurt weer een 'gewoon' array.

In plaats van de leerlingen nu allemaal één cijfer te geven, geven we ze ieder 3 cijfers.

$array=['Mike'=>[8,8,5] 'Ayoub'=>[5,6,7] 'Niels'=>[3, 10, 8] 'Adam'=>[5, 9, 7];

Maak nu een PHP-programmaatje om alle cijfers van Niels af te drukken.

--