/ICW-Webdesign-PHP

Teaching Material for PHP in High School Computer Science in Dutch

Primary LanguagePHPOtherNOASSERTION

Webdesign: Cursus Dynamische Websites (met PHP)

6D Informatica- en Communicatiewetenschappen

Gemaakt in 2025-2026 door Jarne Verlinden (6icw) Vereist kennis van HTML, CSS, JS en SQL. Doel: Educatief Gebruik (volgens LICENSE.md) Deze repository blijft beschikbaar. Aanpassingen kunnen aangevraagd worden via Pull Requests.

In deze README.md kan je de inhoudstabel vinden voor elk hoofdstuk. Alle PowerPoints, Oefeningen, ... staan in de individuele mappen van elk hoofdstuk.


[H1] Intro

Inhoud

  • Wat is een dynamische website?
  • Hoe werkt PHP? (Hypertext Preprocessor)
  • Server-client model
  • Situering binnen het OSI model
  • HTTP: TCP-gebaseerd netwerkprotocol met Request & Response, Request Methods (GET/PUT/POST/DELETE)
  • Syntax: echo, variabelen, operators, statements, loops, arrays
  • Superglobals
  • Headers
  • Debugging: error logging, var_dump, print_r

[H2] Gebruikersinvoer

In H1 werkten we met gegevens die we vooraf instelde. Nu gaan we, met behulp van formulieren en andere parameters (zoals $_GET) gebruikersinvoer accepteren.

Inhoud

  • HTML form elementen instellen om correct HTTP-request te maken ("method" attribute)
  • $_POST, $_GET, $_SESSION, isset(), empty()
  • String methods

[H3] Databases en Beveiliging

Dit is een groot hoofdstuk waarin je omgang met databases leert, maar ook het veilig gebruik ervan. Je leert ook allerlei zaken bij over hoe password hashing en security het best werkt.

Inhoud

  • MySQL/MariaDB
  • Gebruik van phpMyAdmin (PMA)
  • Prepared statements (PDO)
  • Create, Read, Update, Delete (CRUD)
  • SQL Injection (In-Band, Inferential/Blind, Out-of-Band)
  • Validatie en sanitizatie
  • Password hashing
  • Hashing algoritmes en password cracking (evt. CrackStation) (Brute Force vs Dictionary)
  • Sessies uitgebreid (Cookies, storage, syntax)
  • Authenticatie: inloggen, registreren, uitloggen, beschermde pagina

[H4] Object-oriented programming (OOP)

TBD


[H5] Application Programming Interface (API)

TBD