PHP искажает XML переданный через POST

izlotskiy

Новичок
PHP искажает XML переданный через POST

Вот в чём проблема... flash посылает xml данные через POST в php скрипт.. который выглядет скажем так:

Код:
<ids>
    <id i="5" />
    <id i="126" />
    <id i="3464" />
    <id i="2" />
    <id i="1" />
</ids>
А когда делаеш echo на стороне php, этот xml выглядет так:

Код:
<ids>
    <id i=\"5\" />
    <id i=\"126\" />
    <id i=\"3464\" />
    <id i=\"2\" />
    <id i=\"1\" />
</ids>
(насколько я понял) Вследствии чего когда я парсю xml на стороне php с помощью класса simplexml, выдаёт такое:
Fatal error: Call to a member function attributes() on a non-object in /home/content/i/b/i/ik/html/dev/load.php on line 20
line 20 это:
Код:
foreach($xml->id[$i]->attributes() as $a => $b) {
Ещё что странно это то что на локальном сераке всё работает хорошо и xml не искажается, а на хостинге искажается...

Что с этим делать?
 

Кощей

if(!$needle) die("ooh");
можно перед тем как отдавать код на парсинг xml сделать ему stripslashes()
 

FB3

Новичок
Скорей всего разная настройка опции magic quotes на серваке и локально. Можно при инициализация скрипта отключать эту опцию, если сервер позволяет:
http://ru.php.net/manual/en/info.configuration.php#ini.magic-quotes-gpc
http://ru.php.net/manual/en/function.ini-set.php

Или проверять, включена ли опция:
http://ru.php.net/get_magic_quotes_gpc

ИМХО, stripslashes() здесь не лучшее решение.
 
Сверху