PHP: sessions - "uppdatera sidan" - nollställ?

Tråden skapades och har fått 1 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Stockholm
  • 2003-08-18 13:07

Tjena!

Trivs inte riktigt med min kod jag skrivit för inloggning på hemsidan.
Man kan logga in och det fungerar rätt bra men trycker man tex på refresh(uppdatera sidan) så läses sjävklart koden igenom igen.

Vad som händer då är att man loggas ut, eller den hittar inte att man är inloggad och säger "Felaktiga användaruppgifter".
Man kan dock trycka på "Back"-knappen och på så vis bli inloggad igen. Inte alls bra.
Med andra ord så ska jag nog fixa en ordentligare utloggning av användaren trots att systemet verkade tro att den försökte logga in och svarar med "Felaktiga användaruppgifter".

Jag undrar om någon kan berätta mer om sessions och vad som händer när man refreshar en sida som har registrerat sessionvariabler...

......
fick bråttom iväg
får skriva mer beskrivande sen

mvh
ivar

sessioner i php är både enkelt och kul!

vad vill du veta?
sessions är optimala tycker jag, om tex en användare har stängt av cookies, ja då lägger php automagically till md5 strängen i url'n.

ett enkelt check om nån user är inloggad med sessions, kollar helt enkelt om en sessionvar kallad user finns, denna finns bara om usern har loggat in

session_start();

if (!isset($_SESSION['user'])) 
{
   header("Location: login.php");
}

viktigt att tänka på är att session_start() ligger överst (dvs innan nått annat) på sidor som du skall använda, samt att använda $_SESSION['foo'] istället för $foo, för om du har registerglobals på i php.ini så är det löjligt enkelt att logga in utan att ha behörighet till det (tex genom att lägga till secretpage.php?user=admin, därför: register_globals == BAD!), men så länge du kör på $_SESSION[] så är du safe.

1
Bevaka tråden