Lees eventueel op W3Schools PHP de sectie [PHP Sessions]
Experimenteer in een PHP bestand om iets in de sessie te schrijven en dan na een brouwser refresh weer uit de sessie te lezen.
Voeg een menu optie toe voor de login pagina.
Voeg nu een login pagina toe aan je webshop als op deze menu optie wordt geklikt.
Het login scherm kent een invoerveld voor e-mail en password en een verstuur-knop.
Als de data van het login formulier binnenkomt, wordt er gecontroleerd of alle velden zijn ingevuld:
Als alle velden zijn ingevuld, wordt er gecontroleerd of het email adres voorkomt in de users.txt file en of het password overeen komt.
Is het email adres onbekend if of komt het password komt overeen, dan wordt het login formulier opnieuw getoond met een foutmelding.
Is het email adres bekend is en het password komt overeen, dan wordt gebruiker ingelogd in de sessie.
Als niet alle velden valide zijn dan, wordt het formulier weer getoond met de reeds ingevulde waarden en een foutmelding achter de velden die niet correct zijn.
Pas aan dat als iemand correct is geregistreerd, deze het loginformulier te zien krijgt. (Dus geen "u-bent-geregistreerd" pagina tonen!)
Pas het menu aan dat alleen als er niemand is ingelogd, de opties voor de login-pagina en de registratie-pagina zichtbaar zijn. Als er wel iemand is ingelogd, moet alleen een menu optie "LOGOUT [NAAM]" zichtbaar zijn, waarbij [NAAM] de naam van de ingelogde gebruiker is.
Voeg nu toe dat als er een verzoek binnenkomt om uit te loggen, de gebruiker uit de sessie wordt verwijderd en dat de home pagina wordt getoond. (Dus geen "u-bent-uitgelogd" pagina tonen!)
N.B.: Bij bovengenoemde oplossing mag er GEEN gebruik worden gemaakt van http-redirect of javascript om een pagina opnieuw te laden.
Dus geen header:location of window.location.href gebruiken of http_get() gebruiken om de outputbuffer leeg te maken !!
Commit regelmatig de wijzigingen naar je lokale repository (o.v.v. het issue nummer).
[PHP Sessions]