首页 > 解决方案 > 我可以使用在线表单但不使用数据库自​​动填充 HTML 页面吗?

问题描述

我正在尝试为我的网站设置每日特价页面。我希望厨师能够在线填写表格,并让他们在表格中输入的信息显示在网站的每日特价页面上。我对编程很陌生,而且我根本不了解 PHP,所以我想知道是否有一种我不知道的简单方法可以做到这一点。

我可以很容易地使用数据库来做到这一点,但是我无法为此站点设置数据库。长篇大论,别问了。

我可以使用 PHP 将数据从厨师填写的在线表格传输到每日特价页面 - 但是一旦表格关闭,数据就不会保留在那里。我曾尝试在表单上使用 onSubmit return false 以防止其被清除,但这不起作用。还有其他方法可以做到这一点还是我做错了?

我可以使用本地存储来保留表单中的信息,并使用 jQuery 从表单中获取数据并将其放在每日特价页面上——但这仅适用于我的机器。有没有类似服务器或域名的本地存储?

我尝试嵌入一个谷歌文档和一个谷歌表格 - 谷歌的文档显示,当对表格进行更改时,表格将在嵌入它们的网站上自动更新,但事实并非如此 - 或者至少我没有设法得到它工作。此外,CSS 非常有限,因此它们看起来不太好。

我可以使用 jQuery.load() 从 .html 和 .txt 获取信息到我的每日特价页面 - 但是我如何首先将信息获取到 html 或 txt 文件中?文本文件需要在服务器上或在线,以便厨师可以访问它并且网站可以访问它。我可以使用 PHP 和 html 表单写入 .txt,但我无法将它们放在一起。

使用这些非常简单的页面:

表单.html

<form action="action.php" method="POST">
    <input name="field1" type="text" />
    <input name="field2" type="text" />
    <input type="submit" name="submit" value="Save Data">
</form>

动作.php

   <?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
    $data = $_POST['field1'] . '-' . $_POST['field2'] . "\r\n";
    $ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX);
    if($ret === false) {
        die('There was an error writing this file');
    }
    else {
        echo "$ret bytes written to file";
    }
}
else {
   die('no post data to process');
}

加载.html

<b>Projects:</b>
<ol id="cafe"></ol>

<script>
$( "#cafe" ).load( "mydata.txt" );

</script>

我已经能够填写表格 - 将数据写入文本文件 - 从文本文件中获取数据并将其添加到 html 页面 - 但我如何让它完成所有这些并看起来不错?我不知道如何设置它,以便在添加数据时将文本文件添加到特定的 div 中,这样我就可以将特定的 div 调用到我的 html 页面并添加 CSS 到它?我必须为每条新数据创建一个新的 .txt 文件吗?

每家餐厅我有 5 件事需要更新,我有 4 家餐厅。

所以我会: 餐厅 A - 我需要更新,1. 厨师姓名。2.特殊名称,3.特殊描述,4.孩子的特殊名字,5.孩子的特殊描述。餐厅 B - 我需要更新,1. 厨师姓名。2.特殊名称,3.特殊描述,4.孩子的特殊名字,5.孩子的特殊描述。
餐厅 C - 我需要更新,1. 厨师姓名。2.特殊名称,3.特殊描述,4.孩子的特殊名字,5.孩子的特殊描述。
餐厅 D - 我需要更新,1. 厨师姓名。2.特殊名称,3.特殊描述,4.孩子的特殊名字,5.孩子的特殊描述。

什么都不需要保存,只需更换 -

所以现在我认为如果我将每条新数据写入不同的 txt 文件,我可以做到。所以餐厅 A 会有 chefname.txt、specialname.txt、specialdescription.txt、kidspecial.txt 和 Kiddescription.tx。

有没有人有更好的方法来做到这一点?看起来这将是一件简单的事情,我只是很新,不知道我应该怎么做才能做到这一点。

任何想法或帮助将不胜感激。

标签: javascriptphpjqueryhtmlcss

解决方案


您可以像之前那样将数据存储在 .txt 文件中,但您可以使用某种格式,例如(第一家餐厅)厨师名称|特殊名称|特殊描述,|孩子的特殊名称| 孩子的特殊描述。之后逐行解析并用特殊字符分割(例如: | )


推荐阅读