Zurück   Flashforum > Flash und Server > Flash und Datenbanken

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-07-2008, 00:52   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Flash Formular + HTTP status

Hallo,

ich habe folgende Schwierigkeit und komme nicht weiter.
Und zwar baue ich gerade ein Formular für die Registrierung eines Newsletters.

Gesendete Daten: Emailadresse und aktuelle IP.

Das Ergebnis der Registrierung möchte ich über den HTTP Status abfragen (HTTP 200 = OK, alles andere Fehler).

Ich habe bereits viele Varianten versucht, load, send, sendAndLoad und bin so langsam am Ende meines Lateins...

Hat jemand hier eine Ahnung, wie ich an das Ziel komme?
Das wäre klasse.

Viele Grüße,
D. Clark
danny clark ist offline   Mit Zitat antworten
Alt 08-07-2008, 01:02   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
niemand hier im forum kann sehen, was du programmiert hast.

LoadVars beschrieben von agedoubleju
http://www.flashforum.de/forum/showt...74#post1389074

dein php könnte z.b. ein 'ok' zur bestätigung zurück senden.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 08-07-2008, 12:59   #3 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Vielen Dank, für den Verweis, hat mir leider nicht weiter geholfen.

Hier noch einmal alles konkreter:

Server Files -> Ruby on Rails

POST http://subdomain.domain.com/newslett...e_subscription
(=Subdomain, die SWF's liegen auf der Hauptdomain)

Parameter:
subscription[address] = email
subscription[created_from] = IP

AS Code:

// START HTTP REQUEST

// HTTP REQUEST
var my_lv:LoadVars = new LoadVars();

my_lv.subscription = new Object();
my_lv.subscription.address = tf_email.text;
my_lv.subscription.created_from = _root.ip;

my_lv.onHTTPStatus = function(httpStatus:Number){
httpStatus < 300 ? httpStatusType = "successful" : httpStatusType = "error";
}

my_lv.onLoad = function(success:Boolean){
success? setStatus(message_sending_success,"show") : formError();
}

my_lv.sendAndLoad("http://subdomain.domain.com/newsletter/create_subscription",my_lv,"POST");

// END HTTP REQUEST


Über System.security.loadPolicyFile("http://subdomain.domain.com/crossdomain.xml"); hole ich die permissions...

Als Antwort möchte ich den HTTP Status abfangen.
Ich bekomme aber immer nur den Status '0' und 'success = false'


Viele Grüße,
D. Clark

-------

Sorry für das Doppelposting, war nicht meine Absicht.
Nach erneutem Einloggen habe ich meine Anfrage noch einmal korrigiert,
das hat dann wahrscheinlich das zweite Posting ausgelöst

Geändert von danny clark (08-07-2008 um 13:01 Uhr)
danny clark ist offline   Mit Zitat antworten
Alt 08-07-2008, 13:53   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Ich habe herausgefunden, dass die Variablen nicht korrekt gepostet werden und habe versucht Sie anders zu deklarieren.

Hier noch einmal die angeforderten Parameter vom Server(POST-Methode ist Pflicht):
subscription[address] = email
subscription[created_from] = IP

Neue Deklaration:
my_lv.subscription = new Object();
my_lv.subscription.address = new Object();
my_lv.subscription.created_from = new Object();

my_lv.subscription.address = tf_email.text;
my_lv.subscription.created_from = _root.ip;

Funktionert leider nicht...
Den HTTP-Status habe ich ad Akta gelegt und nutze die onLoad-Routine mit 'success'.

Es funktioniert leider immer noch nicht und ich bin mir sicher, dass es an der Übertragung der Variablen liegt, aber ich bekomme sie nicht vernünftig gepostet.

Viele Grüße,
D. Clark
danny clark ist offline   Mit Zitat antworten
Alt 08-07-2008, 14:21   #5 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
my_lv.sendAndLoad("http://subdomain.domain.com/new sletter/create_subscription.PHP",my_lv,"POST");

bei absoluten adressen muss man immer darauf achten, das man zugriffsrechte besitzt. stichwort:
cross-domain-policy
also wenn möglich immer relativ adressieren.

und dein pfadname ist nicht komplett .php oder was immer du da ansprechen möchtest muss schon dabei stehen.

nimm das beispiel von agedoubleju und bring das bei dir zum laufen. danach kannst du es auf deine variablen abändern.


zu dem da:
my_lv.onHTTPStatus = function(httpStatus:Number){..
steht in der flash-hilfe:
"..Wird aufgerufen, wenn Flash Player einen HTTP-Statuscode vom Server.."
also nicht, das da jedesmal etwas gesendet wird!

wie ich dir schon geschrieben hatte, lass besser dein php(?) bei erfolg ein 'ok' zurück senden.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (08-07-2008 um 14:25 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 08-07-2008, 14:22   #6 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 607

Das Tutorial hast du dir dann aber nicht angeschaut. Besonders der Beitrag ist für dich interessant: Nachladen von Variablen aus Texten oder PHP-Files

Bei dir müsste das dann so aussehen:
ActionScript:
  1. my_lv.address = tf_email.text;
  2. my_lv.created_from = _root.ip;
bizz ist offline   Mit Zitat antworten
Alt 08-07-2008, 14:52   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Doch habe ich
Das ist im Groben auch das, was in der Flash-Hilfe steht.

und..
1. my_lv.address = tf_email.text;
2. my_lv.created_from = _root.ip;
funktioniert leider nicht, habe ich getestet

Soweit ich den folgenden Syntax verstehe muss ich Objekte übertragen:
subscription[address]=name@domain.de
subscription[created_from] = IP

Also habe ich diese angelegt, aber Sie werden nicht übertragen.

Das Ruby-Skript funktionert einwandfrei, mit GET und http//XXX?subscription[address]=name@domain.de&subscription[created_from]=xxx.xxx.xxx.xxx hat alles geklappt.
Aber POST soll es sein...

HMMMMM!

Geändert von danny clark (08-07-2008 um 15:06 Uhr)
danny clark ist offline   Mit Zitat antworten
Alt 08-07-2008, 15:12   #8 (permalink)
Neuer User
 
Registriert seit: Aug 2002
Beiträge: 607
Zitat:
Zitat von danny clark Beitrag anzeigen
und..
ActionScript:
  1. 1. my_lv.address = tf_email.text;
  2. 2. my_lv.created_from = _root.ip;
funktioniert leider nicht, habe ich getestet
So muss es aber in Flash aussehen und so klappt es auch. Objekte können nicht gesendet werden.
Der Rest liegt bei dir im serverseitigen Bereich. Da musst du halt sorgen das die POST werte empfangen werden.
bizz ist offline   Mit Zitat antworten
Alt 08-07-2008, 19:33   #9 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 8
Sicherlich funktioniert das so, wie Du geschrieben hast auf dem herkömmlichen Weg, aber in meinem Fall leider nicht

Ich muss mir wohl einen Trick ausdenken und die Objekte irgendwie anders erzeugen !?!??

Vielen Dank für die Aufmerksamkeit,
D.Clark
danny clark 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 00:16 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele