为了账号安全,请及时绑定邮箱和手机立即绑定

我编写了一个用户填写的 HTML 表单,但是如果他们再次访问该页面,我如何证明他们已经提交了该表单?

我编写了一个用户填写的 HTML 表单,但是如果他们再次访问该页面,我如何证明他们已经提交了该表单?

皈依舞 2022-10-13 16:57:08
在一个名为 today.html 的文件中,我编写了一个扩展表单供用户填写。我有一个带有 GET 和 POST 请求的 application.py 文件,这样用户将获得 today.html 表单以填写某个路由 (GET),并在提交 (POST) 时,将该信息提交到 SQLite 数据库。在用户再次访问表单所在的 GET 路由的情况下,我需要帮助。我希望他们不能再次填写表格,而是让他们看到他们已经填写的消息,并查看(并可能编辑)他们已经完成的工作。我该怎么做呢?
查看完整描述

2 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超8个赞

这可以通过在 GET 响应中包含额外数据来完成。我假设用户有一个唯一的 ID,可以帮助您确保他们只填写一张表格。然后,在 GET 请求中,当他们尝试获取表单时,只需查询您的数据库以查看他们是否已经提交了表单。如果他们这样做了,您可以包含这样的对象


{

  isFilledOut: true,

  submittedForm: // List of required fields

  submittedFormData: // Object containing data from their previous submission

}

对于已经填写的表格。如果isFilledOut为真,则在客户端显示表单,并填写他们已经提交的数据,允许他们进行更改并根据需要重新提交。如果他们之前没有填写过表格,您的服务器可能会返回


{

  isFilledOut: false,

  submittedForm: // List of required fields

  submittedFormData: null

}

在这种情况下,您会提示他们填写表格。


这是一个简单的例子——如果你愿意,你可以去掉布尔值,只检查提交的表单是否为空。


查看完整回答
反对 回复 2022-10-13
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

在服务器端,您可以在回答 GET 请求之前检查最后一个数据库条目时间戳。

您还可以设置客户端 cookie 以加快界面速度。如果客户端和服务器在 GET 请求后不匹配,您总是可以抛出“out of sinc”错误


查看完整回答
反对 回复 2022-10-13
  • 2 回答
  • 0 关注
  • 177 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号