2009-07-21 8 views
0

J'ai un formulaire sur une page PHP. Tout ce que j'essaie de faire est de parser certains XML est entré dans cette forme (COMMAND) en utilisant simplexml_load_string ici est le code de test:PHP simplexml_load_string inclure des données de champ de formulaire

<?php 
    if($_POST){ 
     $Input = $_GET['COMMAND']; 
     $Data =<<<XML 
     <?xml version="1.0" encoding="ISO-8859-1"?> . 
     $Input .XML; 

     $xml = simplexml_load_string($Data); 
     var_dump($xml); 
    } 
     else 
    } 
     echo 'WTF!' 
    } 
?> 

    <form id="form1" name="form1" method="post" action="index.php"> 
    <textarea name="COMMAND" id="COMMAND" cols="45" rows="5"> 
     <API> 
     <COMMAND>Test</COMMAND> 
     </API> 
    </textarea> 
    <input type="submit" name="button" id="button" value="Submit" /> 
    </form> 

c'est l'erreur que je reçois:

Parse error: syntax error, unexpected $end in /var/www/cgi/index.php on line 24

je pense qu'il a quelque chose à voir avec ma tentative faible de concaténation.

+0

merci dave, je ne résous cela, mais il ne toujours pas me débarrasser de l'erreur. –

+0

[Référence - Que signifie cette erreur en PHP?] (Http://stackoverflow.com/q/12769982/367456) – hakre

Répondre

1

Vous avez une accolade fermante où vous voulez une accolade d'ouverture:

} 
    else 
} // <- BAD! 
    echo 'WTF!' 
} 

Vous voulez:

} 
    else 
{ // <- GOOD! 
    echo 'WTF!' 
} 

C'est un choix personnel, mais je vous recommande la suite de la PEAR standard pour le codage PHP . Votre code apparaîtrait comme:

if (...) { 
} else { 
} 

Facilite beaucoup la capture de ces accolades maléfiques!

0

En plus de ce que hobodave a écrit il vous manque un; sur votre

echo 'WTF!'; 

ligne

+0

Merci rob, mais toujours pas de dés. –

+0

Vous devrez fournir plus de code si vous voulez un meilleur débogage. De ce que vous nous avez montré hobodave et j'ai signalé les erreurs de syntaxe. Mais nous ne savons pas si vous avez un problème dans un autre endroit. Mis à part les erreurs de syntaxe, nous avons indiqué que le code que vous avez fourni semble bon. –

Questions connexes