我有一個註冊表單,但是當頁面刷新時數據丟失並且用戶必須再次輸入數據。即使頁面刷新,我也希望數據保持在那裏。保存表單數據,以便在頁面刷新時不會丟失php
我正在使用serialize
函數來序列化表單數據,但現在如何在頁面刷新時打印存儲的值?
setcookie('formdata', serialize($formdata), time()+30*24*60*60);
但它是在最後保存數據。我希望數據在用戶輸入值時立即存儲,並且如果頁面刷新並且字段已填充,則應填充數據。
我有一個註冊表單,但是當頁面刷新時數據丟失並且用戶必須再次輸入數據。即使頁面刷新,我也希望數據保持在那裏。保存表單數據,以便在頁面刷新時不會丟失php
我正在使用serialize
函數來序列化表單數據,但現在如何在頁面刷新時打印存儲的值?
setcookie('formdata', serialize($formdata), time()+30*24*60*60);
但它是在最後保存數據。我希望數據在用戶輸入值時立即存儲,並且如果頁面刷新並且字段已填充,則應填充數據。
不需要用PHP保存cookie,你需要用Javascript/JQuery來完成。
每當用戶在輸入框中鍵入時(.change),都可以執行此操作。
,但如果我再次setCookie(鍵,值)在表單中的每個字段,並檢查它的設置,然後打印值,而窗體加載將它不能正常工作 – user3058875
使用'$ .cookie(cookie,value)'保存使用Javascript的cookie。然後,在加載表單頁面時,使用PHP在輸入框中打印cookie的值。 '$ _ [ 'COOKIE']' – zurfyx
你可以使用JavaScript來表單值保存到餅乾。在change事件上使用jquery $ .cookie函數。也可以使用沒有jQuery的javascript
function setCookie(name, value, days) {
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
var expires = "; expires=" + date.toGMTString();
}
else
var expires = "";
document.cookie = name + "=" + value + expires + "; path=/";
}
function getCookie(c_name) {
if (document.cookie.length > 0) {
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1) {
c_end = document.cookie.length;
}
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
}
只是使用這些函數來存儲和加載cookie的名稱。
您可以使用會話.... – Dinesh
如果頁面剛剛刷新,或者您的表單已提交,萬一發生錯誤,表單數據不會丟失?那是你想要做什麼? –
我不想將數據存儲在服務器上我只想在客戶端存儲 – user3058875