Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-08-2003, 22:05   #1 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: München
Beiträge: 16
Unhappy Flashvariablen mittels PHP auslesen

Hola Scripter,

seit geraumer Zeit versuche ich schon, aus einer Flashdatei mittels eines PHP-Scripts die Variablen eines MC auszulesen.

Der User kann den MC (namens Figur) verschieben und in 15°-Schritten drehen (im MC ist ein Button zum Drehen eingebaut).
Weiterhin gibt es ein Textfeld, in dem der User der Figur einen Namen gibt.
Die Daten (x/y-Wert und Rotationswert sowie der Inhalt des Textfeldes) sollen auf Buttonklick des Users in den PHP-Script übernommen und von dort in einer Datenbank abgespeichert werden.

Momentan liegt auf dem Test-MC folgender AS:

onClipEvent (mouseUp)
{
fig1x = _x;
fig1y = _y;
}

Auf dem Rotationsbutton des MC liegt folgender AC:

on (release)
{
this._rotation = this._rotation + 15;
fig1_rot = this._rotation;
}


So, damit habe ich, sobald die Figur auf dem Bild verschoben wird, die Variablen figur1x und figur1y mit den entsprechenden Werten belegt. Wird die Figur gedreht, so ändert sich auch die Variable figur1_rot.

Auf dem Absende-Button liegt der folgende Script:

on (release)
{
loadVariablesNum("email.php", 1, "POST");
}

Nun fürchte ich allerdings, dass das Auslesen der Variablen nicht ganz so einfach funktioniert, da ich auf diese Weise bisher nur den Inhalt des Textfeldes übermitteln kann.
Wie kann ich Flash klarmachen, dass auch die Variablen _root.figur.fig1x, ...fig1y und ...fig1_rot übertragen werden sollen?

Im PHP-Script kann ich auf die Textfeld-Variable zugreifen, aber die anderen Variablen kommen nicht an. Es funktioniert auch nicht, wenn ich versuche, sie mit :
$x = "$_POST[_root.figur1.fig1x]" oder $x = "$_POST[fig1x]"
auszulesen.

In meiner Verzweiflung habe ich schon versucht, die Variablen an dynamische Textfelder zu übergeben (was ohne Probleme ging), aber auch aus diesen Feldern lässt sich nix auslesen.

Ich habe wohl im Flash einen grundsätzlichen Fehler . . . . kann mir jemand helfen???
PhantomO1 ist offline   Mit Zitat antworten
Alt 15-08-2003, 23:14   #2 (permalink)
Flash-Wüstling
 
Benutzerbild von pheidrias
 
Registriert seit: Dec 2001
Ort: Halle/Saale
Beiträge: 4.300
Hi Phantom !

Das grundsätzliche liegt einfach darin, daß loadVariables(Num) lediglich alle Variablen des MCs verschickt, auf dem es ausgeführt wird.
Bei Num also _root.
Es wäre auch ein wenig unkontrollierbar, wenn Flash einfach mal alle Variables des Films versenden würde.

ABER : Flash MX hat das schöne loadVars-Objekt.
Wenn du dessen load oder send ausführst, werden nur die Variablen versandt, die du auf dieses Objekt gesteckt hast --> :
ActionScript:
  1. lv=new LoadVars();
  2. lv.var1=wert1;
  3. lv.var2=wert2;
  4. lv.onLoad=function(ok) {
  5.  if(ok) trace("Variablen sind angekommen...");
  6. }
  7. lv.send("dein.php","POST");

Also einfach die richtigen Pfade und Namen in das bsp reinhacken und freuen .

tanti saluti,
pheidrias
__________________
Ehrlich währt am LÄNGSTEN !
pheidrias ist offline   Mit Zitat antworten
Alt 15-08-2003, 23:52   #3 (permalink)
Neuer User
 
Registriert seit: May 2003
Ort: München
Beiträge: 16
Zitat:
Geschrieben von pheidrias
Hi Phantom !

Das grundsätzliche liegt einfach darin, daß loadVariables(Num) lediglich alle Variablen des MCs verschickt, auf dem es ausgeführt wird.
Bei Num also _root.
Es wäre auch ein wenig unkontrollierbar, wenn Flash einfach mal alle Variables des Films versenden würde.

ABER : Flash MX hat das schöne loadVars-Objekt.
Wenn du dessen load oder send ausführst, werden nur die Variablen versandt, die du auf dieses Objekt gesteckt hast --> :
ActionScript:
  1. lv=new LoadVars();
  2. lv.var1=wert1;
  3. lv.var2=wert2;
  4. lv.onLoad=function(ok) {
  5.  if(ok) trace("Variablen sind angekommen...");
  6. }
  7. lv.send("dein.php","POST");

Also einfach die richtigen Pfade und Namen in das bsp reinhacken und freuen .

tanti saluti,
pheidrias
Vielen Dank pheidrias, ich werds morgen mal testen.

Gute Nacht!

phantom
PhantomO1 ist offline   Mit Zitat antworten
Alt 16-04-2006, 18:50   #4 (permalink)
GoFlashMeAndPlay
 
Benutzerbild von spacerom
 
Registriert seit: Mar 2005
Ort: Athen
Beiträge: 41
Zitat:
1.
lv=new LoadVars();
2.
lv.var1=wert1;
3.
lv.var2=wert2;
4.
lv.onLoad=function(ok) {
5.
if(ok) trace("Variablen sind angekommen...");
6.
}
7.
lv.send("dein.php","POST");
Hallo!

ich habe mal auch ein Problem mit dem Laden von Variablen in PHP Skript. Ich nutze auch das variables.send aber ich wollte etwas -vielleicht dummes... - fragen. In das Beispiel oben; welche Variablen werden in das PHP Skript gesendet? Die var1 und var2?? Also sollte man in das PHP Skript diese zwei Variablen geben??

Danke für eure Hilfe!
spacerom ist offline   Mit Zitat antworten
Alt 16-04-2006, 19:17   #5 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Also sollte man in das PHP Skript diese zwei Variablen geben??
Nein, im PHP-Script werden die Variablen abgefragt, z.B.:
PHP-Code:
$var1 $_POST["var1"];
$var2 $_POST["var2"]; 
Siehe auch dieses Tutorial...

Geändert von agedoubleju (16-04-2006 um 19:18 Uhr)
  Mit Zitat antworten
Alt 16-04-2006, 19:57   #6 (permalink)
GoFlashMeAndPlay
 
Benutzerbild von spacerom
 
Registriert seit: Mar 2005
Ort: Athen
Beiträge: 41
Ja, Danke agedoubleju!

Ich habe es eben mit dem $_POST[] Methode in der PHP Datei geschafft.

Ich konnte aber mich danach nicht errinern bei welchen PHP-Version diese Methode verfügbar ist und was passiert mit dem globalen Variablen in die PHP-Version meines Servers (register_globals waren off)...

Jetzt aber alles haben super geklappt, Komisch: Ich nutze im Flash die loadVariablesNum Befehl und es funktioniert wunderbar

Danke für deine Hilfe!
spacerom ist offline   Mit Zitat antworten
Alt 17-04-2006, 00:54   #7 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ich nutze im Flash die loadVariablesNum Befehl und es funktioniert wunderbar
Zufall. Wahrscheinlich greifst du nicht sofort auf den Response zu, dann fällt die Asynchronität nicht sofort auf...
  Mit Zitat antworten
Alt 17-04-2006, 08:04   #8 (permalink)
GoFlashMeAndPlay
 
Benutzerbild von spacerom
 
Registriert seit: Mar 2005
Ort: Athen
Beiträge: 41
Ja, wahrscheinlich hast du Recht:

Code:
on (release) {
	if (!email.length || email.indexOf("@") == -1 || email.indexOf(".") == -1) {
		emailstatus.gotoAndStop(1);
		emailstatus._visible = true;
		play();
	} else if (!email.length) {
		emailstatus.gotoAndStop(5);
		emailstatus._visible = true;
		play();
	} else {
		loadVariablesNum("sendmail.php", 1, "POST");
		emailstatus.gotoAndStop(10);
		emailstatus._visible = true;
		gotoAndPlay(34);
	}
}

Das Variable "email" (von Eingabe-Textfeld) wird in PHP Datei "sendmail.php" übergeben, das var "emailstatus" ist eine "pop-up" Meldung.

Beim Loslassen der Button springt der Abspielkopf in Bild 34, dann läuft für 20 Bilder (also 1 sek. mein Film läuft bei 20 Bilder/sek.) und danach springt der Abspielkopf wieder am Anfang. Dort im Bildskript wird das Variable "email" (also die Eingabe-Textfeld) auf null gesetzt:

Code:
email = "";
Grüße

Geändert von spacerom (17-04-2006 um 08:05 Uhr)
spacerom ist offline   Mit Zitat antworten
Alt 17-04-2006, 13:19   #9 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Beim Loslassen der Button springt der Abspielkopf in Bild 34, dann läuft für 20 Bilder (also 1 sek. mein Film läuft bei 20 Bilder/sek.) und danach springt der Abspielkopf wieder am Anfang.
Nee, wie umständlich. Ein einfacher onLoad-Callback der LoadVars-Klasse auf ein und demselben Frame wäre doch viel einfacher...
  Mit Zitat antworten
Alt 17-04-2006, 18:23   #10 (permalink)
GoFlashMeAndPlay
 
Benutzerbild von spacerom
 
Registriert seit: Mar 2005
Ort: Athen
Beiträge: 41
Für das Laden von Variablen ja, aber nicht für die Pop-Up Meldung... Ich will, dass die Pop-Up Textfeld bleibt in Screen für mindestens 1 Sek.
Ich weiss... Ich konnte es auch mit .getTimer() machen, aber dann wurde nicht "viel einfacher"...

Gruß
spacerom ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele