保存表单数据,以便在php中刷新页面时不会丢失

时间:2014-01-08 07:14:45

标签: javascript php cookies

我有一个注册表单,但是当页面刷新时数据丢失并且用户必须再次输入数据。即使页面刷新,我也希望数据保持在那里。

我正在使用serialize函数来序列化表单数据,但现在如何在刷新页面时打印存储的值?

setcookie('formdata', serialize($formdata), time()+30*24*60*60);

但它最终会保存数据。我想在用户输入值后立即存储数据,如果页面刷新且字段已填满,则应填充数据。

2 个答案:

答案 0 :(得分:0)

您需要使用Javascript / JQuery来实现,而不是使用PHP保存Cookie 每次用户在输入框(.change)上键入时,您都可以这样做。

查看:How do I set/unset cookie with jQuery?

答案 1 :(得分:0)

您可以使用javascript将表单值保存到Cookie中。在更改事件中使用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。