[PHP + FLASH(AS3)] session übergeben

eno_gib

X user
ID: 307979
L
27 Juli 2006
221
3
moin moin,

ich versuche gerade einen Slot in Flash zu basteln, und da ist mir ein kleines Problemchen Aufgetreten, von dem ich hoffe dass, einer von euch die Lösung weis.

kurz vorher,
Ich habe einige Erfahrung mit Php Seiten erstellen, und alles was halt dazu gehört, so wie SQL , html , xml , bisschen Javascript und denn ganzen Papp.
Jedoch bin ich bei Flash recht neu dabei, und versuche mit diesem Slot mein erstes richtiges AS3 Script zu schreiben.

Wie ich mir gedacht habe dass der Slot funktionieren soll:

1. der User öffnet eine swf Datei (der "Oberflächen" Teil des Slotes)

2. der User sieht denn Slot und kann auf "Play" drücken,

3. sobald er dieses getan hat ruft die swf Datei eine PhP seite auf dem server
auf, und übergibt die erforderlichen Variablen per GET.

4. das PhP script rechnet aus ob der User gewonnen hat , und gibt die Symbol Nummern auf den Walzen, zusammen mit der Nachricht (gewonnen oder verloren) aus. (zusammen mit denn anderen Variablen "Jackpot-höhe", "Guthaben" etc.)

5. das php script erledigt alle Datenbank Aufgaben bezüglich, Guthaben-veränderung , ref-verdienst , aktivpunkte etc...

6. Die swf Datei erhält die Variablen und zeigt dementsprechend die Ergebnisse an.

So nun zum eigentlichem Problem:

Wie kriege ich mein PhP script dazu, zu erkennen welcher User grade spielt?
die user_id ist bei mir in der $_SESSION globalen Variable gespeichert,
als ich den Slot gebaut und getestet hab, hat alles Wunderbar funktioniert, solange ich nur über "https://localhost/" reingegangen bin, konnte ich auch mit unterschiedlichen Accounts problemlos Spielen.

Wenn ich allerdings meine über das Internet ereichbare Verbindung nehme:
"https://IP-NUMMER/" erkennt das PhP script nicht meine user_id
(da es anscheinend nicht weis in welcher session es sich bewegt).

irgendwie muss ich wohl Flash dazu bringen sich beim aufrufen die user_id übergeben zu lasssen, sodass es sie auch beim Aufruf des Php scripts mitsenden kann ... aber wie?

oder bin ich da ganz wirre und hab nen falschen Ansatz?
zumindest funktioniert der Slot einwandfrei solange ich unter localhost reingehe.

kann mir jemand vieleicht einen Vorschlag bieten, wie dieses Problem zu lösen sei?

Vielen dank im voraus
MfG
eno_gib
 
Flash braucht nicht zu wissen, wer spielt, da Flash nur die Ausgabe der PHP-Zeichenspielerei macht.

Wenn PHP den User nicht erkennt, ist das Problem von PHP und nicht von Flash.
Check mal, ob der Browser den Keks akzeptiert. Kein Keks, keine Session - außer du gibst sie über die URL mit, was unschön is.
 
rufst du vllt per Flash eine andere Domain auf als per PHP? Denn Cookies sind auf den einen Host begrenzt.
Oder hast du dich überhaupt eingeloggt ?

Weist du auch mit Sicherheit das Flash wirklich die PHP-Datei aufgerufen hat? Vllt ist eine der Policies angesprungen und es kam nie zu dem PHP-Request.
 
Vielen dank für die Anstösse...

Ich habe des Rätsels Lösung gefunden, es lag in der tat an denn keksen^^

ich habe bei meinem login-script nicht ordentlich nen keks für die user_id gesetzt, ich hatte nur die session gespeichert.

hehe und der fix waren nur zwei Zeilen, ich dachte das würde schwieriger werden...

Also thx nochmal an euch beide!

MfG
eno_gib

rufst du vllt per Flash eine andere Domain auf als per PHP? Denn Cookies sind auf den einen Host begrenzt.

danke besonnders hierfür....

hat mir denn entscheidenen Antsoss gegeben...
hatte in der Tat meine Cookies nicht an der richtigen Stelle...

MfG
eno_gib
 
Zuletzt bearbeitet von einem Moderator: