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

Machten Afronding Extremen Modulus Bewerkingen met arrays

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

Willekeurig getal Willekeurig array-element Arrays shuffelen Strings shuffelen

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

Website engine

Inleiding Htaccess gebruiken Engine op bestanden Titel in engine op bestanden Titels in array Titels in content Pagina 404 in engine op bestanden Engine op database Leesbare URL in engine Eenvoudige routing Routing met genaamde parameters Meerdere parameters in route Practicum
defr