亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我編寫了一個用戶填寫的 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 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號