2013-06-02 79 views
1

我知道這並不安全,但它仍處於beta階段之前,我只是在尋找功能。所以,我有一個用戶輸入區域,在這裏他們輸入他們的信息。從那裏,信息被髮送到一個PHP文件,使其成爲一個XML文件。唯一的問題是,沒有標籤,所以我會告訴你用於創建XML文件和XML文件的代碼。如何使用PHP輸入來獲得正確的XML佈局

HTML

<form action="insertdata.php" method="post"> 
     Data1<input name="data" value="" type="text" placeholder="Data"> 
      Data2 <input name="data2" value="" type="text" placeholder="Data"> 
      <input type="submit" value="Submit"> 
     </form> 

PHP

$xml = new DOMDocument("1.0"); 
$data = $xml ->createElement ("Data"); 
$datat = $xml -> createTextNode($_POST['data']); 
$data = $xml ->appendChild ($datat); 

$data1 = $xml -> createElement ("Data1"); 
$data1t = $xml -> createTextNode ($_POST['data1']); 
$data1 = $xml -> appendChild ($data1t); 


//echo "<xmp>".$xml -> saveXML(). "</xmp>"; 
$xml ->save("'".$_POST[data]."'.xml") or die ("error creating file"); 

所以,我的問題是不是XML文件的創建,它的XML文件看起來是這樣的:

<?xml version="1.0"?> 
Datainput 
datainput1 

爲什麼不是標籤中包含的文件中的數據? 另外,你將如何能夠做到這一點?

回答

1

您創建了元素,但從未使用它們。 $data$data1一旦創建就不會使用,因此您所做的只是將兩個文本節點附加到根元素。你想要更像

$xml = new DOMDocument("1.0"); 
$data = $xml->createElement('Data'); // Create <Data> 
$text = $xml->createTextNode($_POST['data']); // fill in text node 
$data->appendChild($text); // put textnode inside <Data>...</Data> 
$xml->appendChild($data); // insert <Data> into the XML document. 
+0

非常感謝你 –