Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-05-2011, 14:12   #1 (permalink)
Linksaußen
 
Benutzerbild von Fralle
 
Registriert seit: Jun 2003
Ort: Essen
Beiträge: 552
sendAndLoad - Parameter wird erst bei 2. Aufruf erkannt?

Hallo,

ich möchte von Flash aus mit PHP "sprechen" und mache das mittels LoadVars.sendAndLoad. Das funktioniert auch. Allerdings mit einem kleinen Makel: Erst beim zweiten Aufruf der PHP-Funktion wird das von Flash übergebene Statement richtig erkannt.

Hier könnt Ihr euch das Beispiel online ansehen

Das PHP-Script sieht so aus:
PHP-Code:
<?php
$validCommands 
= array('ding''dong''bla''blup');

if ( isset(
$_GET['cmd']) && false !== array_search($_GET['cmd'], $validCommands) ) {
    echo 
'&phpReturnValue='.call_user_func($_GET['cmd']);
} else {
    echo 
'&phpReturnValue=Invalid Command specified.';
}

function 
ding() {
    return 
'php-function dingeldiding';
}

function 
dong() {
    return 
'php-function dongeldolong';
}

function 
bla() {
    return 
'php-function blaaaaaaaaa';
}

function 
blup() {
    return 
'php-function blubberdiblup';
}
?>
Hier das AS:
PHP-Code:
var zu:String "\n";
var 
my_lv = new LoadVars();
my_lv.onLoad = function(success:Boolean):Void  {
    if (
false == success) {
        
trace("Load Error...");
        
tftext.text += "Load Error..." zu;
        return;
    }
    
trace("PHP Return value of function " this.cmd ": " this.phpReturnValue);
    
tftext.text += "PHP Return value of function " this.cmd ": " this.phpReturnValue zu;
};
btn_call1.onRelease = function() {
    
my_lv.cmd "ding";
    
tftext.text "";
    
tftext.text += "calling function " my_lv.cmd "..." zu;
    
//
    
trace(my_lv.cmd)
    
trace(my_lv)
    
my_lv.sendAndLoad("http://www.sgcessen.de/fs/sqlcall3.php?cmd=" my_lv.cmdmy_lv"GET");
};
btn_call2.onRelease = function() {
    
my_lv.cmd "dong";
    
tftext.text "";
    
tftext.text += "calling function " my_lv.cmd "..." zu;
    
//
    
my_lv.sendAndLoad("http://www.sgcessen.de/fs/sqlcall3.php?cmd=" my_lv.cmdmy_lv"GET");
};
btn_call3.onRelease = function() {
    
my_lv.cmd "bla";
    
tftext.text "";
    
tftext.text += "calling function " my_lv.cmd "..." zu;
    
//
    
my_lv.sendAndLoad("http://www.sgcessen.de/fs/sqlcall3.php?cmd=" my_lv.cmdmy_lv"GET");
}; 
Woher kommt es, dass erst bei dem zweiten Aufruf des Befehls (durch Klick auf einen der CALL-Buttons) der Parameter richtig übergeben wird?

Am PHP-Script kann es eigentlich nicht liegen, denn ein Aufruf direkt im Browser funktioniert korrekt:
http://www.sgcessen.de/fs/sqlcall2.php?cmd=bla
__________________
Der Ball ist rund
Fralle ist offline   Mit Zitat antworten
Alt 10-05-2011, 14:34   #2 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Na die "Handschrift" kommt mir aber irgendwie bekannt vor …

Ich kann's dir nicht genau sagen, was da los ist (wenig Zeit), aber die URLs, die tatsächlich von der SWF bei dir aufgerufen werden, sehen so aus:
Code:
('dong' 1. Klick)
http://www.sgcessen.de/fs/sqlcall2.php?cmd=dong?cmd=dong&onLoad=%5Btype%20Function%5D

('dong' 2. Klick)
http://www.sgcessen.de/fs/sqlcall2.php?cmd=dong?phpReturnValue=Invalid%20Command%20specified%2E&cmd=dong&onLoad=%5Btype%20Function%5D
Da stimmt also was nicht …
__________________
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 gerade online   Mit Zitat antworten
Alt 10-05-2011, 15:03   #3 (permalink)
Linksaußen
 
Benutzerbild von Fralle
 
Registriert seit: Jun 2003
Ort: Essen
Beiträge: 552
Zitat:
Zitat von sonar Beitrag anzeigen
Na die "Handschrift" kommt mir aber irgendwie bekannt vor …
ja, die Scripte habe ich natürlich hier aus dem Forum!
...sehe gerade, dass das von Dir ist. Ist es gestattet, den Code zu "borgen"?

Zitat:
Zitat von sonar Beitrag anzeigen
Ich kann's dir nicht genau sagen, was da los ist (wenig Zeit), aber die URLs, die tatsächlich von der SWF bei dir aufgerufen werden, sehen so aus:
Code:
('dong' 1. Klick)
http://www.sgcessen.de/fs/sqlcall2.php?cmd=dong?cmd=dong&onLoad=%5Btype%20Function%5D

('dong' 2. Klick)
http://www.sgcessen.de/fs/sqlcall2.php?cmd=dong?phpReturnValue=Invalid%20Command%20specified%2E&cmd=dong&onLoad=%5Btype%20Function%5D
Da stimmt also was nicht …
ok, also stimmt etwas nicht beim Aufbau der URLs in Flash
PHP-Code:
my_lv.sendAndLoad("http://www.sgcessen.de/fs/sqlcall3.php?cmd=" my_lv.cmdmy_lv"GET"
noch weiss ich nicht, was ich da anders machen muss. Ich werde mal weiter suchen...

@sonar, Du müsstest es ja am besten wissen, schließlich habe ich Deinen Code ja fast 1:1 übernommen
__________________
Der Ball ist rund

Geändert von Fralle (10-05-2011 um 15:05 Uhr)
Fralle ist offline   Mit Zitat antworten
Alt 12-05-2011, 08:47   #4 (permalink)
Linksaußen
 
Benutzerbild von Fralle
 
Registriert seit: Jun 2003
Ort: Essen
Beiträge: 552
wenn ich den Parameter "method" bei sendAndLoad in POST ändere, funktioniert die Abfrage auch beim ersten Aufruf:
PHP-Code:
my_lv.sendAndLoad("http://www.sgcessen.de/fs/sqlcall3.php?cmd=" my_lv.cmdmy_lv"POST"
Dann scheint auch die URL immer richtig zusammengesetzt zu werden.

Den Unterschied zwischen "GET" und "POST" habe ich bisher nicht so ganz verstanden. Könnte mir das einer von Euch mit zwei kurzen Sätzen vermitteln?
__________________
Der Ball ist rund
Fralle 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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
_xmouse erst erkannt wenn man Maus bewegt ? Digger2k3 ActionScript 1 4 03-02-2008 10:30
sendAndLoad bei einem aufruf gehts bei anderen nicht destroy90210 ActionScript 1 0 17-04-2007 14:19
xml wird lokal geladen, im Web erst beim 2ten Aufruf cdash Flash MX 2004 6 24-11-2006 10:46
externes CSS global verwenden, <a>-Tags werden erst nach rollOver erkannt... fabbsen Flash MX 2004 2 12-04-2006 07:59
LoadVars.sendAndLoad und maximale zeichenzahl als post-parameter burn_hh Flash MX 1 09-12-2003 16:16


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

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


Copyright ©1999 – 2012 Marc Thiele