从HTML表单输入生成XML文件

时间:2019-04-15 16:29:57

标签: php html xml

我正在尝试使用PHP在LAMP堆栈上从html表单输入生成XML文档。我可以生成XML文档,但是似乎在从html字段中获取数据方面存在问题。

我试图在我的PHP代码中以文本项的形式调用$_POST['itemName'],但是遇到一条错误消息,提示itemName未定义。请参阅下面的index.html部分文档和完整的generate.php代码:

Here is the full `generate.php` code:

<?php

$dom = new DomDocument('1.0'); 

$orders = $dom->appendChild($dom->createElement('orders')); 

$order = $orders->appendChild($dom->createElement('order')); 

$item = $order->appendChild($dom->createElement('item'));

$item->appendChild($dom->createTextNode($_POST['itemName']));

$dom->formatOutput = true;
$orders = $dom->saveXML();
$dom->save('orders.xml');

?>

这是index.html中的表单部分:

<form name="form1" action="generate.php" method="post">
    <input type="text" class="form-control" id="itemName" 
    placeholder="Item Name">

    <button type='submit' action='submit' name='generate'>Generate XML</button>
</form>

我希望得到这样的XML文档:

<?xml version="1.0"?>
<orders>
  <order>
    <item>text from form field</item>
  </order>
</orders>

我得到的是浏览器中显示以下错误:

Notice: Undefined index: itemName in generate.php on line 17

我已经在本地计算机上测试了Apache Server和PHP,并且可以正常工作,所以问题肯定出在我的代码内。

我觉得这真的很简单,并且犯了一个非常明显的错误,但是我并不真正了解PHP,所以这对我来说是全新的。

谢谢!

0 个答案:

没有答案