| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #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. |
| | |
| | #2 (permalink) |
| mod_rewrite 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) |
| | |
| | #3 (permalink) |
| ChronoGuard Registriert seit: Mar 2002 Ort: Saarbrücken
Beiträge: 2.649
|
Hast du's ungefähr so gemacht? PHP-Code:
__________________ we will stop enhancing the truth in 3, 2, ... |
| | |
| | #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);
} |
| | |
| | #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!";
}
}
} PHP-Code: 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!??? |
| | |
| | #6 (permalink) |
| mod_rewrite 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) |
| | |
| | #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);
} Ich wollte mir in der onLoad-Funktion die VAriable ausgeben. Stimmt das nicht? |
| | |
| | #8 (permalink) |
| mod_rewrite 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) |
| | |
| | #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: 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? |
| | |
| | #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 |
| | |
| | #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: |
| | |
| | #12 (permalink) |
| mod_rewrite 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) |
| | |
| | #13 (permalink) | |
| langsam wirds Registriert seit: Dec 2005 Ort: Nürnberg
Beiträge: 300
|
@sonar Zitat:
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: Was ist sonst falsch? Geändert von florist (14-12-2008 um 22:40 Uhr) | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |