Avatar billede learner Praktikant
04. juli 2004 - 17:17 Der 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:

session_start;
session[adgangskode]=$posted_ny_adgangskode;

Og det virker fint, men kun i iframen :-)
Hvis jeg opdaterer selve index-in så bliver jeg smidt ud for den bruger de gamle sessions

Hvordan kan det være?

Og hvordan kan jeg opdatere sessions så de er ændret alle steder?

Jeg kunne forestille mig noget med session name måske?

Det ville virkelig gøre alting lettere for mig hvis jeg fik en forklaring eller en løsning.

mvh Michael
Avatar billede jchillerup Nybegynder
04. juli 2004 - 17:25 #1
Har du prøvet med session_start() - Du mangler paranteserne.
Avatar billede jammerlab Nybegynder
04. juli 2004 - 17:26 #2
<? session_start(); ?>

SKAL og jeg gentar SKAL i toppen af alle dine dokumenter :)
Avatar billede learner Praktikant
04. juli 2004 - 17:28 #3
ja, det er jeg ret sikker på at jeg har, men jeg tjekker lige!

jeg ved godt <? () osv

:-)
Avatar billede learner Praktikant
04. juli 2004 - 17:34 #4
session_start(); er sat først! og paranteser er der os!

:-)

Det fungerer som sagt osse fint, men kun indeni iframe'en.

Det er der hele problemet ligger, hvordan ændrer jeg de sessions der er sat udenfor iframen?

lidt tricky spørgsmål :-)
Avatar billede learner Praktikant
04. juli 2004 - 17:40 #5
hvor ligger sessions henne, er de med i url'en eller ligger de på serveren eller hvor??

fungerer iframe som et selvstændigt vindue(browser)?
Avatar billede jammerlab Nybegynder
04. juli 2004 - 17:45 #6
Nu har jeg aldrig leget med session i frames så ved ikke så meget om det, men det kunne jo tyde på du skal opdatere den session via url'en.. måske? :)
Avatar billede bahne2000 Novice
04. juli 2004 - 17:47 #7
hurtig brainstorm...

mit eget login system er lavet 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)
Avatar billede jammerlab Nybegynder
04. juli 2004 - 17:49 #8
kan du ikke bare lave så når din bruger har opdateret din profil så refresher du hele framet med den nye session?
Avatar billede learner Praktikant
04. juli 2004 - 17:55 #9
talker, jo det har jeg os tænkt på.

bahne2000, session id hvad er det, for det kender jeg vist ik til?
Avatar billede learner Praktikant
04. juli 2004 - 17:57 #10
jaeg skal lige ned til grillen en smut, men glæder mig til at komme hjem igen og læse mere fra jer. på forhånd tak, ses om lidt igen!

:-)
Avatar billede jammerlab Nybegynder
04. juli 2004 - 19:03 #11
Når.. jeg skal tilbage på kasernen så jeg kan først hjælpe igen på fredag :)
Avatar billede bahne2000 Novice
04. juli 2004 - 20:17 #12
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)
Avatar billede learner Praktikant
04. juli 2004 - 20:58 #13
Jamen så skal jeg vel bare have det id-nummer hentet på en eller anden måde... hmm

Og så kan man vel rette session's indhold når man har nummeret, det må da kan lade sig gøre.

Ved du hvordan jeg fremskaffer id-nummeret og hvordan jeg vælger session-id når jeg vil gemme oveni de gamle værdier?
Avatar billede bahne2000 Novice
05. juli 2004 - 00:59 #14
bruger du database?
ku godt forestille mig det blir lidt svært uden ;o)
Avatar billede learner Praktikant
05. juli 2004 - 01:06 #15
JA, JEG BRUGER MYSQL
Avatar billede bahne2000 Novice
05. juli 2004 - 18:21 #16
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
Avatar billede learner Praktikant
16. august 2004 - 09:55 #17
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!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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