/ Forside / Teknologi / Multimedie & design / Flash / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Flash
#NavnPoint
bentjuul 4251
molokyle 1978
Klaudi 1488
jhvp 1265
pallenoc 1160
katekismus 1020
Fnollerpi.. 790
slander 510
Dr.Disco 500
10  Flash77 500
Overføre sessiondata (ID) fra php til flas~
Fra : Dennis Møllegaard Pe~


Dato : 05-03-02 13:33

Hej,

Jeg har en side, hvor folk logger sig ind - hvilket gør mig i stand til at
vise deres navn + andet info. Meningen er, at de også kan bruge den flash
jeg arbejder på, og den skal også kende dem via navnet. Men hvordan gør jeg
det?

Kan jeg overføre session-id'et til flash'en, så den kan bruge dette i et
kald til loadvariables("getinfo.php?PHPSESS=12345") og dermed hente
brugerens navnet/data?

Eller hvordan griber man det an?

Mvh.
Dennis



 
 
Michael Peo (06-03-2002)
Kommentar
Fra : Michael Peo


Dato : 06-03-02 11:30

[...]
> Kan jeg overføre session-id'et til flash'en, så den kan bruge dette i et
> kald til loadvariables("getinfo.php?PHPSESS=12345") og dermed hente
> brugerens navnet/data?
[...]

ja.. Det kan du godt!
Man gør lige som når man henter sine variabler fra en ekstern tekst-fil - som du rigtigt nok er
kommet rem til med en "loadvariables". Forskellen består bare i at php'en genererer tekst-filen
on-the-fly, dvs. den udskriver variablerne formateret på en måde så flash kan forstå dem:
hver variable navngives og tildeles en værdi med et = -tegn. Imellem hver af alle variablerne
indsættes et & -tegn for at fortælle at "her slutte den nuværende variabel, og en ny begynder". Ala:

fornavn=Dennis&mellemnavn=Møllegaard&efternavn=Pedersen

Da der kan opstå komplikationer ved brug af specielle tegn som f.eks. æ, ø og å er det en god idé at
URL-encode værdierne af alle variablerne (ikke variablens navn). Hvad ville der f.eks. ske hvis nu
en af variablerne indeholdt et & -tegn? - Det ville fucke op i sagerne. Således kommer det tidligere
eks. til at se ud som følgede:

fornavn=Dennis&mellemnavn=M%F8llegaard&efternavn=Pedersen

Se: http://www.macromedia.com/support/flash/ts/documents/url_encoding.htm
for MM's technote omkring URL-encoding og flash.

Jeg er ikke den store php-mand, men jeg mener at php har sådan en URL-encode funktion... kan bare
ikke lige huske navnet på den.

Ok, det var "the basics" nu til dit session-id. Så vidt jeg kan se behøver du ikke hente
bruger-informationerne ad to omgange - altså først ved at hente id'et ind i flash, og så derefter
bruge det til at hente de rigtige informationer.
Kald din php-side fra flash:
//
loadVariables ("getinfo.php", "_root");
//
Du behøver ikke at sende PHPSESS med fra flash'en. getinfo.php (returnerer/udskriver jvf.
ovenstående) de korrekte variabler ved først at checke session-id'et, og dernæst hentes brugerens
data fra databasen på basis af id'et.

/peo
www.bandage.dk









Dennis Møllegaard Pe~ (06-03-2002)
Kommentar
Fra : Dennis Møllegaard Pe~


Dato : 06-03-02 12:28


Hint: Læs hele mailen, før du giver et svar. :)

"Michael Peo" <peo@bandage.dk> wrote in message
news:a64qd4$5ni$1@sunsite.dk...
> [...]
> > Kan jeg overføre session-id'et til flash'en, så den kan bruge dette i et
> > kald til loadvariables("getinfo.php?PHPSESS=12345") og dermed hente
> > brugerens navnet/data?
> [...]
>
> ja.. Det kan du godt!
[...]
> Jeg er ikke den store php-mand, men jeg mener at php har sådan en
URL-encode funktion... kan bare
> ikke lige huske navnet på den.

urlencode, rawurlencode og tilsvarende decode funktioner. :). Jeg er
PHP-programmør, så denne del bekymrer mig slet ikke (beklager at jeg ikke
fik skrevet det). Egenlig syntes jeg det er en elegant måde Flash overfører
parameter på.

[...]
> loadVariables ("getinfo.php", "_root");
> //
> Du behøver ikke at sende PHPSESS med fra flash'en. getinfo.php
(returnerer/udskriver jvf.
> ovenstående) de korrekte variabler ved først at checke session-id'et, og
dernæst hentes brugerens
> data fra databasen på basis af id'et.

Okey, så forstår jeg ikke hvordan det kan virke.

Et session er kun muligt hvis serveren kan identificere brugeren med et
unikt ID (i dette tilfælde PHPSESS). Dette ID kan gemmes i en cookie eller
give som parameter til hvert kald. Når man så laver en loadVariables(..)
kald, så skal serveren have dette ID på en eller anden måde; enten via
cookie eller parameter. Men når jeg læser dit svar, virker det som om, at
loadVariables(..) så sender cookien med, når man snakker med serveren? er
det rigtigt? For ellers kan jeg ikke se hvordan det skal kunne virke..

Så flowet burde være:
php -> overfører session id -> flash -> kalder loadVariables() med session
id..

[senere]

Jeg tror jeg har fået løst problemet:

<object ....>
<PARAM NAME="movie" VALUE="MIN FLASH FIL?PHPSESS=12345">
....
</object>

Jeg har dog ikke lejlighed til at teste det endnu. Men mange tak for
hjælpen.

Mvh.
Dennis.




Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste