MullaKrekar Skrevet 3. mars 2003 Del Skrevet 3. mars 2003 Holder på med en enkel login-funksjon mot en database, og har fått den biten til å fungere. Ved riktig innlogging registreres brukernavnet i en session-variabel slik: session("brukernavn") Men hva hvis jeg vil sjekke om en session er registrert (dvs. at bruker er logget inn)? Har forsøkt med: if session("brukernavn") then her ligger koden som gir tilgang til innholdet i databasen else response.redirect "en_eller_annen_side.html" end if Men dette fungerer altså ikke...noen forslag? Lenke til kommentar
ilpostino Skrevet 3. mars 2003 Del Skrevet 3. mars 2003 husker jeg ikke helt feil må du skrive noe slikt: if session_registered("NavnPåSession") then kode som skal utføres end if (er ikke helt sikker på om jeg har krevet den kommandoen riktig, men det er noe i den duren. kan finne det ut på dagen imorgen og legger ut beskjed hvis overnevnte kode er _feil_) Lenke til kommentar
reactor Skrevet 4. mars 2003 Del Skrevet 4. mars 2003 Jeg regner med at det som skjer når du kjører denne koden er at brukeren blir redirecta uansett? Det kommer nok av at IF setningen du kjører ikke gir et riktig resultat, det ligger ikke en boolean verdi i session-objektet du har laget, men en string. Det du heller bør prøve er: if session("brukernavn") <> "" then 'Vis siden her ja gitt! else response.redirect("login.asp") end if Det bør absolutt funke Lenke til kommentar
MullaKrekar Skrevet 4. mars 2003 Forfatter Del Skrevet 4. mars 2003 Takker og bukker - det fungerte meget bra! Kan man kanskje spørre samtidig hvordan man fjerner en session-variabel også? I PHP er det vel med destroy eller unset eller noe - kan man gjøre det på tilsvarende måte i ASP? Lenke til kommentar
reactor Skrevet 4. mars 2003 Del Skrevet 4. mars 2003 Nja, jo... Du kan ikke slette en enkelt session variabel med en enkelt kommando, men du kan jo selvfølgelig sette den til 0 ved f.eks: Session("brukernavn") = "" Derimot kan du slette samtlige session variabler som ble opprettet under en sesjon, og det gjøres ved å skrive: Session.Abandon Husk også på at du har noe som heter for "TimeOut", default verdi for denne i IIS5.0 er 10 minutter, men du kan endre denne ved å skrive: Session.Timeout = n (hvor n tilsvarer tid i minutter.) Håper dette ga det svaret du ville ha! Lenke til kommentar
MullaKrekar Skrevet 4. mars 2003 Forfatter Del Skrevet 4. mars 2003 Hjertelig takk! Lette litt selv også og fant nettopp det du skrev her. Men ettersom jeg forstod, kan man også skrive session.Contents.RemoveAll Eller fjerner dette bare innholdet, uten å "drepe" selve session? Lenke til kommentar
reactor Skrevet 5. mars 2003 Del Skrevet 5. mars 2003 Heh, har faktisk aldri brukt den kommandoen selv, men utifra det som virker logisk så fjerner den bare innholdet ja... I de fleste tilfeller vil det ikke utgjøre noen forskjell å nullstille verdien til en session fremfor å ødelegge den - MEN: Dersom du utvikler en større webapplikasjon med mange tusen besøkende hver dag er det dumt å "bare" nullstille, fordi hver session som blir opprettet blir lagret på serveren. Så, for å frigjøre minne er det nok lurt å ødelegge objektet av og til ja. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå