Ik ben bezig met een bestaand inlogscript.
Met een vinkje kun je aangeven of je 30 dagen automatisch ingelogd wilt blijven.
Alleen werkt dat met de gebruikersnaam en het wachtwoord in twee cookies opgeslagen.
Ik heb in de DB een tabel aangemaakt met 2 cookies.
De eerste gebaseerd op een gecodeerde tijd die is ingesteld bij het aanmaken van de registratie.
De tweede gebaseerd op het IP, maar dient uitsluitend om bij andere locatie het automatisch inloggen te blokkeren.

Er wordt een sessie aangemaakt met de gegevens uit tabel 1
De codering voor de cookie opslag zitten in tabel 2.
De link tussen tabel 1 en tabel 2 wordt gemaakt via het id.
Moet/kan dat met meerdere sessies tegelijk?
Ik heb eerlijk gezegd geen idee hoe ik dit omgebouwd krijgt!
Iemand die me verder kan helpen?
Dat is goed, denken in collecties van functies kan geen kwaad. Op een gegeven moment zou je deze eenvoudig om kunnen zetten naar een soort van wrapper class voor mysqli.

Bij functies (en methoden van een klasse, wat in feite ook gewoon functies zijn) is het wel zaak dat je heel kritisch kijkt naar de toepassing en zorgt dat deze ook herbruikbaar zijn. Zo zal een query niet altijd een "resultaat" opleveren in termen van records. Daarnaast kan een query-resultaat uit meerdere records bestaan (terwijl je maar één record ophaalt). Ook weet ik niet of het handig is om een heleboel metadata terug te geven (num_rows, de query zelf) als je enkel geïnteresseerd bent in het resultaat (of de resultaten :)) zelf.
Bij de pagina om het profiel te editen is het me gelukt met uitsluitend een session id de gegevens in het formulier terug te zetten.
Maar doe ik hetzelfde bij de pagina om uitsluitend het profiel te tonen gaat het verkeerd.
Maar dat doet hij ook als ik uitsluitend een echo plaats.

Wat Is het doel van set_session?
Er wordt ook geen gebruik gemaakt van een session naam of session id.


function set_session($username, $password) {
    
            $query = $this->query("SELECT id FROM ".DBTBLE." WHERE username='$username' AND password='$password'");
.
.
Waar haal jij een "session id" vandaan?

er is maar één session id maar die staat in een cookie namelijk. Wellicht bedoel je op het user_id dat uit de sessie gelezen wordt om zo je formulier te vullen.

Om het profiel van de INGELOGDE user te tonen (je eigen profiel zeg maar) doe je exact hetzelfde alleen in plaats van de $row['username'] in een <input> te plaatsen zet je hem gewoon tussen je normale tekst/html.

Wat Is het doel van set_session?
Als je iets naar de sessie wilt wegschrijven dan heb je geen query nodig. Dus geen idee wat ik met dat stukje code moet
Dit stukje code lijkt mij echter niet veilig. Mogelijk kun je hiermee met een willekeurige gebruiker en wachtwoord inloggen, maar dit zal ook een beetje van de rest van de code afhangen.
Denk dat ik gisteren te veel en te lang op automatische piloot heb gedaan, haha.
Even de scripts doorgelopen en het werkt nu.
Bedankt voor het meedenken.
Op naar de volgende stap!

Reageren