保存到磁盘时出现PHP DOMDocument错误

时间:2011-04-13 20:23:29

标签: php domdocument

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")是问题所在。我不知道为什么。

有人可以帮我看看吗?它可能是一种愚蠢的东西,比如缺少报价。

由于

0 个答案:

没有答案