PHP gevorderde |
|
Je uiteindelijke fout zit hem erin dat je nergens een check doet op het bestaan van de cookie en dus krijg je steeds je inlogform te zien.
Maak een aparte functie of bestand dat je required waar je een check doet of de COOKIE bestaat, je leest hem uit en daar query je mee op de database. Uitleg hieronder hoe je dan weet of de user juist is of niet.
Let steeds op dat als de gebruiker zijn cookies afzet je nooit ingelogt zal blijven!
Ik raad aan een "remember_token" en een "remember_token_expire" op te slagen in je database in je user tabel en enkel een Session id op te slagen in je COOKIE. Zie ook dat je je COOKIE lang genoeg insteld anders verloopt die bij het sluiten van je browser. Slaag NOOIT, zoals je nu wel doet userid en wachtwoord op in een COOKIE!! Best is inderdaad een SESSION ID op te slagen in de cookie en niks meer. De rest slaag je best op in de database, zoals eventueel IP enz...
IN HET KORT:
- Check eerst op het bestaan van een cookie.
- bestaat die, lees de cookie uit.
- verifieer de data met diegene in de database en indien match slaag je het inlog gedeelte gewoon over.
- indien ze niet bestaat toon inlog form.
Met andere woorden, jij doet nergens een check op de cookie!!
Klein voorbeeld, best wachtwoorden niet in cookie steken!!!
http://www.plaatscode.be/49719/
|