PHP-2 1 Formulieren GET en POST 🎯 Leerdoelen Je weet wat GET en POST zijn. Je kunt gegevens doorsturen van een formulier naar een PHP-bestand. Je begrijpt het verschil tussen GET en POST qua werking en veiligheid. Weet je nog wat formulieren zijn in PHP ? Een formulier is een groep invoervelden in HTML. Deze velden wordne ingevuld en de waardes worden verstuurd naar een (meestal) andere pagina. 💡 Uitleg Deze regel in een HTML form is belangrijk
Let op de method="get" en het attribuut required . 🛠️ Opdracht 2 – begroeting.php (GET) Maak het bestand begroeting.php met de volgende PHP-code: Hallo $naam!"; } else { echo "Geen naam ingevuld.
"; } ?> Uitleg: We controleren met isset() of de waarde bestaat. Vul het formulier in en kijk wat er gebeurt. Wat zie je op URL als je de begroeting ziet? Pas de tekst na het = teken op de url aan en reload je pagina, wat gebeurt er? 🛠️ Opdracht 3 – POST-versie maken Pas in formulier.html het formulier aan naar: 🛠️ Opdracht 2 – login.php Maak een bestand login.php dat de naam opslaat in een sessie en doorstuurt: 🛠️ Opdracht 3 – welkom.php Maak een bestand welkom.php dat de gebruiker begroet: Welkom, " . $_SESSION["gebruiker"] . "!"; echo ''; } else { echo "Je bent niet ingelogd.
"; } ?> 🛠️ Opdracht 4 – uitloggen.php 🧠 Reflectie Waarom moet je altijd session_start() gebruiken bovenaan? Wat gebeurt er als je probeert welkom.php te openen zonder in te loggen? Wat zou je kunnen uitbreiden, bijvoorbeeld met wachtwoordcontrole? 📤 Inleveren Screenshots van inloggen.html , welkom.php met jouw naam, en uitloggen.php na het uitloggen. Je moet gebruik maken van sessies en de naam van de gebruiker correct kunnen tonen op meerdere pagina’s. 9 Inloggen met wachtwoordcontrole 🎯 Leerdoelen Je maakt een formulier met gebruikersnaam én wachtwoord. Je controleert de invoer in PHP. Je begrijpt waarom $_GET niet veilig is voor wachtwoorden. Je leert werken met een associatieve array. 💡 Uitleg Een loginformulier stuurt gebruikersnaam en wachtwoord naar PHP. In deze les gebruiken we eerst $_GET om te laten zien waarom dat niet veilig is – je ziet het wachtwoord in de URL. 🛠️ Opdracht 1 – login.html Maak een bestand login.html :Foutieve inloggegevens. Probeer opnieuw.
"; } ?> Let op: Als je dit formulier verstuurt, zie je het wachtwoord in de URL. Dat is niet veilig! 🛠️ Opdracht 3 – Verbeter met POST Pas het formulier aan zodat het method="post" gebruikt Pas controle.php aan zodat het $_POST gebruikt Test: zie je het wachtwoord nog in de URL? 💡 Uitleg – Associatieve array Tot nu toe heb je gewerkt met lijsten zoals: $hobby’s = ["voetbal", "gamen", "lezen"]; Dit is een indexed array : de computer onthoudt zelf de volgorde (index 0, 1, 2). Een associatieve array heeft zelfgekozen namen als index (zogenaamde "keys"): $gebruikers = [ "admin" => "geheim123", "student" => "welkom01" ]; Je kunt dan bijvoorbeeld zeggen: echo $gebruikers["admin"]; // toont: geheim123 Heel handig voor wachtwoorden of gebruikerslijsten! 🛠️ Extra opdracht – Meerdere gebruikers Breid controle.php uit met een associatieve array van toegestane gebruikers en wachtwoorden: "geheim123", "student" => "welkom01", "docent" => "phprules" ]; $gebruiker = $_POST["gebruiker"]; $wachtwoord = $_POST["wachtwoord"]; if (isset($gebruikers[$gebruiker]) && $gebruikers[$gebruiker] == $wachtwoord) { echo "Inloggen mislukt.
"; } ?> Voeg zelf nog twee gebruikers toe: één voor jouw zelf (dus je eigen voornaam) en één voor een klasgenoot. 🧠 Reflectie Wat is het verschil tussen een indexed array en een associatieve array? Waarom is het veiliger om $_POST te gebruiken voor wachtwoorden? Wat zou je doen om inloggen met een wachtwoord nog veiliger te maken? 📤 Inleveren controle.php Een .txt. of .pdf bestand met de antwoorden op de drie reflectievragen.