2014-04-28 2 views
0

Je travaille sur un projet final pour l'école impliquant XML/XSL et j'ai choisi de le faire en PHP. J'ai utilisé XAMPP pour voir mon site web et tout a fonctionné jusqu'à ce que je télécharge tout sur le serveur web de l'école. Je ne reçois aucune erreur sur ma page PHP, il arrête simplement le rendu quand il atteint l'appel de fonction PHP. Je ne sais pas pourquoi tout a fonctionné sur XAMPP mais pas sur le serveur web. Je m'excuse si cette question a déjà été soulevée. J'ai regardé d'autres questions mais je n'ai rien trouvé qui résolve mon problème. Merci d'avance de regarder!Erreur lors du rendu XML/XLS avec PHP?

Voici mon code:

XML:

<?xml version="1.0" encoding="utf-8" ?> 

<nav> 

    <item> 
    <name>Home</name> 
    <url>index.php</url> 
    </item> 

    <item> 
    <name>What's Inside</name> 
    <url>about.php</url> 
    </item> 

    <item> 
    <name>Pod Locations</name> 
    <url>pods.php</url> 
    </item> 

    <item> 
    <name>Trail Map</name> 
    <url>trail.php</url> 
    </item> 

    <item> 
    <name>Contact Us</name> 
    <url>contact.php</url> 
    </item> 

</nav> 

XSL:

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<!-- 
    Process XML 
--> 
    <xsl:template match="nav/item"> 
    <li> 
     <a href="{url}" class='button'><xsl:value-of select="name"/></a> 
    </li> 
    </xsl:template> 

</xsl:stylesheet> 

PHP:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Home - CyclePods</title> 

    <?php require('common/header.php'); ?> 

    <?php 
     function processXML($source) { 
     $xml = new DOMDocument; 
     $xsl = new DOMDocument; 
     $process = new XSLTProcessor; 

     $xml->load('assets/xml/' . $source . '.xml'); 
     $xsl->load('assets/xml/process.xsl'); 

     $process->importStyleSheet($xsl); 

     echo $process->transformToXML($xml); 
     } 
    ?> 

    </head> 
    <body> 
    <div class="nav-span"> 
     <div class="nav-row"> 

     </div> 
    </div> 
    <div class="banner-back"> 
     <div class="banner-front"> 

     <div class="tabs"> 

      <ul class="horizontal"> 
      <?php processXML('navigation'); ?> 
      </ul> 
     </div> 
     </div> 
    </div> 

    <div class="background"> 
     <div class="body"> 

     <div class="row"> 


     </div>   

     </div> 
    </div> 
    </body> 
</html> 
+0

Vérifiez s'il existe une incompatibilité de version de PHP et demandez à l'école l'administration du journal des erreurs. – stwissel

+0

J'ai regardé dedans et ai constaté que je cours 5.5.9 et l'école exécute 5.3.8. Quand j'ai parlé à l'Admin il a dit qu'il "ne communique pas cette information aux étudiants" – srinehart

+0

Je sens ta douleur. Enveloppez votre code dans une tentative d'attraper et d'imprimer l'erreur au navigateur (essayez attraper est argot pour la routine de gestion des erreurs). Vous pouvez utiliser l'ancienne version pour tester. – stwissel

Répondre

0

Transforme mon code est valide, il nécessite juste nouvelles versions de PHP. J'ai téléchargé mon projet sur un hôte gratuit (avec la version la plus récente de PHP) et cela a fonctionné comme un charme.

Questions connexes