04. juli 2004 - 17:17Der er
16 kommentarer og 1 løsning
Sessions opførsel i forbindelse med Iframes, jeg har et problem!
Hej jeg har en hjemmeside med logind og det fungerer således at jeg includer checklogin.php i alle de sider jeg vil have sikre. Det kender du sikkert godt.
Desuden bør jeg oplyse at jeg kører med en index-in.php som viser en menu og en bundskraber. derimellem har jeg lavet en iframe, som indholdet vises i. Altså det vil sige at folk kommer til min side (index.php) og går derefter hvis de vil logge ind til index-in.php(hvor der kræves login) og derefter kan de klikke og vise forskellige sider i iframen.(iframen i index-in.php)
Nå men jeg har et problem når folk ændrer sine adgangskoder, for din-profil vises jo i iframen, og når folk feks vælger en ny adgangskode, så opdaterer jeg session'en således:
en tabel med login navn og password og session id ved login bliver session id i tabellen sat li med den session de logger ind med, dernæst er alle checks lavet ved at checke session id i tabellen mod bruger. password bliver kun checket ved login og det er så i en anden tabel og der er ikke umiddelbart noget check af session andet end om den session er registreret i forvejen.. tror jeg nok.. har faktisk ik roddet med ændring af oplysninger endnu, men det behøver vel ik have noget med session at gøre.. kan selvf. være jeg tager fejl.. anyways.. mine 25øre er brugt :o)
session id er et laaangt nummer som identificerer den enkelte session der er igang. Hver bruger der kommer ind på siden får tildelt et unikt nr. Derfor er det så dejligt nemt at søge på i databasen ;o) og ved log ud "dræber" man det nummer og hvis de logger ind igen får de tildelt et nyt session id som overskriver det tidligere i databasen.. altså hvis man koder den til det ;o)
mener den hedder session_id() .. så det bare at gemme session id i en login tabel sammen med login navn og senere lave et check der hedder "er session_id i tabellen?" hvis ja echo navn eller andet... på den måde kan man hele tiden checke om den session der er igang er logget ind, for så skal den findes i login tabellen sammen med det login navn der har den session ;o) håber det gir mening
Jeg har løst problemet nu ved at opdatere parent/top med det samme efter session er ændret. Jeg har (efter sessions er lige er ændret og der er skrevet til db) indsat et javascript som åbner ../index.php?iframe=../secure/din-profil.php?passw_changed=true
Så opdager brugeren ikke andet end at siden bliver opdateret og sessions bliver trukket med ud i det yderste vindue på en eller anden måde. ganske enkelt faktisk og det virker 100%
Så kan brugeren trykke på opdater uden at blive smidt ud :-)
Men tak for jeres forslag til det her specielle problem.
Tak allesammen!
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.