【问题标题】:Form that will store offline将离线存储的表单
【发布时间】:2012-02-13 22:43:31
【问题描述】:

我对此进行了大量研究,但找不到完全符合我需求的解决方案。我正在尝试找到一种方法来创建一个简单的 html 表单(电子邮件注册表单),该表单将离线存储数据,可能使用 html5 localStorage。我一直在研究这个解决方案:http://miniapps.co.uk/blog/post/using-html5-localstorage-as-a-fallback-for-offline-form-submission,但我不确定如何将其作为不存储在在线服务器上的独立 html 文档来工作。有什么建议吗?

【问题讨论】:

  • HTML5 本地存储在客户端浏览器上,就像 SESSION 存储在服务器上一样。而且大多数情况下,它无法在浏览器重新启动后幸存下来。本地存储也与其他站点的访问隔离。这是你想要的吗?您究竟想在哪里存储这些数据?
  • @Vigrond 不,这根本不是我想要的。理想情况下,我想将数据存储在 excel 文件中。我知道您可以在 excel 中完成所有这些操作,但我希望表单非常基本、非常简单且安全。
  • 好的,你想把excel文件放在哪里?您提到“离线”,但您是指您的本地计算机而不是您租用的服务器吗?
  • @Vigrond 我认为你所说的sessionStorage 是正确的,但localStorage 对象应该更永久,请参阅:w3.org/TR/webstorage。无论哪种方式,我认为访问任一对象都需要来自 url 的请求,所以我不认为这是要走的路。
  • @nwellcome 你是对的,感谢您的更正。 HTML5 LocalStorage 将像浏览器缓存一样继续存在,直到被清除。

标签: javascript html local-storage offline


【解决方案1】:

好吧,我不会给你贴一堆代码,但我会给你一个解决方案。

第一个问题是让远程服务器在您自己的本地计算机上保存文件。这可以通过设置 FTP 服务器(需要在线连接)、创建 FTP 客户端帐户并使用您使用的任何服务器后端语言(PHP、C# 等)访问它来解决

我喜欢 FileZilla 服务器:http://filezilla-project.org/

在本地计算机离线的情况下,您可以将服务器设置为将信息保存到数据库,然后“重试”连接到计算机的 ftp 服务器,直到成功。这可以在 linux 环境中使用 CRON 作业来完成。所涉及的步骤如下:

  1. 检查数据库中是否有任何新的表单数据
  2. 如果有,请尝试连接到 FTP 服务器并保存
  3. 如果成功,则将该行中的数据库状态列标记为“成功”。

如果您的 IP 地址发生变化,您可以注册一个免费的动态 dns 帐户,该帐户将为您提供一个永久地址。这是一个流行的:http://dyn.com/dns/

第二个问题是将此表单数据放入 Excel 文件。值得庆幸的是,已经为此目的创建了一些开源库,例如 PHP-Excel,它将数据库表或 php 二维数组转换为 excel 文件。

当您的用户完成表单时,它可以创建此 excel 文件,将其放在一个目录中,并将路径保存到数据库中,您的 CRON 作业或 Windows 任务计划程序将在其中执行脚本以将该文件保存在您的本地计算机上通过 FTP。

【讨论】:

  • 非常感谢,但我认为这对我来说有点矫枉过正。真的没有必要上网,永远。它只是一台离线笔记本电脑,其灵魂目的是从输入电子邮件的人那里收集电子邮件。就像物理笔和纸电子邮件注册表一样。我想要一种仅解决第二个问题的方法,因此您建议的 PHP-Excel 解决方案似乎是一个不错的选择。我可以在笔记本电脑上本地设置一个 PHP 文件,并将其转换为一个 excel 文件。谢谢!
  • 很抱歉没有意识到实际的服务器会离线! :)
  • 没关系!这不是一个理想的情况或问题,但仍然必须找到解决方案。再次感谢。
猜你喜欢
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 2011-04-02
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多