3.4k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,
ich suche nach einer "schnörkelfreien" Lösung, um die Rückgabewerte aus einem Flashgame (.SWF) auszulesen, um sie an eigene PHP-Variablen zu übergeben. Aufgerufen wird nach "Submit Score" (wohl grundsätzlich) eine "index.php" mit den Parametern "act=Arcade" und "do=newscore".
In meiner index.php möchte ich z.B. den Wert "Score" (des games) an $new_score übergeben ($new_score = ???;)
Ich kenne mich recht gut aus mit HTML, PHP und SQL und habe keine Ahnung, ob ich zu einfach oder zu kompliziert denke. Jedenfalls hab ich in Zig Foren ... keinen Tipp gefunden, den ich umsetzen konnte.
Hilfreich wäre ggf. auch eine Liste der Variablen, die grundsätzlich zurückgegeben werden.

7 Antworten

0 Punkte
Beantwortet von anno_58 Mitglied (877 Punkte)
Hi,

da ich Weppguru bei seinem Problem dieses Forum empfohlen habe, schiebe ich die Anfrage mal hoch ;)

Gruß
anno
0 Punkte
Beantwortet von weppguru Einsteiger_in (21 Punkte)
Ich zweifele schon fast an meiner Frage, denn die Fragen und Antworten zum Thema, die ich über Google finde, sind alle uralt - und fast alle Hilfen fangen erst an, wenn Daten in eine Db geschrieben werden. Aber woher die Werte kommen, die in die Db geschrieben werden, kann ich nicht erkennen.
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Wird das Script per POST oder GET aufgerufen? Möglicherweise befinden sich die eigentlichen Nutzdaten in $_POST.

In Firefox kannst du über die eingebauten Entwicklertools, das AddOn "Firebug" oder mit einem externen Programm wie z.B. Fiddler genau verfolgen welche Daten Flash an deinen Server sendet.

Andere Browser bieten eventuell eine vergleichbare Funktionialität.
0 Punkte
Beantwortet von weppguru Einsteiger_in (21 Punkte)
Vielen Dank für den Debugger-Tip.
Ich habe mal den fiddler eingerichtet und einen Test mit unserer Arcade gemacht.

Ein Ergebnis:
GET /index.php?form=ArcadeScore&action=newscore HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: de-DE
Referer: http://www.weppgurus.de/wcf/games/carrotsweeperGC.swf
DNT: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Trident/7.0; tb-webde/1.8.2; rv:11.0) like Gecko
Accept-Encoding: gzip, deflate
Host: www.weppgurus.de
Cookie: wcf_boardLastActivityTime=1388497056; wcf_cookieHash=ab4263f938a18da37b00a569a23d9d22bfd3d6dd
Connection: Keep-Alive

Ich werde mal diverse Tests machen und auswerten, aber erst mal "Fiddler" lernen ;)
0 Punkte
Beantwortet von weppguru Einsteiger_in (21 Punkte)
Grundsätzlich ruft ein flashgame über den button "submit score" (oder ähnlich) wohl eine index.php auf und übergibt u.a. den Parameter do=newscore. Mein Verständnis als Programmierer (jedoch ohne Flash-Kenntnisse) sagt mir, dass innerhalb der index.php etwas passieren muss, wenn do=newscore ist.

In unser Arcade (von Woltlab) werden nach Beendigung des Spieles (je nach Ergebnis) z.B. folgende Scripte aufgerufen:
a) neuer Score:
http://.../index.php?form=ArcadeScore&action=newscore
b) Score verbessert:
http://.../index.php?form=ArcadeComment&action=update
c) neuer Champion:
http://.../index.php?form=ArcadeComment&action=newchamp

Daraus schließe ich, dass (über die index.php) zunächst der Score ausgewertet werden muss (ist es der erste Score oder wurde er verbessert und/oder ist es ein highscore ...).

Es muss also der Score vorliegen und dann ein DB-Zugriff erfolgen. Davon abhängig wird dann eins der 3 o.a. Scripte aufgerufen mit der Möglichkeit, einen Kommentar einzugeben, und erst dann wird der Score gespeichert.

Mein Versuch, die Scripte von Woltlab zu studieren, um der Sache auf die Schliche zu kommen, scheitert an Masse (von Scripten) und natürlich am Zusammenspiel der unendlich vielen Objekte, Klassen, Konstanten, Funktionen ...
0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
Du möchtest Rückgabewerte aus Flash mit PHP "auszulesen". Das geht nicht. Du kannst nur auf die vom Flash gesendeten Daten reagieren.

Das Flash ruft also eine PHP Datei auf, und übergibt gleichzeitig Parameter.
Du musst wissen / herausfinden, welche PHP Datei und welche Parameter.

Wenn Du weißt, dass die Datei index.php ist, lass die index.php mal die GET und POST Daten anzeigen. Wenn das Flash dann die gewünschten Daten sendet, müssen die ja in dieser Ausgabe der index.php enthalten sein.

Wie die Flash und PHP scripte im Detail funktionieren und zusammenarbeiten, kann natürlich keiner sagen, der sie nicht gesehen hat. (ZB. ob der Score zunächst in PHP geprüft wird oder nicht.)
Ist vielleicht das eigentliche Problem, dieses herauszufinden ? Also, wie man erfolgreich Scripte analysiert ?
0 Punkte
Beantwortet von weppguru Einsteiger_in (21 Punkte)
Jepp, es funzt !!!

index.php
<?php
foreach($_POST as $key=>$value) { echo $key." = ".$value; }
?>

Es werden zwei Variablen und ihre Werte ausgegeben, die das game sendet:
gscore (enthält den Score)
gname (enthält den filename des Spieles)

Vielen Dank !!!!
...