Hoj!
Vad jag har fått höra är att en session lever i ca 20 minuter och om jag vill att användarna ska vara inloggade så länge de är aktiva behöver jag då sätta nya sessionsvariablarna vid vara "händelse" eller räcker det med om man uppdaterar något annat? Och om jag sätter nya sessionsvariablar skapar det en massa sessioner som ligger och bråkar på servern då? Lite pekningar i rätt riktning skulle vara kul ;)
Session fråga
5 svar · 238 visningar · startad av Webslave
De c:a 20 minuterna är när användaren varit inaktiv och inte kallat på sessionen. Annars nollställs den tiden vid varje uppdatering av sidan (när sessionen kallas på).
Alla sessionsvariabler ligger i samma fil, så det är bara att ändra, lägga till eller ta bort sessionsvariabler, utan att behöva fundera på hur många eller vilka filer det blir. Det finns alltså en fil per öppen session.
Sessionsid, som sparas antingen i en cookie eller skickas vidare med URL-en, håller rätt på vilken session (och därmed fil) det rör sig om.
När du kallar på sessionen med session_start() kollas om det finns någon cookie, eller URL med sessionsid. Finns det ett sessionsid hämtas aktuell session från disken, annars skapas en ny session.
I standardinstallationen så rensas sessionskatalogen från gamla sessioner c:a var hundrade gång någon kallar på session_start().
Ok. Tackar för svaret.
Jag har haft problem med användare som blir utslängda efter ungefär 20 minuter trots att de har varit väldigt aktiva... kan någon komma på en anledning till detta? De kan logga in utan problem men de kickas ut av någon konstig anledning... skulle vara skönt att kunna ge dem ett rakt svar.
Jag har inga svar mer än några rejält långsökta möjligheter.
Har session.cookie_lifetime något värde (annat än 0)?
Har cookien en livslängd på c:a 20 minuter så kastas man automatiskt ut när cookien inte längre gäller.
Använder du frames?
Om inte kan besökarna se sitt sessionsid i adressfältet?
En långsökt variant där webbläsarens säkerhetsinställningar säger Nej Tack till cookies, och sessionsid förs vidare med URL-en. När besökaren går på en sida utan session_start() tappar de sitt sessionsid.
Är sidan uppbyggd med frames syns inte detta id i adressfältet.
Hum... tackar för svaren, jag ska höra med dem om deras inställningar och ska snacka med webhotellet om deras php.ini inställningar.
Du ser webbhotellets inställningar med phpinfo()