在变量中获取cookie(有效24小时)并发送到mysql

时间:2016-09-18 16:50:08

标签: javascript java mysql cookies

我需要一个有效期为一天的变量。该变量应标识网站用户,并且对于该用户应该是唯一的。一旦我有了这个变量,我想将它存储在mysql列中。 (我在这里知道该怎么做......但我正在努力创造这样一个变量)

我还进行了验证检查表中是否已存在该记录。因此,24小时后我无法创建新记录。

我不确定如何实现这一点......我想通过一个有效期为一天的cookie? (抱歉,我对cookies很新)。我已经在努力提醒cookie(见下文):

$(document).ready(function() {

    function setCookie(cname, cvalue, exdays) {
        var d = new Date();
        d.setTime(d.getTime() + (exdays*24*60*60*1000));
        var expires = "expires="+d.toUTCString();
        document.cookie = cname + "=" + cvalue + "; " + expires;
    }

    function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1);
            }
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
            }
        }
        return "";
    }   

// Inline Button in Table

var cookie_variable = $('#table').on('click', 'a.cookie_button', function () {

    alert(document.cookie);

} );

});

警告结果:

[object Object] = [object Object]; cookieconsent_dismissed =是

1 个答案:

答案 0 :(得分:0)

很难理解您想要做什么/有什么问题,但我已经对您的代码进行了更改,以使其有效。

$(document).ready(function() {

    window.setCookie = function(cname, cvalue, exdays) {
        var d = new Date() + (exdays||1)*24*60*60*1000;
        // defaulted to 1 day - by using "exdays OR 1" - if exdays not specified
        var expires = "expires="+d.toUTCString();
        document.cookie = cname + "=" + cvalue + "; " + expires;
    }

    window.getCookie = function(cname) {
        match = document.cookie.match(new RegExp(cname + '=([^;]+)'));
        // above is a regular expression, used to find the cookie value
        return (match ? match[1]: match); // returns cookie value or null
    }   

    // Inline Button in Table

    $("#table").click(function(e){
        alert(document.cookie);
    });

});