15. april 2004 - 17:18Der er
18 kommentarer og 1 løsning
session.abandon påvirker andet browservindue
Jeg administrerer en hjemmeside der både arbejder med login og sessioner på brugersiden og i administrationen. Dvs. der er loginkrav begge steder. Mit problem er at når jeg logger af på eksempelvis brugersiden (som jeg har åbnet i et browservindue) slår dette også igennem i det andet browservindue hvor jeg administrationen åbnet. Dvs. session.abandon slår igennem på to uafhængige(?) browservinduer.
Hvordan løser jeg, eller kan jeg overhovedet løse dette problem?
Den mest anvendelige metode som jeg kan se, er nok at bruge: session("et_eller_andet") = "" <- Når du/en bruger logger af... <body onunload="if{window.close(){<%session.abandon%>}"> <- Når vinduet lukkes, afsluttes alle sessions...
Ved ikke om sidstnævnte virker som den står, men med lidt ændringer bør den virke...
Det vil sige jeg bliver nødt til at lukke alle de sessioner som jeg ikke ønsker skal være aktive? Er der ikke en måde hvorpå jeg kan nulstille alle sessioner i det det pågældende browservindue?
thesurfer >> alle Session manipulationer "slår igennem" på serveren. Når en bruger requester en side fra en server, bliver der oprettet en session til denne bruger. Ingenting, der har med Sessions at gøre, har kontakt med en browser ... det er serveren der administrerer denne, og har tilgang til denne.
problemet ligger nok i at administrationen bliver åbnet fra brugersiden. når dette sker, så "arver" det åbnede vinduet session fra det vindue der åbner, og alle session manipulationer der sker i hvilket som helst af disse vinduer, har en effekt på det andre vindue.
Prøver lige igen :-) Vil det sige at jeg bliver nødt til at lukke alle de sessioner enkeltvis som jeg ikke ønsker skal være aktive? Er der ikke en måde hvorpå jeg kan nulstille alle sessioner på én gang i det pågældende browservindue uden at det har nogen effekt på det andet browservindue??
1) session = besøg 2) session variable = en variabel, fx session("myVariable"), som serveren husker fra side til side, indtil sessionen timer ud eller session.abandon udføres.
lunaus >> hvis du svarer på de spm der bliver stillet her inde selv, så kan det jo være at vi svarer dine spm ;o] jeg skrev, i det aller første indlæg:
højst sandsynligt så åbner du dit admin vindue fra "brugersiden" ?
(( læg mærke til spørgsmålstegnet til sidst ;o] ))
nute >> Sorry er "lidt" grøn i dette forum. Jeg får adgang til admin-delen ved at skrive /admin efter den almindelige hjemmeside adresse. Så jo, jeg får vel adgang fra "brugersiden" :-)
ok ... så du logger først på din brugerside, derefter skriver du /admin i din browser og logger på igen eller hvad ?
som jeg har skrevet - hvis du åbner et vindue fra et andet, så arves Session. hvis du vil have en "ren" session for din admin, så er du nødt til at åbne et nyt browservindue (ved at klikke på dit browserikon) og angive URL'en til din admin del
retry >> Hjælper det her? ;-] Vil det sige at jeg bliver nødt til at lukke alle de "session variabler" enkeltvis som jeg ikke ønsker skal være aktive? Er der ikke en måde hvorpå jeg kan nulstille alle "session variabler" på én gang i det pågældende browservindue uden at det har nogen effekt på det andet browservindue??
Hvis du starter en frisk Internet Explorer, dvs ikke fortsætter i et IE-vindue, som i forvejen er inde på siden, så starter du også session, som er uafhængig af din eventuelle login på brugersiden.
retry / nute >> tak for hjælpen. Føler mig godt dum. Jeg må have benyttet den famøse ctrl+n for at åbne et nyt vindue, hvorved sessionen bliver overført til det nye vindue. Sorry alt bøvlet....
lunaus >> man er ikke "dum" fordi man ikke ved at sessions bliver arvet på denne måde ... man kender simpelthen ikke bare til det. Hvis man slet ikke forstår at det er sådan det fungerer, og man gang på gang render ind i de samme problemer, så ville jeg nok uden problemer kategorisere nogen som "dum" ;o] (selv om det er svært at sige at nogen, man ikke kender, er dum)
Synes godt om
Ny brugerNybegynder
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.