2012-03-01 4 views
0

Я пытаюсь обновить свой XML-файл с помощью переменной post.Обновление значения узла узла xml

<?xml version="1.0" ?> 
<paypal> 
    <received>0</received> 
</paypal> 

PHP:

$paypal = simplexml_load_file("paypal.xml"); 
    $paypal->received = $_POST['mc_gross']; 
    $paypal->asXML("paypal.xml"); 

Но никаких изменений в файле не появится.

Любая помощь приветствуется.

+1

Вы уверены, что у вас есть права на запись для 'paypal.xml'? –

+0

вы НИКОГДА не должны использовать размещенный ввод напрямую, без предварительной очистки. «инъекционные атаки» - это ключевое слово общего характера, и я думаю, что оно применимо даже к xml: http://projects.webappsec.org/w/page/13247004/XML%20Injection – mindandmedia

+0

@Creadiff: Вы знаете, что ... это может быть причина. Посмотрите, это учетная запись GoDaddy, которую я использую. Вы находите это странным? –

ответ

0

Изменить для: $paypal->received[0] = $_POST['mc_gross'];, как указано на php.net @http://www.php.net/manual/en/simplexmlelement.addchild.php#107409

+0

Спасибо. Похоже, что это может быть проблема разрешения больше, чем что-либо, поскольку мне кажется, что первый элемент массива задан по умолчанию. И это не работает. –

Смежные вопросы