Inhoudsopgave:
Video: How to use Cookies and Session in PHP 2024
U hebt ongetwijfeld websites gezien die cookies gebruiken om na te gaan wie u bent, die u mogelijk verwelkomen nadat u zich hebt aangemeld of die u aangepaste informatie over uw account geeft nadat u bent ingelogd. U kunt PHP-sessies en cookies gebruiken om dit te doen, inclusief het verzenden van de gegevens in een formulier bij elk verzoek.
Maar dat is niet veilig en is lang niet flexibel genoeg voor de huidige webtoepassingen. Gelukkig is er een betere manier - en het is binnen handbereik: sessies.
PHP-sessies
Een sessie in PHP is een veilige manier om een gebruiker van pagina tot pagina te volgen. Met een sessie kunt u informatie over gebruikers opslaan, zoals hun e-mailadres, naam, telefoonnummer en alle andere details die u hebt, en deze informatie automatisch invullen waar deze nodig is op de site.
Stel bijvoorbeeld dat u bij het inloggen de voornaam en het e-mailadres van de gebruiker uit uw gebruikersdatabase laadt. U kunt die informatie opslaan in een sessie, in wezen verborgen voor de gebruiker, totdat u hem gebruikt.
U gebruikt sessie-variabelen zoals u met andere variabelen zou doen. Achter de schermen worden sessies opgeslagen in een array met de naam $ _SESSION. U slaat waarden op zoals u dat zou doen met een benoemde array in PHP. U kunt bijvoorbeeld een e-mailadres en een naam als volgt bijhouden:
$ _ SESSION ['emailAddress'] = "me @ example. Com"; $ _SESSION ['firstName'] = "Steve";
U kunt sessies ook gebruiken om informatie bij te houden die is ingevuld op een webformulier, zonder dat u die informatie via de site moet meenemen in verborgen formuliervariabelen.
PHP-cookies
Sessies worden doorgegeven in browsercookies, . Dit zijn kleine extra stukjes informatie die van en naar een webbrowser worden verzonden. De feitelijke stukjes informatie, of wat die bits eigenlijk zijn, is aan jou, de programmeur.
U kunt bijvoorbeeld een cookie verzenden met de naam van de gebruiker. De cookie kan dan worden opgeslagen op de computer van de gebruiker en de volgende keer dat ze de site bezoekt, wordt de cookie naar uw programma gestuurd, die vervolgens een gepersonaliseerde begroeting zou presenteren.
Cookies zijn echter net als alle andere gegevens die u van een gebruiker ontvangt; de gegevens van cookies moeten worden gewist omdat deze niet vertrouwd kunnen worden. Met andere woorden, zodra uw programma een cookie naar de browser van een bezoeker stuurt, kan de bezoeker die cookie bewerken of wijzigen om alles te zijn wat hij maar wil.
Dus als u (de webontwikkelaar) de cookie gebruikt om een gebruikersnaam op te slaan, kan de bezoeker de gebruikersnaam wijzigen in wat hij maar wil en deze vervolgens terugsturen naar uw programma.
De mogelijkheid dat gebruikers hun cookies bewerken, wordt grotendeels opgelost door eenvoudig sessies te gebruiken.Wanneer een sessiecookie wordt gemaakt, wordt een hash-waarde gebruikt, wat een lange tekenreeks is. Dit betekent dat zelfs als gebruikers de cookiewaarde wijzigen, met andere woorden, als ze die hash wijzigen, ze niet echt iets wijzigen dat u rechtstreeks in uw programma gebruikt.
In plaats daarvan verwerkt PHP de vertaling van die hash uit de cookie namens u en kunt u verder gaan met het gebruik van dingen in de array $ _SESSION. De werkelijke waarden die u opslaat in de array $ _SESSION, worden nooit door de gebruiker gezien; ze bestaan alleen op de server.
Natuurlijk betekent het gebruik van sessies met cookies dat cookies moeten worden ingeschakeld in de browser van de gebruiker. Als dat niet het geval is, kan de gebruiker de toepassing niet gebruiken.