Skip to main content

PHP - refresh opgaven

Inleiding


Wat leren we?

 

Opgave 1, $_GET

In deze opgave kijken we terug hoe het ook alweer zat met $_GET. Deze variabele wordt gevuld als je een form invult met de method=GET.

<form action="/action_page.php" method="get">
    <input type="text" id="name" name="name">

Maar deze code zorgt ervoor dat de parameters via de URL (link, web adres) worden doorgegeven. Stel in dit voorbeeld voer je de naam Ties in. Dan zie je de URL:

?name=Ties

Maak een PHP pagina die de jouwe naam van de URL leest en deze afdrukt.

Bijvoorbeeld, de URL is:

localhost/phprefresh/opgave1.php?naam=Prince

Op het scherm verschijnt nu:

Welkom Prince!

(let op de uitroepteken achter de naam).

Inleveren

  • de php-code in php-01-jouwnaam.php

Opgave 2, forms

We hebben in de vorige opgave met de $_GET gewerkt. Nu gaan we met een form de $_GET variabele vullen.

Je mag ook method="post" gebruiken, maar dat is lastige om te zien wat er dan gebeurt omdat de form variabelen dan niet via de URL worden verstuurd.

Maak een eenvoudig HTML form en vraag de gebruiker twee getallen in te voeren. Dat mag/kan in één veld, maar dat mag ook in twee aparte velden.

Vermenigvuldig (keer) deze twee getallen.

Toon het resultaat op het scherm.

Bijvoorbeeld, stel je hebt 3 en 5 ingevuld dan toon je:

3 x 5 = 15

Inleveren

  • php-01-jouwnaam.php - met je PHP code.
  • php-01-jouwnaam.png - met je schermafdruk van de hele browser waarin je het resultaat laat zien.

 

Opgave 3, loops

Hoe zat het ook alweer met al die loops. In deze opgave gaan we twee loops maken een for-loop en een while-loop.

Zoek eerst even hoe het ook weer zat met die loops; hoe werken die ook alweer?

Maak twee loops. Maak een while loop en een for loop en druk de getallen 1 tot en met 20 af.

De output moet er als volgt uit zien:

image-1656091001501.png

Zorge ervoor dat de output er precies zo uitziet!

De getallen zijn dus rood en bold en tussen de getallen staat een spatie-streepje-spatie en achter het laatste getal staat niets meer.

Rood en bold? Weet je niet meer hoe dat gaat. Zoek naar de juiste CSS code!

Inleveren

  • php-01-jouwnaam.php - met je PHP code.
  • php-01-jouwnaam.png - schermafdruk van jouw gehele browser met de juiste output.

Opgave 4, html refresh

Voor deze opgave moet je zelf één en ander opzoeken op internet. Dit hebben we nog niet eerder gehad, maar is wel iets dat soms erg handig kan zijn. We gaan een tijd maken die automatisch loopt.

Zoek eerst uit hoe je de huidige tijd in uren en minuten op het scherm kan afdrukken.

Als je de tijd op het scherm laat zien dan veranderd deze alleen als je de pagina refreshed, probeer maar!

Er bestaat een zogenaamde HTML meta-tag die er voor zorgt dat je browser de pagina elke x seconden ververst. Zoek uit hoe dit werkt en laat de pagina die de tijd laat zien zichzelf elke 10 seconden verversen.

Controleer of jouw pagina zichzelf elke 10 seconde ververst.

Dit kan handig zijn als je een CRUD hebt gemaakt en je wilt dat de (Read) pagina zich elke paar minute ververst.

Inleveren

  • de php code in php-04-jouwnaam.php

 

 

Functies

Functies hebben soms één of meer parameters en kunnen een ding returnen.

Voorbeeld

<?php

function maalTwee($getal) {
  $uitkomst = $getal * 2;
  return $uitkomst;
}

echo maalTwee(4);
echo "<br>";
echo maalTwee(24);
echo "<br>";

Op regel 8 en 9 testen we de functie maalTwee() en we zien dat er 8 en 48 wordt afgedrukt.

In de volgende opgaven wordt telkens gevraagd om een functie te maken en om testen uit te voeren.

In dit voorbeeld hebben we dus twee testen uitgevoerd.

 

Opgave 1

Maak een functie die als input een getal krijgt en dat als een 'net' Euro getal terug geeft. In onderstaand schema staat wat de functie moet doen.

Test
Uitkomst
echo netEuro(12);
€ 12.00
echo netEuro(12.5);
€ 12.50
echo netEuro(12.6666);
€ 12.67

Bij elk bedrag wordt dus afgerond op twee decimalen (centen) en er wordt een euro getal afgedrukt voor het bedrag.

Maak de functie netEuro en test (tenmiste) met de waarden zoals die hierboven zijn gegeven.

Inleveren

  • php-01-jouwnaam.php - met je PHP code.
  • php-01-jouwnaam.png - schermafdruk van jouw gehele browser met de juiste output.

 

Opgave 2

Kijk naar het filmpje: https://www.youtube.com/watch?v=INHM0S_8GHA

En maak daarna een functie onvoldoendes($PHPCijfers); die alle onvoldoendes afdrukt uit het onderstaande array.

$PHPCijfers=[4,5,4,5,6,6,5,8,7,6,4,8];

Dus de output van de functie wordt:

4,5,4,5,5,4
Test
Uitkomst
echo onvoldoendes([6,6,7]);

echo onvoldoendes([6,3,6,7]); 3
echo onvoldoendes($PHPCijfers); 4,5,4,5,5,4

Maak de functie en test met tenminste de drie gegeven test cases.

Je code ziet er dus ongeveer zo uit:

function onvoldoendes($array) {
  ...
  ...
  ...
}

echo onvoldoendes([6,6,7]);
echo onvoldoendes([6,3,6,7]);
echo onvoldoendes($PHPCijfers);

Op de plaats van de puntjes maak je jouw functie af.

Inleveren

  • de php code in php-04-jouwnaam.php


Opgave 3

Maak een PHP programmaatje dat afhankelijk van de tijd een boodschap afdrukt.

  • Het uur is kleiner dan 12: "Goedemorgen".
  • Het uur is 12 uur of groter én kleiner dan 18: "Goedemiddag".
  • Het uur is groter dan 18: "Goedenavond".

Er is een PHP een functie om de huidige tijd te bepalen. Je hoeft alleen maar te kijken naar het uur. Zoek zelf uit hoe dat werkt.

Zet je code in een functie en noem die begroeting("Charles").

Je heeft één parameter aan in de functie, de parameter (de naam) wordt achter de begroeting gezet en de complete begroeting wordt door de functie in een return terug gegeven.

Dus bijvoorbeeld, het is 4 uur 's middags en plaatst de volgende code:

Test
Uitkomst
echo begroeting("Vasco");
Goedemidag Vasco
echo begroeting("Jesse"); Goedemidag Jesse

Maak een functie en test tenminste met de bovenstaande twee test cases.

Je code ziet er dus ongeveer zo uit:

function begroeting($naam) {
  ...
  ...
  ...
}

echo begroeting("Vasco");
echo onvoldoendes("Jesse");

Inleveren

  • php-01-jouwnaam.php - met je PHP code.
  • php-01-jouwnaam.png - schermafdruk van jouw gehele browser met de juiste output.

Opgave 4

Je gaat een functie maken die alle getallen uit een array die groter zijn dan 10 optelt.

Neem bijvoorbeeld dit array.

$array = [11,11,5,2,12,6,7,8,1,10,9];

Er zijn drie getallen groter dan 10. Dat zijn 11, 11 en 12. Opgeteld is dat 34. De functie geeft dus 34 terug.

Noem de functie telGroteGetallen(array)

Test
Uitkomst
echo telGroteGetallen( [10,20,20] );
40
echo telGroteGetallen( [9, 10, 11] );
11
echo telGroteGetallen($array);
34

De $array in de laatste test heeft de waarden zoals in het voorbeeld is gegeven.

Inleveren

  • php-01-jouwnaam.php - met je PHP code.

 

Opgave 5

Je gaat een functie maken die alle woorden telt die minder dan vier letters hebben.

Neem bijvoorbeeld deze string.

$string = "Voor de vormgeving is het handig om te weten hoe het eruit komt te zien voordat je daadwerkelijk tekst gaat plaatsen.";

De string heeft 9 woorden kleiner dan vier letters, tel maar na!

Hoo doe je dit in PHP?

  1. Zet deze string om in een array. Tip: maak gebruik van de PHP-functie explode
  2. Maak een variabele teller en zet die op 0 (je hebt immers nog 0 woorden gevonden die kleiner zijn dan vier letters).
  3. Loop met een foreach loop door het array.
  4. Maak een if in de loop en test of het woord minder dan vier karakters heeft.
  5. Als de if waar is dan hoog je een teller op.
  6. Aan het einde van de loop heb je in je teller het aantal woorden dat kleiner is dan vier. Return deze waarde

Noem nu een functie kleineWoorden(string) die de string als parameter mee krijgt en die als output het aantal woorden kleiner dan vier letter terug geeft.

Test
Uitkomst
echo kleineWoorden("dit is een voorbeeld");
3
echo kleineWoorden("a b c d"); 4
echo kleineWoorden("abcd");
0
echo kleineWoorden($string); 9

De $string in de laatste test is dus de string zoals gegeven in het voorbeeld. Test je code met tenminste de 4 gegeven tests

Inleveren

  • php-01-jouwnaam.php - met je PHP cod