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")
是问题所在。我不知道为什么。
有人可以帮我看看吗?它可能是一种愚蠢的东西,比如缺少报价。
由于