PHP simplexml_load_string включает данные поля формы - PullRequest
0 голосов
/ 21 июля 2009

У меня есть форма на странице PHP. Все, что я пытаюсь сделать, это разобрать какой-то XML, введенный в эту форму (КОМАНДА), используя simplexml_load_string, вот тестовый код:

<?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>

это ошибка, которую я получаю:

Ошибка разбора: синтаксическая ошибка, неожиданный конец $ в /var/www/cgi/index.php в строке 24

Я думаю, это как-то связано с моей слабой попыткой объединения.

Ответы [ 2 ]

1 голос
/ 21 июля 2009

У вас есть закрывающая скобка, где вы хотите открывающую скобку:

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

Вы хотите:

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

Это личный выбор, но я бы рекомендовал следовать стандарту PEAR для кодирования PHP. Ваш код будет выглядеть как:

if (...) {
} else {
}

Намного легче поймать эти злые фигурные скобки!

0 голосов
/ 22 июля 2009

В дополнение к тому, что написал hobodave, вам не хватает; на вашем

echo 'WTF!';

линия

...