使用 Ajax 和 PHP 在外部 XML 文件中从 HTML 表单添加新数据

Add new data from HTML form in external XML file using Ajax and PHP

本文关键字:添加 表单 HTML 新数据 数据 PHP Ajax 外部 文件 XML 使用      更新时间:2023-09-26

我被困住了,不确定。网页显示基于现有 XML 文件的表。

我只想提供在表中添加新行的选项。我读到我不能使用JS在外部XML文件上写入,所以我必须使用PHP脚本。

问题是我不确定实现逻辑。这是我的观点:

  1. 将显示一个空表(完成(的页面。
  2. Javascript 用 XML 文件数据填充表(完成(。
  3. 用户填写 HTML 表单字段。
  4. 当用户按下"提交"按钮时,javascript捕获字段内容并将它们发送到PHP脚本(POST方法((尚未开发(。
  5. PHP 捕获 POST 数据,然后将它们附加到 XML 文件(尚未开发(。
  6. 完成后,javascript 使用最新更新的 XML 文件(尚未开发(刷新表。

我这样做对吗?感谢您的帮助!

--

编辑

谢谢大家的帮助。不幸的是,我无法使这个东西工作。无法检索表单值(未定义 pEnseigne(

这是 HTML 表单(摘录(

<form class="form-inline" name="newlineform">
<input type="text" class="input-small" placeholder="Enseigne" name="enseigne"/>
<button type="submit" class="btn btn-primary" id="zou">Zou!</button>
</form>

这是JS函数(摘录(

$('#zou').on('click', function(){
exportLine();
$('.form-inline').hide();
$('#ajouter').fadeIn();
return false
});
function exportLine(){
var pEnseigne = $('#enseigne').val();
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
loadData();
}}
xmlhttp.open("POST","php/form-process.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fenseigne="+pEnseigne);
}

还有PHP的事情

<?php
$enseigne = htmlentities($_POST['fenseigne']);
$lignes = simplexml_load_file('../list.xml');
$lignes->ligne->addChild("enseigne",$enseigne);
?>

你能再帮我一把吗?

我认为你的一般过程是合理的。 但是,与其做一个直接的后期表单,我会使用 javascript 来捕获表单并发送它。这允许您设置 javascript 方法以在触发更新之前等待 php 返回状态代码。

请参阅此处有关异步发送请求和使用处理程序处理结果的内容。

http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp

听起来不错。看一下如何使用 AJAX 执行 6。