PHP und Flash - Geht das?

Hallo,
ich bin zur Zeit dabei mir etwas meine PHP-Kentnisse zu erweitern und nun möchte ich die PHP-Seiten interaktiver gestalten.
Was das heißt?
Nun ich dachte da z.B. an ein kleines Spiel. Jeder kennt von euch die Flashgames, in denen man Punkte sammeln kann wenn man eine Aufgabe voollbracht hat.
Nehmen wir z.B. einen kleinen Egoshooter mittels Flash aufgebaut, bei den man Männeln abschießen kann und für diese verschiedene Trefferzonen hat (z.B. Bein, Kopf usw.).
Im Laufe des Spieles sollen diese Ergebnisse ein PHP-Script übergeben werden. Z.B. Trefferzone: Kopf bei Firgur 44.
Wie mache ich so eine Wertübergabe von Flash zu PHP?
Oder geht das etwa garnicht, wenn ja welche Alternativen gibt es?

MFG Prom.
 
ich nehme an, dass du dass flash auch dateien speichern kann. wenn das geht kannst du die ergebnisse in einer datei speichern und per php einlesen
 
lieber in eine (my)sql datenbank die daten abspeichern vom flash aus (sollte gehen oder?) und dann per php auslesen...
 
Ja das geht natürlich.

Man kann sowohl Variablen an ein PHP Script übergeben, als auch das Ergebnis eines Scripts, z.b. eine Abfrage einer MySQL DB abfragen (Hierfür würde sich u.U. eine Ausgabe als XML anbieten).

Variablenübergabe geht wie folgt:

Code:
loadVariables("pfad/seite.php?variable="+flashvariable+"&variable2="+ _root.mc.andereFlashVariable, "POST");

Diese Methode ist jedoch veraltet.

Eine neuere Methode wäre die Verwendung der LoadVars Klasse:

Code:
test = new LoadVars();
test.variable1 = "test";
test.variable2 = "test2";
test.sendAndLoad("pfad/datei.php", test, "POST");
test.onLoad = function(success) {
if (success){    
trace ("geklappt!")
}
}

Das steht auch alles in der Flash-Hilfe. ;)
 
Mackz ich halte die 2 methoden für ungeeignet - schliesslich ist es ein spiel und ich denke mal es wird auch eine art highscore liste geben... und die post/get daten kann man ja nun wirklich sehr sehr leich manipulieren... darum denke ich das der weg über die mysql db weit aus sicherer ist...
 
Original von Oi!Alex
... darum denke ich das der weg über die mysql db weit aus sicherer ist...
Es ist mit Flash nicht möglich direkt auf eine Datenbank zuzugreifen. (höchstens evtl. über einen FlashMediaServer)

Selbst wenn es gehen würde, du willst doch wohl nicht allen ernstes deine MySQL Zugangsdaten in ein Script einbauen, welches clientseitig läuft?

ich halte die 2 methoden für ungeeignet - schliesslich ist es ein spiel und ich denke mal es wird auch eine art highscore liste geben... und die post/get daten kann man ja nun wirklich sehr sehr leich manipulieren
Das könnte man auf verschiedenen Wegen absichern.
Z.b. könnte man einen Hash aus den erreichten Punkten, Uhrzeit, Datum, UserID etc erstellen (oder man lässt ihn im Vorfeld ermitteln) diesen mitschicken und im PHP Script vor dem Speichern abfragen ob dieser valid ist.
Oder man arbeitet mit Sessions.
Die Herkunft könnte man auch abfragen aber auch das lässt sich faken.
Unter http://www.flashforum.de/forum/showthread.php?t=164476 findest du ebenfalls ein paar Überlegungen dazu.

Spätestens seit dem es Decompiler für Flash gibt, ist eine 100%ige Sicherherheit auf Flash-Seite nicht mehr möglich. Man kann nur versuchen dies in Kombination mit der Serverseite abzusichern.
 
Kleine Daten kannst du auch in XML-Dateien ablegen. Musst anschliessend die Daten auslesen. Und das direkt aus Flash mit ActionScript.

Für die DB-Anbindung müsstest du natürlich Scripting einschalten. Kann ASP aber auch PHP sein.
 
Nochmals vielen dank.
Aber wäre eine andere Programmiersprache für ein PHP-Game mit interaktiver Spieloberfläche vielleicht geeigneter?
 
Zurück
Oben