Avatar billede phliplip Nybegynder
16. november 2005 - 11:36 Der er 11 kommentarer og
2 løsninger

Sessions mellem 2 iframes

Hej Exp!

Prøver lige at skitsere problemet!

--index.php--
har et DIV layer id=sheet
har en iframe hvor i controller.php køres
har en iframe hvor i searcher.php køres

--searcher.php--
genererer et multi array i $_SESSION['xmlData']
lige pt. genererer den noget statisk data, det er meningen at data'ene skal komme fra noget XML fra eksterne leverandører (problemstillingen uvedkommende lige pt.)
når den er færdig med at generere arrayet sættes $_SESSION['xmlDataExit'] = false

--controller.php--
looper indtil $_SESSION['xmlDataExit'] bliver sat true ovre i searcher.php
i loopet printer den så et javascript som skal ændre DIV layeret i index.php (parent) og flusher, så det sker med det samme
selve det med flush af javascript og at den
----------

Problemet er at den bliver ved med at loop'e i controller.php indtil den timer out, altså registrerer den ikke at $_SESSION['xmlDataExit'] bliver sat true ovre i searcher.php ... så spørgsmålet er searcher.php ikke kan påvirke $_SESSION ovre i controller.php?

Er der evt. nogen der har en løsning?
Avatar billede jakobdo Ekspert
16. november 2005 - 11:48 #1
Du kan prøve en lille test!
I searcher.php og i controller.php
laver du følgende filer:
session_start();
echo session_id();

Tjek om det er samme id.
Normalt opfattes iframes jo som et nyt vindue/browser!
Avatar billede phliplip Nybegynder
16. november 2005 - 12:01 #2
Du siger noget.. tester lige!
Avatar billede phliplip Nybegynder
16. november 2005 - 12:04 #3
Du har ret.. du sku' skydes ;) he he

Hmm.. hvad hvis jeg så sender session_id over til iframen.. så burde den vel bruge det! tester lige!
Avatar billede phliplip Nybegynder
16. november 2005 - 12:19 #4
Så nu har alle sider samme session_id :S Still no go :(

Men tror måske at jeg er stødt ind i det faktum at IE ikke starter load af frame2 før frame1 er loaded færdig :S
Avatar billede phliplip Nybegynder
16. november 2005 - 12:22 #5
Eller FireFox for den sags skyld
Avatar billede jakobdo Ekspert
16. november 2005 - 12:33 #6
Jeg har ikke flere bud hvordan du kan løse dit problem.
Avatar billede phliplip Nybegynder
16. november 2005 - 12:47 #7
Nå :-S Så må vi jo se om der er andre der har nogen guldkorn.. kan også være det slet ikke skal løses på denne måde!

Problem stillingen skal ses i forbindelse med http://exp.dk/spm/664942 hvor du også deltager.

Kort sagt, jeg skal lave et kald til op til flere leverandører som returnerer noget XML data, og index.php skal så løbende opdateres efterhånden som dataene kommer ind!

Tanken var at resultaterne skulle sættes op i et slags regneark hvor dataene poppes ind løbende!
Avatar billede jakobdo Ekspert
16. november 2005 - 13:07 #8
Hente tingene løbende?
Hvor tit skal det laves?
Avatar billede phliplip Nybegynder
16. november 2005 - 14:08 #9
Hvad mener du med hvor tit det skal laves? Brugerne på mit site indtaster en søgning og søgningen bliver så sendt til mine leverandører som returnerer XML med de data der passer på søgningen!

Så det skal gøres hver gang en bruger laver en søgning ;)
Avatar billede phliplip Nybegynder
30. december 2005 - 20:49 #10
Fandt ud af at sessions ikke kan bruges samtidigt af 2 scripts.. så vi har klaret det på anden vis!

Hvis du vil ha' points så smid et svar
Avatar billede jakobdo Ekspert
02. januar 2006 - 20:16 #11
Svar!
Men tag evt nogle af pointene selv, det er ikke 200 værd!
Avatar billede phliplip Nybegynder
02. januar 2006 - 23:43 #12
Svar til mig
Avatar billede jakobdo Ekspert
03. januar 2006 - 11:30 #13
Takker for point!
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