Dynamische Textinhalte an PHP senden

Frechdax

Gesperrt
Hi Leute,


ich habe mich hier gerade der Suchfunktion bemüht, leider keine wirkliche Lösung für mich gefunden bzw. verstanden.

Problem:

In meinem kleinen Flash Filmchen kann der User die Input-Textfelder:

feld1
feld2
und
feld3

ausfüllen, die am Ende des Films dann auch wunderbar in einer Grafik angezeigt werden.

Nun möchte ich, dass mein SWF bei Drücken eines Buttons diese Variableninhalte an ein PHP weitergibt und dieses dann anzeigt.

Habe bisher die loadVariables("http://www.meinserver.de/php/auslesen.php", "this", "POST") versucht. Das Filmchen macht aber gar nichts.

Mein PHP soll lediglich die Variable feld1 zunächst anzeigen und funktioniert tadellos.

Ich bekomme dem PHP nur nichts zugewiesen.

Also, wenn jemand Lust und Zeit hat, dann möge er es mir doch bitte einmal ausführlich erklären, damit ich nicht dumm sterbe.

Ich wäre sehr dankbar.

Danke
 
PHP:
on (release) {
mail_vars = new LoadVars();
mail_vars.wert_1 = _root.blabla.feld1;
mail_vars.wert_2 = _root.blabla.feld2;
mail_vars.wert_3 = _root.blabla.feld3;
mail_vars.send("mail_script.php", "POST");
}

Damit bekommt deine PHP-Datei die Variablen wert_1, wert_2 und wert_3 zugewiesen. Script sollte sich eigentlich von selbst erklären.

Greetz,
Killy
 
Variablen von Flash nach PHP

Hello zusammen,

bin ein PHP-Neuling und ich hab ein wirklich banales Problem, dass mich aber völlig blockiert, weils so grundlegend ist (bitte NICHT lachen):

ich habe eine Flash-Datei mit folgenden Textfeldern:

-Ein Input-Textfeld mit der Variable "Input"
-Ein dynamisches Textfeld mit der Variable "Output"

Nun wollte ich, dass man im Input-Textfeld einen Text eingeben kann, der dann via Button einem PHP-Script überwiesen wird, welches eben diesen Text per Echo-Befehl an das Output-Textfeld zurückgibt.

Das Action-Script für den Button sieht folgendermassen aus:

on (release) {
schicken = new LoadVars();
schicken.input = _root.input;
schicken.send("start.php",0,"GET");
}

(Dieses Script habe ich übrigens aus einem Eintrag in diesem Forum)

Ich wollte also, dass der Inhalt des Input-Textfeldes in der Variable "input" übergeben wird.

Mein PHP-Script sieht folgendermassen aus:

<?php
if (!isset($input)) {
$out= rawurlencode("keine eingabe");
echo "output=$out";

} else {
$out =rawurlencode($input);
echo "output=$out";

}
?>

Ich habe das Script auch noch mit dem assioziativen Array $_get["input"] statt der direkten $input-Variable getestet, aber da geht ebenfalls gar nix und meine Nerven sind langsam im Eimer.
Ich habe mich lange gesträubt, ein derart simples Problem in einem Forum zu melden, aber irgendwie muss ich mir ja helfen.

Danke für alle Rückmeldungen

Lukas
 
Also, hab mich mal ein bisschen hinter diesen LoadVars-Befehl gemacht und konnte mein Problem lösen, bis auf einen kleinen, aber perfiden Fehler:

Anstatt die Variablen an das Output-Textfeld im selben Flash-Film zu übermitteln, öffnet der Aufruf-Button nun ein seperates Fenster, wo der Quelltext des PHP-Scripts angezeigt wird. Ich glaube, dass ich ein Fehler bei der Pfadangabe des myLoadVars.send- Befehls gemacht habe.
Ich kann da alles mögliche angeben, vom _root.instanz bis zu level 10, es passiert immer dasselbe.

Kann mir jemand helfen?

Gruss

Lukas
 
Original geschrieben von killkrog
PHP:
on (release) {
mail_vars = new LoadVars();
mail_vars.wert_1 = _root.blabla.feld1;
mail_vars.wert_2 = _root.blabla.feld2;
mail_vars.wert_3 = _root.blabla.feld3;
mail_vars.send("mail_script.php", "POST");
}
 
Vielen Dank Killrog,

aber ich habe dein oben eingefügtes Script selbstverständlich ausprobiert und hatte dabei das folgende, schon einmal beschriebene Problem:

Das PHP-Script (auch oben aufgeführt) wird beim Test des Flash-Films auf Jana Server 2 in einem neuen IE-Fenster angezeigt. Ich wollte aber eigentlich kein neues Fenster, sondern bloss, dass das PHP-Script die Variable an das Output-Textfield im Flash-Film zurückgibt, so dass man nachher den eingegebenen Text dort einsehen bzw. kontrollieren kann.

Ich habe nun wirklich in all meinen schlauen PHP- bzw. Flash-Büchern nachgelesen und keine Lösung für mein Problem gefunden. Ich kann sonst ja mal meine Dateien beifügen, vielleicht bin ich wirklich einfach nur zu blöd.

Nichts für ungut und danke nochmals

Lukas

Beilage

start.zip mit den Daten: start.fla und start.php
 

Anhänge

  • start.zip
    2,9 KB · Aufrufe: 24
Axo, kk, nu verstanden was du meinst. Sry, war müde ^^
Na, schön, dass php eines meiner Lieblingsgebiete ist.

Das, was du brauchst, ist ein Befehl, der sich 'sendAndLoad' nennt. Eigentlich recht einleuchtender Name... Du schickst per Flash Variablen aus einem LoadVars-Objekt an eine php-Datei, lässt sie dort von dem Server auswerten und verarbeitest anschließend die Antwort des Servers. Hört sich recht komplex an. Ist es auch - bloß nicht für uns ;)

Du gehst wie folgt vor. Sagen wir, du hast irgendwo eine Variable, die du an den Server schicken und bearbeiten lassen willst, von mir aus die variable _root.geschmack.

Dann schickst du das Zeug mit folgendem Script an den Server:

PHP:
lv = new LoadVars();
lv.flashvar = _root.flash_var;
lv.sendAndLoad("server.php", lv, "POST");
lv.onLoad = function() {
	_root.feld.text = this.phpvar;
};

So, hier wird als erstes ein LoadVars Objekt mit Namen lv erstellt. Wir deklarieren hier eine Variable 'flashvar' und geben ihr den Wert von '_root.geschmack'...

Das 'lv' bei den Parametern von sendAndLoad gibt das Ziel an, an das die ausgewerteten Daten geschickt werden sollen.
Wir nehmen einfach wieder das gleiche Objekt her. Dann überprüfen wir mit onLoad, wann der Server endlich fertig ist und wir das ganze Zeug wieder bei uns haben.
Sobald das passiert ist, können wir mit den Variablen, die wir vom Server bekommen haben (hier 'phpvar') alles machen, was wir wollen.

Hoffe, das hilft dir.
Wenn net, einfach Bescheid sagen.

// edit

Greetz btw ^^
 
Hallo Killrog,

danke, das hat mir in der Tat sehr geholfen, mein Problem hat sich gelöst, ABER (immer diese ABER, ohne wär die Welt besser) die Variablen werden leer vom PHP-Script zurückgeschickt. Sehrwahrscheinlich ein Fehler in meinem PHP-Script, aber eigentlich sollten doch alle definierten Variablen im PHP-Script zurückgeschickt und im LoadVars-Objekt gespeichert werden, oder?

Hier nochmals meine Scripts:

Send-Button im Flash-Film

on (release) {
lv = new LoadVars();
lv.input = _root.input;
lv.sendAndLoad("start.php", lv, "POST");
lv.onLoad = function() {
_root.ausgabe.text = this.out;
_root.eingabe.text = this.i;
};
}

PHP-Script:

<?php
$out =rawurlencode($_POST["input"]);
$i =rawurlencode("load hat funktioniert");

?>


Tja, ich wär wirklich froh, wenn du mir nochmals helfen könntest

es dankt und grüsst

Lukas
 
Hehe, du hast da was falsch verstanden ^^
Du musst die php-datei so schreiben, dass per echo die variablen in der form &var1=wert1&var2=wert2 usw ausgegeben werden.
Dann sind die Variablen auch in Flash...
 

Neue Beiträge

Zurück