Toon posts:

[Flash MX] LoadVars gebruikt POST methode niet goed

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een treeview in Flash, die opgebouwd wordt vanuit een XML bestand. Nu kan je hem in Flash aanpassen en daarna updaten. Daarvoor maak ik van de hele XML een string, die ik in een LoadVars object stop, om die vervolgens te posten naar een PHP bestand. Er komt echter niets binnen via $HTTP_POST_VARS, maar vreemd genoeg wel via $HTTP_GET_VARS... Dat kan ik alleen niet gebruiken aangezien GET de string meestuurt in de URL en die is gebonden aan een 255 karakter-maximum...

in mijn Flash heb ik deze functie:

code:
1
2
3
4
5
6
7
on (release) {
    this._parent.contactHandle.xml = "";
    this._parent.contactHandle.createXML(_root["root"], _root["root"].folder);
    xml_output = new LoadVars();
    xml_output.xml = this._parent.contactHandle.xml;
    xml_output.send("http://127.0.0.3/createXML.php", "_blank", "POST");
}


in mijn createXML.php zou ik hem dan aan moeten kunnen spreken met:

code:
1
2
3
4
5
6
7
<?

$xml= $HTTP_GET_VARS['xml'];

echo ($xml);

?>


Werkt de POST methode via Flash gewoon niet goed of doe ik iets fout?

[ Voor 6% gewijzigd door Verwijderd op 15-10-2003 16:48 ]


  • r0bert
  • Registratie: September 2001
  • Laatst online: 11-08 16:19
Geen verstand van Flash, maar als ik het zo lees is:

$HTTP_POST_VARS['xml']; resp. $_POST
logischer dan
$HTTP_GET_VARS['xml']; resp. $_GET

  • slm
  • Registratie: Januari 2003
  • Laatst online: 25-06 12:45

slm

volgens mij komt het omdat je post in target="_blank" en dat vertoont kuren in flash

To study and not think is a waste. To think and not study is dangerous.


  • KillR-B
  • Registratie: Mei 2002
  • Laatst online: 20-01 20:49
Waarom gebruik je niet gewoon het XML object in Flash?

var myXML = new XML();
/* hier waarde in je XML object gooien */
myXML.send('url');

In php kun je dan je XML data opvragen met $HTTP_RAW_POST_DATA .. het maakt dan niet uit hoe lang de XML content is. GET en POST hebben namelijk een limiet in de lengte (ik weet niet of dat een serverinstelling is of een limiet is van het protocol).

Verwijderd

Topicstarter
KillR-B: Dat zou idd kunnen, maar ik zit met het probleem dat mijn XML omgedraaid staat:

Bij het outputten gebruik ik namelijk een for loop, en daarmee begint Flash onderaan met lezen en werkt hij naar boven, de XML komt er wel correct uit, alleen alle inhoud staat ondersteboven, zeg maar. Daarom wil ik het eerst in PHP omdraaien.

Maar misschien dat het handiger is om een oplossing daarvoor te verzinnen en idd in Flash een nieuw XML object aan te maken...

Verwijderd

Topicstarter
Ok, ik maak nu een XML object aan, stop daar alle data in en stuur het door naar createXML.php

flash code
code:
1
2
3
4
5
    var myXML = new XML();
    myXML.load(this._parent.contactHandle.xml);
    myURL = "http://127.0.0.3/createXML.php";
    myXML.send(myURL, "_self", "POST");
    trace(myXML.firstChild);


php code:
code:
1
2
3
4
<?
    $xml_output = $HTTP_RAW_POST_DATA['myXML'];
    echo $xml_output;
?>


maar de pagina blijft leeg

ik las net dat Flash bji het outputten van XML in plaats van POST GET gebruikt... waarschijnlijk ligt het daar aan, maar $HTTP_GET_VARS['myXML']; geeft ook niets terug
Pagina: 1