| |||||||
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) |
| ************ Registriert seit: Jul 2001
Beiträge: 143
| Eckige Klammern in Variablenname
Hallo, kann mir jemand verraten, wie man in einen Variablennamen eckige Klammern bekommt, so dass Flash das ganze nicht als Array auswerten will, sondern tatsächlich den Namen "Variable[123]" als Variablenname akzeptiert (notwenig für ein PHP-Skript, dass per POST mit einer solchen Variable angesprochen werden will - dort ist es dann vermutlich eine Arrayauswertung...)? |
| | |
| | #2 (permalink) | |
| Supermassive Registriert seit: Aug 2004 Ort: Frankfurt, Bornheim
Beiträge: 861
| Zitat:
ich würd' an deiner stelle lieber das php umbauen, zumal du dann sonderzeichen beim variablenaustausch minimierst... greetz, elysian.
__________________ Personal » amenity*blogging » elysian.de » Flexpertise - Enterprise Flex Collaboration Networks » Xing » ColdFusion Community Everything Cairngorm » cairngormdocs.org | |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Die eckigen Klammern kann man in HTML/XHTML verwenden um Variablen via GET/POST als Array zu senden. HTML-Code: <input type="text" name="variable[var]" value="bla" /> Code: http://www.domain.de/index.php?variable[var]=bla PHP-Code:
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #4 (permalink) |
| ************ Registriert seit: Jul 2001
Beiträge: 143
|
Das Problem ist konkret folgendes: Ein Flashspiel soll per Formular ein vorhandenes PHP-Newsletterskript ansprechen (an das ich nicht rankomme und an dem ich nichts umstricken kann), um die Userdaten dort auf Wunsch abzulegen. Per "loadVariables" rufe ich es auf und schicke ihm per POST "email=xyz@abc.de" und "name=name". Zusätzlich soll ein Fixwert mitgeschickt werden, der vermutlich eine Newslist definiert und wie folgt aufgebaut ist "__nl[liste]=1". Wenn ich das so schreibe, wird Flash es als Array auswerten und ich frage mich, wie sowas dann aussieht, wenn es per POST versandt wird... Lassen sich Sonderzeichen (wie bspw. % oder []) nicht irgendwie kodieren oder per Syntax, wie [[]] oder {%} o.ä., für Variablennamen gefügig machen? |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Das wird so nicht funktionieren. Ich könnte mir aber vorstellen, das du mit einem weiteren Skript dein Ziel erreichen kannst. Du könntest ein PHP-Skript schreiben, welches deine Variablen vom Flash empfängt und dann die entsprechenden HTTP-Header an dein Formularskript sendet.
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Ich bin jetzt erstmal ca. 90 Minuten nicht da und werd mir dann mal was einfallen lassen. Wenn also niemand anderes in der Zwischenzeit hilft, musst du dich ersteinmal gedulden...
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Also das Skript was die Daten von Flash empfängt könnte wie folgt aussehen PHP-Code: .
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #10 (permalink) |
| ************ Registriert seit: Jul 2001
Beiträge: 143
|
Vielen Dank. Aber als PHP-Amateur hätte ich noch ein paar Fragen zum Verständnis: Wo taucht denn die "1" für "__nl[liste]=1" auf? Es gibt auch nur das eine Element "liste" (Fixwert). In Flash hieße das dann liste=liste; statt liste=element1,element2,...;, oder versteh ich das falsch? Wofür ist denn "host" notwendig? Das Skript liegt auf dem gleichen Server, wie das swf. |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Okay das mit der Liste hatte ich wohl flasch verstanden. PHP-Code: Nun noch ein paar Erklärungen zum Skript: -$host enthält den Host. Dieser ist wichtig, da ja eine Verbindung mit dem Server auf dem das Skript liegt hergestellt werden muss. Ob nun das aufrufende Skript und das aufgerufene Skript auf dem selben Host liegen spielt keine Rolle. Dein Browser macht genau das selbe wie dieses Skript, wenn er die Daten eines Formulars an den Server sendet. -in die geöffnete Verbindung werden dann die Daten geschrieben, die für das Senden von POST Daten notwendig sind. Hier wird dann auch das Skript angegeben was die Daten empfangen soll (in deinem Fall wäre das das Skipt für die Verarbeitung der Formulardaten) Was willst du überhaupt erreichen mit der ganzen Geschichte. Das Senden von Daten aus einem Formular via PHP ist absolut kein Problem und sicher weitaus verständlicher als die Variante mit der Socket-Verbindung . Wenn du diesbezüglich Hilfe benötigst dann sag bescheid und ich kann die Hilfe leisten.
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #12 (permalink) |
| ************ Registriert seit: Jul 2001
Beiträge: 143
|
Das Problem ist eben, dass ich ein Spiel in Flash mache, in dessen Highscore man auch einen Newsletter anfordern können soll. Prinzipiell ist das einfach: Ich schicke einfach alle Variablen der Eingabfelder an das Newsletterskript und peng-fertig. Aber leider erwartet das Newsletterskript (das auf dem Kundenserver liegt und zu einem System gehört an das ich nicht drankomme) die genannten Parameter, zu denen auch dieses "__nl[liste]" gehört. Und darauf habe ich keinen Einfluß. Es muss eben nur irgendwie zum Skript geschickt werden. Und wenn ich das als xyz[123] in Flash eingebe, wird Flash dies doch vermutlich in irgendeiner Form arraytechnisch bearbeiten und nicht in dieser Form weiterversenden, oder?
|
| | |
| | #13 (permalink) |
| Neuer User Registriert seit: Jul 2003 Ort: Berlin
Beiträge: 283
|
Korrekt. Flash wird das immer als Array ansehen, da führt kein Weg dran vorbei. Mit dem Skript was ich gepostet habe sollte es aber funktionieren. Hast du das schon getestet?
__________________ ein mensch ohne macke ist kacke... |
| | |
| | #14 (permalink) |
| ************ Registriert seit: Jul 2001
Beiträge: 143
|
Nee, noch nicht. Ist etwas kompliziert. Ich bekomme leider keinen Serverzugang und muss das Ganze zum Testen immer per E-Mail versenden. Ich muss aber noch ein paar andere Problemchen lösen, um eine erste komplette Version zu haben. Bin gespannt... Vielleicht lässt sich dieses Skript ja auch per GET ansprechen. Das wäre doch auch ein Weg. Dann könnte man alles in einem String zusammenpuzzeln und verschicken, oder?
|
| | |
| | #15 (permalink) | |
| °.oO°O.o°.oO.o°O Registriert seit: Jun 2005 Ort: CH
Beiträge: 1.490
| Zitat:
![]() Nur der Komplettheithalber: ActionScript:
PHP-Code:
__________________ There is no way to happiness, happiness is the way! - Buddha | |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |