Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-07-2004, 13:53   #1 (permalink)
tek
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 26
PHP variablen in Flash vergleichen

hallo!

kann es sein, dass variablen aus einem php skript nicht wirklich so ankommen,
wie es im php skript angegeben wurde?

ich spreche das php wie folgt an:

on (release) {
_root.navigation.login.status = "Connecting db. please hold ...";
_root.navigation.login.data.loadVariables("url" , "_root.navigation.login.data", "POST");

}


php gigbt mir eine test variable zurück:

&test=2&


wenn ich die variable in einem textfeld ausgeben lasse, funktioniert alles ganz toll.
wenn ich diese variable allerdings erst vergleichen will, gibt es probleme.


onClipEvent(data){

if(this.test == 2){
_root.navigation.login.status = gotoAndPlay(2);

}

if(this.test == 1){
_root.navigation.login.status = gotoAndPlay(1);

}

}

kann mir jemand sagen, wo da das problem liegen könnte?
es ist für mich sehr wichtig, dass ich die test variable erst vergleichen kann.

danke und gruss,

tek
tek ist offline   Mit Zitat antworten
Alt 30-07-2004, 14:16   #2 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
hi!
ich kenn mich zwar mit variablen übergabe nicht soo gut aus, aber mach mal folgendes:

//onClipEvent
trace(this.test);

wenn du da undefined rauskriegst probier das:

//onClipEvent
trace(_root.navigation.login.data.test);

da solltest du auf jeden Fal das richtige Ergebniss rausbekommen...

Fazit: Deine Pfad angabe zu variablen stimmt nicht...
wo rufst du das onClipEvent auf? (also auf welchem mc liegt das?)
wolkaum auf _root.navigation.login.data oder?

und btw:

es geht wesentlich einfacher als mehrere if abfragen zu schreiben:

_root.navigation.login.status = gotoAndPlay(this.test); //angenommen die variable wäre jetzt richtig definiert.
pape ist offline   Mit Zitat antworten
Alt 31-07-2004, 09:36   #3 (permalink)
tek
Neuer User
 
Registriert seit: Apr 2002
Beiträge: 26
hi!

also ich bekomme mit der trace anweisung den richtigen wert heraus.
habe testweise test=1 vom php skript zurückgeben lassen.
wie gesagt, trace zeigt mir, dass die 1 auch ankommt.

wenn ich dann aber verglcihe anstelle, funktioniert es nicht.

z.B.

if(this.test == 1){
gotoAndPlay(2);
}

woran kann das bloss liegen?

gruss,

tek
tek ist offline   Mit Zitat antworten
Alt 31-07-2004, 10:49   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Waru nimmst du auch nicht das loadVars Objekt wenn schon Flash-MX ?

Versuche mal so. Das Script ins erste Frame der HZL

PHP-Code:
System.useCodepage = true;
stop ();
function laden_von_php () {
    vari = new LoadVars ();
    vari.onLoad = function (geladen) {
        if (geladen) {
            trace (this.vari1);
            trace (this.datum);
                        // hier deine IF abfrage !!
            this.vari1 == 1 ? trace ("Vari1 = 1") : trace ("Vari ist nicht 1 sondern " + this.datum);
        }
        else {
            trace ("Nicht geladen");
        }
    };
    vari.load ("http://www.harego.de/versuch/test.php");
}
// in der test.php steht:
/*
<?php
$datum 
=  date("l dS of F Y h:i:s A");

echo 
"&datum=".$datum;
echo 
"&vari1=1&";

?> 
*/
Und auf deinen Button:

PHP-Code:
on (release) {
    
laden_von_php ();

Bei dir geht es nicht , weil die IF eher ausgeführt wird, wie die Daten von PHP
da sind.
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 31-07-2004, 14:01   #5 (permalink)
-
 
Benutzerbild von pape
 
Registriert seit: Jan 2004
Beiträge: 3.002
achso... noch was... falls es nach haregos post noch von Interesse ist:

wahrscheinlich wird "test" bei dir als String behandelt und nicht als zahl..kann das?

versuch mal test = Number(test); noch am anfang (vor dem Vergleichen) unterzubringen!

Robert
pape ist offline   Mit Zitat antworten
Alt 31-07-2004, 14:10   #6 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Es ist natürlich besser die Vari bei einem Integer noch umzuwandeln !

Ankommen tut die Vari als String . Kannste mit

trace(typeof(this.vari1)) überprüfen !

Den Unterschied siehst du hier :

trace(Number(this.vari1) + 10) => 11
trace(this.vari1 + 10) => 110

Es geht aber so auch ! Jedenfalls der == !
Es sei denn, du willst danach mit dieser Vari noch Math. Operationen durchführen
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego 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 00:52 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele