Basische PHP8+ Tutorial
Basis
Introductie tot de PHP-taal
Aan de slag
PHP-code uitvoeren
Probleem met coderingen
PHP-fouten weergeven
Volledige code om PHP te starten
Verbeterde code om te starten
Overzicht van beginnende PHP-commando's
Commentaar in PHP
Commentaar in het leerboek
Dumpen van variabelen
Functies in PHP
Variabelen
Gebruik van variabelen
Waarden van variabelen wijzigen
Wiskundige bewerkingen met getallen
Wiskundige bewerkingen met variabelen
Prioriteit van wiskundige bewerkingen
Gelijke prioriteit
Groeperende haakjes
Nuances van groepering
Breuken
Negatieve getallen
Rest van deling
Machtsverheffen
Prioriteit van machtsverheffen
Strings
Strings samenvoegen
Spaties bij het samenvoegen van strings
Lengte van een string
Probleem met Cyrillisch schrift
Tags
Tag-attributen
Booleaanse waarden
Waarde null
Automatische typeconversie
Automatische conversie naar string
Nuances van conversie naar string
Conversie naar getal
Conversie naar breuk
Conversie van breuk naar geheel getal
Conversie van getal naar string
String karakters
Cijfers in een string
Toegang tot cijfers van een getal
Nuances van de toewijzingsoperatie
Verkorte bewerkingen
Incrementatie
Prefix en postfix type
Praktijk: fouten zoeken
Praktijk: bewerkingen
Praktijk: formules
Arrays
Inleiding tot arrays
Inhoud van array bekijken
Afzonderlijk array-element
Associatieve arrays
Truc met sleutels
Volgorde van elementen
Lengte van array
Elementen wijzigen
Elementen van array overschrijven
Incrementatie van elementen
Arrays vullen
Expliciete toewijzing van sleutels
Sleutels uit variabelen
Praktijk: fouten zoeken
Voorwaarden
If-else constructie
Operators groter dan en kleiner dan
Controle op gelijkheid
Controle op ongelijkheid
Variabelen vergelijken
Gegevenstypes en de if-else constructie
Getallen tussen aanhalingstekens
Gelijkheid in waarde en type
Ongelijkheid in waarde en type
Nuances bij het vergelijken van gegevenstypes
Complexe voorwaarden in if-else
Logisch EN
Logisch OF
Prioriteit van vergelijkingsoperaties
Voorwaarden groeperen
Uitspraken inverteren
If-else constructie en booleaanse waarden
Niet-strikte vergelijking van logische waarden
Verkorte if
Nuance van verkorte bewerkingen
Opdracht isset
Waarschuwing onderdrukken
Controle van array-elementen
Opdracht empty
Optionaliteit van de else opdracht
Optionaliteit van accolades
Probleem van optionele accolades
If-else combinaties
Elseif constructie
Geneste if
Switch constructie
Optionaliteit van default
Match constructie
Optionaliteit van break
Ternaire operator
Null-coalescing operator
Kettingen van null-coalescing operators
Logische bewerkingen
Bepalen van het deel van het uur
Controle van de lengte van strings en arrays
Controle van een teken in een string
Controle van de rest bij deling
Praktijk: fouten zoeken
Praktijk if else
Lussen
Inleiding
Foreach-lus
Foreach-lus met sleutels
While-lus
For-lus
Voorwaarden in lussen
Ophoping van getallensom
Ophoping van elementsom
Vormen van strings in een lus
Optionaliteit van accolades
Probleem van optionele accolades
Break-instructie
Continue-instructie
Werken met vlaggen
Geneste lussen
For-lus voor arrays
Vullen van arrays in een lus
Wijzigen van arrays in een lus
Tips voor het schrijven van code
Praktijk voor het vinden van fouten
Praktijk voor lussen
Meerdimensionaliteit
Inleiding
Driedimensionale array
Associatieve arrays
Willekeurige arrays
Iteratie van multidimensionale arrays
Iteratie van een driedimensionale array
Werken met sleutels
Vullen van multidimensionale arrays
Vullen met opeenvolgende nummers
Array van associatieve arrays
Conversie van multidimensionale arrays
Wiskundige functies
Tekenreeksfuncties
Lengte van tekenreeks
Hoofdletters en kleine letters
Tekenreeksen uitsnijden
Tekenreeksen controleren
Zoeken in tekenreeksen
Tekenreeksen splitsen
Einden van tekenreeks opschonen
Tekenreeks uitvoeren met invoeging
Opmaak van getalweergave
Tekenreeks omkeren
Tekenreeks vullen
Werken met tags
Tekencodes
Substrings tellen
Delen van tekenreeksen
Arrayfuncties
Zoeken in arrays
Einde elementen
Arrays slicen
Arrays splicen
Bereik in array
Arrays vullen
Arrays samenvoegen
Sleutels-waarden
Omkeren
Vervangen
Duplicaten verwijderen
Elementen tellen
Opdelen in subarrays
Sorteren
Verzameling operaties
Willekeurig
Tijd
Werken met timestamp
Formatteren
Datums in vrij formaat parseren
Correctheid controleren
Tijdzone
Aanpassen
Stringvergelijking
Datumvergelijking zonder jaar
Datumpassing in interval
Timestamp-vergelijking
Gebruikersgedefinieerde functies
Inleiding
Functieparameters
Meerdere parameters
Variabele parameters
Optionele parameters
Return instructie
Sequentieel aanroepen van functies
Return nuance
Lus en return
Toepassing van return in lussen
Truc voor werken met return
Vlaggen in functies
Logische operatoren in functies
Adviezen voor functies
Praktijk voor het vinden van fouten
Praktijk voor functies
Scope
Referenties-primitieven
Referenties-arrays
Referenties in foreach
Interne variabelen
Externe variabelen
Variabelen met dezelfde naam
Globale variabelen
Parameters wijzigen
Parameters-referenties
Recursie
Recursie
Voorbeeld met parameter
Som van array-elementen
Recursie en multidimensionale arrays
Som van een multidimensionale array
Manipulaties met elementen
Reguliere expressies
Inleiding
Herhalingsoperatoren
Groeperende haakjes
Escapen van speciale tekens
Lijst van speciale tekens
Accolades
Beperking van hebzucht
Teken groepen
Teken sets
Inverteren van teken sets
Eigenheden van het Cyrillisch
Speciale tekens binnen sets
Teken groepen binnen sets
Uitzonderingsspecialtekens binnen sets
Het dakje symbool binnen sets
Eigenheden van het koppelteken binnen sets
Begin en einde van regel
Einde of begin van woord
De 'of' opdracht
Begrenzers
Escapen van begrenzers
Backslash
Controleren van tekenreeks
Automatisch testen van reguliere expressies
Controleren van de hele tekenreeks
Groepen bij zoeken
Alle overeenkomsten zoeken
Alle overeenkomsten in groepen
Zoekgedrag wijzigen
Niet-bewarende haakjes
Groepen bij vervangen
Groepen in expressie
Genoemde groepen
Genoemde groepen binnen expressie
Gemeenschappelijk groepsnummer
Vooruit kijken
Achteruit kijken
Vervangen met callback
Modifiers
Hoofdletteronafhankelijkheid van reguliere expressies
Commentaar in reguliere expressie
Werken met Unicode in reguliere expressies
Hebzucht van reguliere expressies wijzigen
Escapen van gewone tekens in reguliere expressies
Meerdere modifiers voor reguliere expressies
Automatisch escapen van speciale tekens
Array filteren
Tekenreeks splitsen in array
Vorming van strings
Invoegen van variabelen
Invoegen van array-elementen
Invoegen van associatieve array-elementen
Lus en invoegen van variabelen
Invoegen van array-elementen in een lus
Invoegen van multidimensionale array-elementen in een lus
Genereren van tags
Genereren van tags met attributen
Lus en genereren van tags
Lus en genereren van tags uit arrays
Lus en genereren van tags en attributen
Lus en genereren van HTML-tabellen
Genereren van HTML-tabel met behulp van één lus
Genereren van HTML-tabel met behulp van twee geneste lussen
PHP-code invoegen in HTML
Korte echo-opdracht
Variabele uitvoeren in HTML
Array-elementen uitvoeren in HTML
Voorwaarden en onderbreken van PHP-code
Else-blok bij onderbreken van PHP-code
Elseif-blok bij onderbreken van PHP-code
Lussen en onderbreken van PHP-code
Array in lus bij onderbreken van PHP-code
Formulieren
Inleiding tot formulieren
Formulier verzendmethode
Formuliergegevens verkrijgen
Formuliergegevens verkrijgen via GET-methode
Formuliergegevens verkrijgen via POST-methode
Formulier verwerking in één bestand
Formulier verbergen na verzending
Formulierwaarden behouden
Standaardwaarde formulier behouden
Verkorte code voor het behouden van standaardwaarden
Textarea element
Textarea waarde behouden na verzending
Checkbox
Nuances van het gebruik van checkboxes
Waarde behouden in checkbox
Radioknoppen
Waarde behouden in radioknoppen
Selecties
Value attribuut in selecties
Waarde behouden in selecties
GET-verzoeken
GET-verzoeken via links
Praktijk
Sessies
Inleiding tot sessies
Mogelijke problemen
Sessies gebruiken op één pagina
Sessies verwijderen
Volledige sessie beëindigen
Sessies en formulieren
Arrays opslaan in sessies
Cookies
Inleiding tot cookies
Probleem met instellen van cookies
Direct instellen van cookies
Pagina herladen teller
Levensduur van cookie
Verwijderen van cookies
Direct verwijderen van cookies
Bestandssysteem
Bestanden lezen
Bestanden schrijven
Combinatie van bewerkingen
Relatieve paden
Absolute paden
Voordelen van absoluut pad
Absolute paden naar script
Bestanden hernoemen
Bestanden verplaatsen
Bestanden kopiëren
Bestanden verwijderen
Bepalen van bestandsgrootte
Controleren of bestand bestaat
Mappen aanmaken
Mappen verwijderen
Mappen hernoemen
Mappen verplaatsen
Mapinhoud lezen
Map van bestand onderscheiden
Mapinhoud ontleden
Bestanden invoegen
Opdelen van markup in elementen
Invoeging in variabele schrijven
Bestanden inladen
Eenmalig bestanden inladen
Inladen in variabele schrijven
Databases
Inleiding tot databases
PhpMyAdmin
Testtabel users
Voorbereidende handelingen
Query's naar de database sturen
Fouten zoeken in de database
Functionaliteit testen
Problemen met coderingen
Volledige testcode
Resultaat verkrijgen
Resultaat verkrijgen als array
Array vormen in een lus
Selectie van records
Logische bewerkingen
Selectievelden
Invoegen van records
Records invoegen bij ontbrekende kolommen
Bijwerken van records
Verwijderen van records
Sorteren van records
Aantalbeperking
Aantal tellen
Aantal verkrijgen
Gevorderde query's
Database Organisatie
Tabellen koppelen
Gegevens ophalen uit gekoppelde tabellen
Keten van gekoppelde tabellen
Koppelen via koppeltabel
Familierelaties
Meerdere nakomelingen
Dubbele relatie
Practicum
Database Praktijk
Testtabel users
Opmaak van uitvoer
Verwijderen van gegevens
Bekijken van gegevens
Toevoegen van gegevens
Bewerken van gegevens
Werken met HTTP
HTTP-handboek
HTTP-verzoekmethode
HTTP-verzoekheaders
Array van HTTP-verzoekheaders
HTTP-antwoordheaders
Probleem met HTTP-antwoordheaders
Probleem met include
Afgifte van de startregel van het HTTP-antwoord
Afgifte van de HTTP-antwoordstatus
Redirects
Inleiding tot redirects
Directe redirect
GET-verzoeken en redirect
Zelfredirect met toevoeging van parameters
Flashberichten
Array van flashberichten
Formulieropslag
Succesberichten bij verzending
Redirect bij formuliervalidatie
Authenticatie
Inleiding
Autorisatie
Sessies
Uitloggen
Registratie
Onmiddellijke autorisatie bij registratie
Toevoegen van id aan sessie
Wachtwoord verbergen
Controle van login beschikbaarheid
Validatie
Hashing
Zout toevoegen bij registratie
Zout toevoegen bij autorisatie
Functie password_hash
Profiel
Account
Wachtwoord wijzigen
Wachtwoordbevestiging
Account verwijderen
Rechten
Registratie met rechtenverdeling
Rechten en normalisatie van de database