Toon posts:

[Flash] Door PHP genereerde XML file inlezen*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

het lukt me niet om mijn php als xml te laden in flash. Als ik de php file inlaadt geeft hij undefined aan in mijn textvelden. Voer ik de php op de server uit, dan krijg ik wel een mooie xml terug. sla ik diezelfde xml op als een .xml bestand, en probeer het zo in te laden in Flash dan lukt dit wel.

iemand een idee hoe dat komt ?

dit is mijn php:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
header ("Content-type: text/xml");

$connection = mysql_connect("localhost", "root", "*****");
mysql_select_db("store");

$query = 'SELECT * FROM products LIMIT 5';
$results = mysql_query($query);

    echo "<?xml version=\"1.0\"?>";
    echo "<catalogus>";
while($record = mysql_fetch_object($results)){
    echo " <producten>";
    echo "  <item>$record->product</item>";
    echo "  <prijs>$record->kostprijs</prijs>";
    echo " </producten>";
    }
    echo "</catalogus>";

mysql_close($connection);

?>


en dit is mijn actionscript:

code:
1
2
3
4
5
6
7
8
9
10
var output_xml = new XML();
output_xml.ignoreWhite = true;
output_xml.onLoad = function(success){
        if (success){
                
                output_txt.text = this.firstChild.childNodes[0].childNodes[0].firstChild.nodeValue;
        }   else output_txt.text = "Error loading XML";
}
output_txt.text = "Loading...";
output_xml.load("products2.php");


Nu, volgens mij ligt het aan mijn php aangezien de flash de xml rechtstreeks WEL inlaadt maar ik kan maar niet vinden waaraan het ligt.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Het heeft er volgens mij mee te maken dat je een .php file probeert te openen. Voor de test zou je een XML file kunnen aanroepen en thus genereren.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Je geeft zelf het antwoordt al, rechtstreeks XML gaat wel, PHP niet, oftewel, de PHP wordt niet geparsed voor hij geopent wordt in flash.
Je kan beter een tijdelijk bestand door php laten aanmaken waar je de XML zooi inzet, en die vervolgens inladen in flash

  • RAJH
  • Registratie: Augustus 2001
  • Niet online
Probeer het eens met een andere content-type, zoals application/xml. :)

[ Voor 63% gewijzigd door RAJH op 14-06-2007 20:43 ]


Verwijderd

Topicstarter
Verwijderd schreef op donderdag 14 juni 2007 @ 20:42:
Je geeft zelf het antwoordt al, rechtstreeks XML gaat wel, PHP niet, oftewel, de PHP wordt niet geparsed voor hij geopent wordt in flash.
Je kan beter een tijdelijk bestand door php laten aanmaken waar je de XML zooi inzet, en die vervolgens inladen in flash
voor 1 bestandje is dat misschien ok maar als je achteraf met een heleboel bestanden gaat werken is het toch een hele omweg. en het moet toch te doen zijn he

Verwijderd

Topicstarter
RAJH schreef op donderdag 14 juni 2007 @ 20:42:
Probeer het eens met een andere content-type, zoals application/xml. :)
dit lukt ook niet

Verwijderd

Topicstarter
jezus ... http://localhost/products2.php ipv products2.php inladen lukt wel

begrijp er niks van

Verwijderd

Let je er op dat je je Flash movie niet lokaal opent maar via je webserver? Anders gaat hij het bestand ophalen via je lokaal filesystem en niet je webserver.

Wat jij probeert doe ik geregeld dus het kan perfect. (in AS2 durfde het nogal lullig te doen, in AS3 heb ik er nog nooit last mee gehad)

Verwijderd

Verwijderd schreef op donderdag 14 juni 2007 @ 21:10:
jezus ... http://localhost/products2.php ipv products2.php inladen lukt wel

begrijp er niks van
Das lijkt me redelijk normaal. Als je een lokaal bestand opend wordt de php niet geparsed...
maar zoals de poster boven me aanhaalt, dit kan perfect. Gewoon opletten dat je xml data niet gecached wordt. Anders de pagina aanroepen met http://localhost/products2.php?unieke_id

Unieke id kan een timestamp zijn of de uniqid functie.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

En geef voortaan ook even aan dat je lokaal laadt ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 01-12 10:11

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op donderdag 14 juni 2007 @ 21:10:
jezus ... http://localhost/products2.php ipv products2.php inladen lukt wel

begrijp er niks van
http://localhost/ betekent dat de file door je webserver geparsed wordt ...
een webserver (waarop PHp is geinstalleerd en die .php-files parsed) zal deze uitvoeren ...

zodra je echter direkt 'lokaal' een php-file opent wordt dit door je filesystem gedaan en voor het file-system is een php-bestand geen executabel maar gewon een statisch text-bestand (waarin PHP code staat)

dat is maar goed ook, wat als je met een editor je PHP-file wilt bearbeiten , wil je liever niet dat enkel het openen van je php-bestand gelijk betekent dat hij uitgevoerd wordt.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1