Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-02-2005, 07:39   #1 (permalink)
ilf
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 77
Variablenübergabe

Hallo,

Ich weiß nicht ob ich es richtig verstanden habe, aber wenn ich Html Atribute wie beispielsweise

<INPUT TYPE=hidden name="template" value="de_nachricht.txt">

in Flash "übersetzen" möchte um diese an an ein cgi Skript zu übergeben, kann ich dies doch über Variablen in Flash umsetzen? Es gibt also in meinem Flashfilm ein Textfeld - mit der Variablen "de_nachricht.txt" - HTML ist hier ebenfalls aktiviert. Auf einem Button liegt nun folgendes Skript:

on (press, release) {
type = "hidden";
name = "template";
value = "de_nachricht.txt";
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", "", "POST");
nextFrame ();
}

Funktioniert aber leider nicht! Wo liegt mein Fehler und warum kann ich diese sogenannte "hiddenfields" nicht über Variablen in Flash an das cgi Script übergeben?

Ich bin für jeden Ansatz dankbar

So long
ilf ist offline   Mit Zitat antworten
Alt 03-02-2005, 15:15   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
im handbuch steht:
loadVariablesNum ("url" ,stufe [, variablen])

die variable stufe kann also nicht einfach weggelassen werden. hast du aber gemacht. in den anführungszeichen steht ja nichts drinn. und überhaupt, diese form dieses befehls (das mit dem ...Num) verlangt nach einer ziffer.

p.s.
und flash5 fragen bitte im forum "flash" posten. hier ist das nicht verkehrt, aber dort ist extra für flash5. danke
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (03-02-2005 um 15:19 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 03-02-2005, 16:10   #3 (permalink)
ilf
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 77
Ok - Danke für deinen Hinweis.

Ich habe einen Tipp bekommen und versuche es gerade mit folgendem Script:

on (release) {
_level1.template = "de_nachricht.txt";
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", 1, "POST");
nextFrame ();
}

das funktioniert aber auch nicht. Ich habs auch schon mit dem html formular versucht - und das klappt! Hier der html code:

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title></title>
</head>
<body bgcolor="#ffffff">
<p></p>
</body>
</html>
kontakt.htm
<html>
<head>
<title>Formmailer in PHP</title>
</head>
<body bgcolor="#ffffff">
<form method="post" action="http://www.egal.de/cgi-bin/sendmail.pl">
<INPUT TYPE=hidden name="template" value="de_nachricht.txt">
Nachricht:<br>
<textarea name="nachricht" cols="40" rows="7"></textarea><br>
<input type="submit" name="senden" value="Senden">
</form>
</body>
</html>

Auch den Admin habe ich noch mal gebeten mir die Übergabedaten zu bestätigen. Seine Antwort: die URL des Scripts ist: (von mir abgeändert) http://www.egal.de/cgi-bin/sendmail.pl Die Daten müssen per Post übergeben werden. Das Template ist in der Form: <INPUT TYPE=hidden name="template" value="de_nachricht.txt"> zu übergeben.

Was habe ich den jetzt noch übersehen?
ilf ist offline   Mit Zitat antworten
Alt 03-02-2005, 20:01   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
xxx.txt:
&de_nachricht=hallo&

und
on (release) {
loadVariablesNum("xxx.txt", 1, "POST");
}

ergibt:
variable _level1.de_nachricht = "hallo"

geht schon.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 04-02-2005, 08:22   #5 (permalink)
ilf
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 77
Hallo hgseib,

deine Antwort versthe ich nicht.

loadVariablesNum (Url, Position, Variablen)

heist in meinem Falle:

loadVariablesNum (http..., 1, POST)

http = Adresse des Formmailers
1 = mein Mailformular liegt in einem eigenen Film und wird in Level1 geladen:
on (release) {
gotoAndPlay ("V-up");
loadMovieNum ("v.swf", "1");
}
POST = Daten versenden ...

macht also

on (release) {
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", 1, "POST");
nextFrame ();
}

Wie binde ich den nun die bnötigten Variablen

<INPUT TYPE=hidden name="template" value="de_nachricht.txt">

ein? Ich habe ja nur ein Textfeld mit der Bezeichnung (Variable) de_nachricht.txt. Dies bedeutet doch, daß bei dem Befehl loadVariablesNum alle Variablen, die in diesem Film existieren, weitergegeben werden. Hidden ist glaube ich auch nicht das Problem weil meiner Meinung nach alle Variablen bei Flash "hidden" ausgegen werden. Berichtigt mich wenn ich mich da irre.

Da fällt mir gerade was auf. Im Html Code steht:

<form method="post" action="http://www.egal.de/cgi-bin/sendmail.pl">
umgesetzt in Flash -
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", 1, "POST");

<INPUT TYPE=hidden name="template" value="de_nachricht.txt">
umgesetzt in Flash -
_level1.name = "template";
_level1.value = "de_nachricht.txt"; - keine Ahnung ob das richtig ist

<textarea name="nachricht" cols="40" rows="7"></textarea><br>
bedeutet es gibt ein Textfeld mit dem Namen "nachricht"
umgesetzt in Flash - ich habe mein Textfeld in "nachricht" umbenannt.

on (release) {
_level1.name = "template";
_level1.value = "de_nachricht.txt";
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", 1, "POST");
nextFrame ();
}

geht aber immer noch nicht! WARUM?
ilf ist offline   Mit Zitat antworten
Alt 04-02-2005, 12:12   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ein textfile (z.b. mit namen xxx.txt), bzw. das selbe über php (oder meinetwegen über perl) erzeugt, inhalt:
&de_nachricht=hallo&

in flash einen button mit diesem script. dein next und goto und was weiss ich noch alles lass doch erst mal weg. gehört nicht zum problem.
on (release) {
loadVariablesNum("xxx.txt", 1, "POST");
}

in flash menü: steuerung/film testen
da siehst du erst einmal nichts, wie auch.
hier menü: debuggen/variable auflisten
zeigt u.a.:
variable _level1.de_nachricht = "hallo"

also die daten wurden geladen und die variable angelegt. genauso, wie gewünscht. was du jetzt mit dieser variablen machst ist eine andere geschichte.


----------
"..deine Antwort versteh ich nicht.."
ja, und ich deine nicht ;-)

willst du daten aus einem html-form nach flash laden
oder
willst du daten aus flash in ein html-form einbinden (=senden) was so eher unüblich ist
oder
willst du ganz was anderes? dein "sendmail.pl" lässt einem vermuten, das dein eigentliches ziel ist: eine mail zu versenden?

was du willst geht allerdings in dem wilden durcheinander von html und actionscript und dem "was dir gerade einfällt" unter.
formuliere das doch bitte neu - mit weniger worten ;-)
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 04-02-2005, 13:18   #7 (permalink)
ilf
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 77
;-) ok

Ziel:
den Text aus einem Textfeld (Flash) an einen Formmailer (.../sendmail.pl) übergeben.

Problem:
dieser Formmailer läßt sich über das obige html skript ansprechen - nicht aber über das Flash Textfeld. (html mailformular klappt - flash mail kommt nicht an)

Erweiterte Aufgabenstelllung:
das Template des Formmailer muß mit den html atributen - <INPUT TYPE=hidden name="template" value="de_nachricht.txt"> übergeben werden.

Lösungsansatz:
Textfeld mit Variable = "nachricht"
Button mit dem Script:

on (release) {
_level1.name = "template";
_level1.value = "de_nachricht.txt";
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", 1, "POST");
nextFrame ();

Augenblicklicher Status:
ratlos ???

Weiteres Vorgehen:
währe nett wenn jemand einen Lösungsvorschlag / -ansatz weiß

bedaaaaankt
ilf ist offline   Mit Zitat antworten
Alt 04-02-2005, 15:18   #8 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
ok, dann hab ich bisher in die falsche richtung geholfen ;-)

du willst nichts laden, sondern senden. dann mach das doch bitte so:
http://www.seibsprogrammladen.de/fra...ispiele/flash5
hier auf "Post_get_test" klicken

ist viel einfacher.
und leg ein textfeld an mit Var: "template" und dem textinhalt "de_nachricht.txt". das kannst du ja mit etwas überdecken, bzw. mit alpha=0 unsichtbar machen.
und eventuell noch ein textfeld mit Var: "submit" und textinhalt "Senden" ?

----------------
falls du deine programmierung beibehalten wills, das müsste so gehen:
on (release) {
_level1.template = "de_nachricht.txt";
_level1.nachricht = _root.nachricht; // bzw. wie auch immer dein nachrichtenfeld heisst
_level1.submit = "Senden"; // weiss nicht, ob dein sendmail.pl das auch auswertet
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", 1, "POST");
nextFrame ();
}
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 04-02-2005, 16:01   #9 (permalink)
ilf
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 77
ok - wo soll ich den Kasten Bier hinschicken?

Es funktioniert!!! Du warst ganz knapp dran.

on (release) {
_level1.template = "de_nachricht.txt";
_level1.nachricht = _root.nachricht;
loadVariablesNum ("http://www.egal.de/cgi-bin/sendmail.pl", nachricht, "POST");
nextFrame ();
}

das wars.

Jetzt habe ich nur noch das Probelm das der Formmailer eine Redirect braucht - d.h. eine html Seite zum Anzeigen nach dem Generieren der Mail. Jetzt geht eine zweite, leere Seite auf. Also wenn du da noch eine Idee hast wie ich das unterdrücken kann - nur raus damit.

Auf jeden Fall - noch mal vielen Dank für deine kompetente Hilfe!
ilf ist offline   Mit Zitat antworten
Alt 04-02-2005, 18:25   #10 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.324
wenn's dich diese lösung glücklich macht ....

nur am rande:
..mail.pl", nachricht, "POST");
so wie du hier "nachricht" eingesetzt hast ist das eine variable und da es diese variable vermutlich nicht gibt hat sie den wert 0 (Null). da kannst du auch karlhugo reinschreiben, kommt aufs selbe raus. und oben das mit _level1 macht so auch wenig sinn ;-)


tja, würdest du die variante nehmen, die ich dir vorgeschlagen hatte...
mit dem getURL-befehl kannst du ein target definieren. was dir dein sendmail.pl da zurücksendet weiss ich freilich nicht.
idee: such hier mal nach "sendmail" und schreib dir dein eigenes mail-versend-programm.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib 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 10:56 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele