Ошибка PHP DOMDocument при сохранении на диск - PullRequest
0 голосов
/ 14 апреля 2011
function send_newsletter() {

    $name = $_POST['name'];
    $last_name = $_POST['last_name'];
    $email = $_POST['email'];
    $city = $_POST['city'];
    $address = 'n/a';

    $doc = new DOMDocument(); 
    $doc->load('xml/lead.xml');
    $doc->formatOutput = true; 

    $tags = $doc->getElementsByTagName('lead');
    $r = $tags->item(0);

    $b = $doc->createElement( 'contact' ); 
    $b->setAttribute('FirstName', ''.$name.'');
    $b->setAttribute('LastName', ''.$last_name.'');
    $b->setAttribute('Email', ''.$email.'');
    $b->setAttribute('StreetAddress', ''.$address.'');
    $b->setAttribute('City', ''.$city.'');

    $r->appendChild( $b ); 

    if($doc->save("xml/lead.xml")) {
        $the_return = array('request'=>'success');
        echo json_encode($the_return);
    }

    else{
        $prompt = "Sign up failed. Please try again.";

        $the_return = array('request'=>'failed','prompt'=>$prompt);
        echo json_encode($the_return);
    }

    die();
}

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

Путем проб и ошибок я определил, что $doc->save("xml/lead.xml") - это проблема.Хотя я не знаю почему.

Может кто-нибудь, пожалуйста, посмотрите на меня?это может быть что-то глупое, например пропущенная цитата.

Спасибо

...