Avatar billede musti776 Nybegynder
22. september 2004 - 15:44 Der er 5 kommentarer og
2 løsninger

Problemer med sessioner igen..

Hej alle

Jeg har lidt problemer med sessions.

Jeg har prøvet at lave et system, hvor det ikke skulle være muligt at skrive til f.eks.
gæstebogen uden at være logget ind.

Det virkede sådan set også fint nok...troede jeg..

Jeg har nu lagt mærke til at når man logger ind på siden, og kommer væk eller lukker vinduet,
og senere kommer tilbage igen, så bliver man stadig vist som om man er logget ind. Problemet
er bare at, når der skal skrives til gæstebogen, bliver felterne som brugernavn, email osv
automatisk udfyldt med session.

Men som sagt, hvis man logger ind, smutter, og kommer tilbage igen,
få man lov til at skrive i gæstebogen men ens brugernavn, email osv kommer ikke med :(

Jeg havde ikke angivet noget levetid på sessioner jeg bruger, kan det være derfor?
Hvis ik, kan man lave et eller andet så hvis man lukker siden, bliver nødt til at
logge på igen?

Musti
Avatar billede nythjem Nybegynder
22. september 2004 - 16:02 #1
Hej Musti!

Hvis du lukker alle dine browser vinduer, så burde sessionen ikke blive husket.

Du kan imidlertid lave en lille finde, som gør, at sessionen bliver fjernet, når brugeren lukker vinduet.

Placer dette script i din gæstebog.

<head>
<script language="JavaScript">
function PopLogOff() {
InfoWin = window.open('logaf.asp?ID=1', '_blank', 'height=10,width=10,top=0,left=0');
}
</script>
</head>

Kald scriptet i body..

<body .. OnBeforeUnload="PopLogOff();">


Lav en fil, der hedder Logaf.asp, og i denne kan du eksempelvis skrive.

<%
Session.Abandon
%>

<SCRIPT LANGUAGE="Javascript">setTimeout("self.close()",1000);</SCRIPT>

Så burde det hele være klaret..
Avatar billede eagleeye Praktikant
22. september 2004 - 16:04 #2
du kan også lave det sådan at inden du skriver til databasen tjekker du på om session inde holder en værdi for navn og email.

Lige som her på eksperten hvis man har været lang tid væk kommer tilbage kan man stadig skrive et indlæg hvis man ikke reloader siden, men det bliver ikke gemt når man trykker Send fordi der tjekke på om session stadig er aktiv inden den gememr i databasen.
Avatar billede musti776 Nybegynder
22. september 2004 - 16:23 #3
hej til jer begge to,

eagleeye, kan du måske give et eks. på hvordan man laver det..
Så kunne jeg måske lige se hvilke løsning der vil passe bedre til siden :)
Avatar billede eagleeye Praktikant
22. september 2004 - 16:49 #4
Den side hvor du gemmer i databsen kunne du gøre noget i stil med:

if session("brugernavn") <> "" and session("email") <> "" then
  'Indsæt i gæstebogen


end if
Avatar billede musti776 Nybegynder
03. oktober 2004 - 12:59 #5
hej :)

takker til jer begge to, har brugt eagleeyes løsning..
ligger du lige et svar :)
Avatar billede eagleeye Praktikant
03. oktober 2004 - 13:31 #6
Ok det gør jeg da :)
Avatar billede musti776 Nybegynder
03. oktober 2004 - 14:52 #7
hmm, synes alligevel nythjem også skulle have lidt for sit indsats..
Håber det ikke gøre noget... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester