[FLASH 8] XML laden adhv een dynamische php

Pagina: 1
Acties:

  • GeniusGeri
  • Registratie: Februari 2004
  • Laatst online: 05-01-2024
Ik zit met een lastig probleem. Vanuit Flash 8 stuur ik op de volgende manier een aantal waarden naar php:

code:
1
2
3
4
5
6
7
8
9
10
11
12
var send_lv:LoadVars = new LoadVars();
send_lv.action = 'login';
send_lv.username = _level3.holder_naarbinnen.user.text;
send_lv.password = _level3.holder_naarbinnen.password.text;
send_lv.sendAndLoad(_level0.domain+"index.php", send_lv, "POST");
send_lv.onLoad = function(success){
   if(success){
       proces();
   }else{
       trace("er is een error opgetreden");
  }
}
Het php bestand genereert vervolgens aan de hand van deze gegevens een XML-bestand. Vervolgens wil ik in de functie proces() die ik in de bovenstaande code noem de output van die XML weer inladen zodat ik daar straks wat XPATH-queries op kan draaien. Ik dacht het zo te doen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
function proces(){
var login_xml:XML = new XML();
login_xml.ignoreWhite = true;
login_xml.onLoad = function(success:Boolean){
    if (success){
        trace ('xml is goed geladen')
    }
   else{
       trace ('xml niet goed geladen')
   }
}
login_xml.load("_level0.domain+"index.php");
Maar dat gaat natuurlijk niet werken omdat ie bij de laatste login_xml.load("_level0.domain+"index.php"); weer opnieuw de index.php aanroept (blijkbaar is dan ook de $_SERVER['REQUEST_METHOD'] een GET geworden.). Die XML is dan weer kwijt.

Is er een mogelijkheid om het wel te laten werken zoals ik wil?

Tot slot nog even een klein stukje geknipte php-code die ik gebruik:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<?
if ($_SERVER['REQUEST_METHOD']=='POST' && isset($_POST['action'])){
   switch ($_POST['action']){
      case 'login':
         // Hier genereer ik de XML
      break;
   }
}
else{
 // Hier laad ik mijn swf-bestandje
}
?>
(ps. Als ik de output uit de index.php wegschrijf naar een los xml-bestand en ik verwijs daar naar (login_xml.load("bestandje.xml"); dan werkt het allemaal wel prima. Maar ik wil dat schrijven naar een los bestandje voorkomen omdat het straks om tienduizenden xml-bestandjes gaat.)

Ik ben benieuwd of jullie hier een oplossing voor hebben.

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 17:35

orf

Ik gebruik geen Flash, maar zou zoiets niet kunnen?

code:
1
2
3
4
5
6
7
send_lv.onLoad = function(success){
   if(success){
       proces(this);
   }else{
       trace("er is een error opgetreden");
  }
}

en
code:
1
2
3
4
5
6
7
function proces(xmlData){
  var login_xml:XML = new XML(xmlData);
  login_xml.ignoreWhite = true;

  // process xml 
 
}