Zurück   Flashforum > Flash > Flash Fortgeschritten > Flash MX

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-11-2008, 15:32   #1 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Probleme mit Php-Variable in Flash

Hallo!

Ich sende mit LoadVars Daten an Php.
Phpo schickt mir eine Variable "ergebnis = Fertig" zurück.
Diese kommt auch an und ich sehe sie im Flash Debugger.
Doch greife ich auf sie zu?

ein trace gibt mir immer "undefined" zurück:

ergebnis = undefined
loadvar.ergebnis = undefined
_root.loadvar.ergebnis = undefined

Die Variable ist sicher angekommen, das ich Sie im Debugger innerhalb des loadVars-Objekts sehe.
florist ist offline   Mit Zitat antworten
Alt 28-11-2008, 15:38   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Arbeitest du so, wie hier beschrieben..?
--> Nachladen von Variablen aus Texten oder PHP-Files
Dann muss es auch funktionieren.
Ansonsten mal Code zeigen...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 28-11-2008, 15:40   #3 (permalink)
ChronoGuard
 
Benutzerbild von SpecOps-12
 
Registriert seit: Mar 2002
Ort: Saarbrücken
Beiträge: 2.649
Hast du's ungefähr so gemacht?

PHP-Code:
var result_lv:LoadVars = new LoadVars();
var 
send_lv:LoadVars = new LoadVars();
var 
nummer:Number 5;
send_lv.nummer nummer;

result_lv.onLoad = function(success:Boolean) {
    if (
success) {
        
trace(result_lv.ergebnis);
    }
};

send_lv.sendAndLoad("meinPHP.php",result_lv,"POST"); 
__________________
we will stop enhancing the truth in 3, 2, ...
SpecOps-12 ist offline   Mit Zitat antworten
Alt 28-11-2008, 16:03   #4 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
@sonar eigentlich schon
Ich schicke Variablen an Php, Php gleicht Sie mit der DB ab.
Falls eintrag bereits vorhanen, gibt php die Variable
"phpErg" zurück in welcher entweder "bereits vorhanden" oder "eintrag erfolgt" steht.

Wie gesagt im Flash debugger sehe ich die phpErg-variable mit Ihrem wert "bereits vorhanden" auch.
Nur wenn ich Sie mit loadvar.phpErg ansprechen will erhalte ich undefined

Code:
loadvar = new LoadVars();
loadvar.onLoad = function(success) {
  if(success) {
    trace(this.phpErg);
   trace(this.phpErg);
   trace(_root.loadvar.phpErg);
   trace(loadvar.phpErg);
   trace(phpErg);
  }
}


sendBtn.onRelease = function() {
    if (email.indexOf("@") != -1 && email.indexOf(".") != -1 && nname != "" && vname != "" && strasse != "" && snr != "" && plz != "" && ort != "" && checker.getValue() == true) {   
   loadvar.flashName = nname;
   loadvar.flashVname = vname;
   loadvar.flashStrasse = strasse;
   loadvar.flashSnr = snr;
   loadvar.flashPLZ = plz;
   loadvar.flashOrt = ort;
   loadvar.flashTel = telefon;
   loadvar.flashMail = email;

   loadvar.sendAndLoad("checkdb.php",loadvar,"POST");
   //trace(this.phpErg);
   //trace(_root.loadvar.phpErg);
   //trace(loadvar.phpErg);
   //trace(phpErg);
   _global.erstesSpiel = false;
   if( loadvar.phpErg == "bereits vorhanden") {
   //trace("status:" + loadvar.phpErg)
   gotoAndPlay(4);
} else {
gotoAndPlay(7);
}
florist ist offline   Mit Zitat antworten
Alt 29-11-2008, 08:16   #5 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Leider funktioniert es so auch nicht.
Ich verstehe nicht, wieso die Variable im Debugger sichtbar ist, aber nicht über das LoadVars Objekt oder irgendwie anders angesprochen werden kann???

Hier nochmal mein AS
Code:
loadvar = new LoadVars();
loadvar.onLoad = function(success) {
  if(success) {
      // trace(_root.phpErg);
        trace(this.phpErg);
   //trace(_root.loadvar.phpErg);
   //trace(loadvar.phpErg);
   //trace(phpErg);
  }


sendBtn.onRelease = function() {

   trace("sende");
    if (email.indexOf("@") != -1 && email.indexOf(".") != -1 && nname != "" && vname != "" && strasse != "" && snr != "" && plz != "" && ort != "" && checker.getValue() == true) {
      
   loadvar.flashName = nname;
   loadvar.flashVname = vname;
   loadvar.flashStrasse = strasse;
   loadvar.flashSnr = snr;
   loadvar.flashPLZ = plz;
   loadvar.flashOrt = ort;
   loadvar.flashTel = telefon;
   loadvar.flashMail = email;

   loadvar.sendAndLoad("checkdb.php",loadvar,"POST");
   //trace(this.phpErg);
   //trace(_root.loadvar.phpErg);
   //trace(loadvar.phpErg);
   //trace(phpErg);
   _global.erstesSpiel = false;
   if(phpErg == "bereits vorhanden") {
         //trace("status:" + _root.kontakt_mc.loadvar.phpErg)
         gotoAndPlay(4);
   }//else {
   //   gotoAndPlay(2);
   //   trace("if=false" +loadvar.phpErg)
   //}
   
   
   gotoAndPlay(2);
   }
   if (nname == "") {
      errormsg = "Bitte Nachnamen eintragen!";
   }
   if (vname == "") {
      errormsg = "Bitte Vornamen eintragen!";
   }
   if (email.indexOf("@") == -1 || email.indexOf(".") == -1) {
      errormsg = "ungültige E-Mailadresse";
   }
   if (strasse == "") {
      errormsg = "Bitte Straße Eintragen!";
   }
   if (snr == "") {
      errormsg = "Bitte Postleitzahl eintragen!";
   }
   if (plz == "") {
      errormsg = "Bitte Postleitzahl eintragen!";
   }
   if (ort == "") {
      errormsg = "Bitte Ort eintragen!";
      }
   if (telefon == "") {
      errormsg = "Bitte Telefonnummer eintragen!";
      }
   if (checker.getValue() == false) {
      errormsg = "Bitte AGBs akzeptieren!";
      }
}

}
und mein PHP (Auszug..)


PHP-Code:
    <?
...
....
  if (
$RecSet) {

    
$Rueckgabe "erfolgreich angelegt";


  } else {

    
$Rueckgabe "Anlage fehlgeschlagen";

  } 

}


echo 
"&phpErg = " $Rueckgabe "&"
?>

Im Flash debugger sehe ich neben allen anderen PHP-Variablen auch die nur aus PHP kommende "phpErg"-Variable mit deren Wert.
jenach Wert der Variable möchte ich in Flash eine Aktion ausführen, doch wenn ich sie Tracen oder verwenden möchte ist Sie immer "undefined" obwohl ich den Wert wie geast im Debugger sehen kann!???
florist ist offline   Mit Zitat antworten
Alt 29-11-2008, 08:49   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Es is immer wieder das gleiche... Du kannst erst auf die Rückgaben des LoadVars-Objekts zugreifen, wenn diese auch sicher da sind, sprich: im onLoad-Handler.

Außerdem sollten um das '=' in der PHP-Ausgabe kein Leerzeichen sein.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 29-11-2008, 09:26   #7 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Ich weiß!leider ist Flash nicht mein alltagswerkzeug.
Zumindest versteh ich LoadVArs jedesmal einbisschen mehr.
Und mit
Code:
loadvar.onLoad = function(success) {
  if(success) {
      // trace(_root.phpErg);
        trace(this.phpErg);
   //trace(_root.loadvar.phpErg);
   //trace(loadvar.phpErg);
   //trace(phpErg);
  }
wollte ich doch genau das Probieren.
Ich wollte mir in der onLoad-Funktion die VAriable ausgeben.
Stimmt das nicht?
florist ist offline   Mit Zitat antworten
Alt 29-11-2008, 11:41   #8 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Doch, genau so muss es auch funktionieren, wenn du die Leerzeichen um das = wegmachst...
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 29-11-2008, 12:27   #9 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
sch***, es klappt einfach nicht!

Hab ich bereits gemacht.Bringt nichts.
PHP-Code:
echo "&phpErg=".$Rueckgabe."&"
hab mir inzwischen zahlreiche Beispiele angesehn und mein skript ist muss stimmen.
Das seltsame ist ja, dass ich die Variable im Debugger bereits sehe und diese auch aus php korrekt gefüllt wird.
Das heißt ich hab Sie ja schon geladen!Ich kann sie einfach nicht ansprechen.
KAnn es sein das ich die Variable welche aus PHP kommt bereits in Flash
vordefinieren muss?
florist ist offline   Mit Zitat antworten
Alt 29-11-2008, 13:39   #10 (permalink)
I'M A CYBORG
 
Registriert seit: Apr 2007
Ort: ---------
Beiträge: 372
@florist
in deinem Script von 9:16 .
ist eine klammer falsch gesetzt .denn so befindet sich das restliche Script in der onLoad funktion .

loadvar.onLoad muss noch vor der sendBtn Funktion geschlossen werden.

dann if(phpErg == "bereits vorhanden") { //trace("status:" +_root.kontakt_mc.loadvar.phpErg)} nützt an dieser Stelle nichts weil die
Variable phpErg erst von php gesendet wird .

dann eine Abfrage in onLoad mit trace(loadvar.phpErg) müsste genügen.

MFG
speedhost ist offline   Mit Zitat antworten
Alt 02-12-2008, 15:29   #11 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
Es hat wiedermal an einer ganz anderen Stelle gehackt.
Meine Variable ist unsauber von PHP übergeben worden:
PHP-Code:
echo "&phpErg=".$Rueckgabe."&";   // FALSCH 
echo "&phpErg=$Rueckgabe&";   // RICHTIG 
florist ist offline   Mit Zitat antworten
Alt 02-12-2008, 15:34   #12 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
So ein Käse, das macht überhaupt keinen Unterschied. Die erste Variante ist sogar die sauberere... also daran hat's mit Sicherheit nicht gelegen.
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 14-12-2008, 22:39   #13 (permalink)
langsam wirds
 
Registriert seit: Dec 2005
Ort: Nürnberg
Beiträge: 300
@sonar

Zitat:
So ein Käse...
also ich find käse klasse!

Kannst du mir deine Antwort einbisschen genauer erklären?
Ich hab es wie beschrieben getestet.Es hat genau an dieser stelle gelegen.
HAb es sogar in eine enue datei gepackt und getestet.
Ich hab sonst keine ànderungen gemacht und wenn ich die Variable wieder so definiere:
PHP-Code:
echo "&phpErg=".$Rueckgabe."&";   // FALSCH 
klappt es nicht
Was ist sonst falsch?

Geändert von florist (14-12-2008 um 22:40 Uhr)
florist 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 23:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele