0

您好,我目前有此代码检查 cookie 是否存在,在您转到子页面之前,它工作得非常好,因为网站的标题部分对所有页面都是通用的。

我目前正在使用此代码来检查 cookie -

if(! isset( $_COOKIE['AVS'] ) )
        {
            header('Location: http://www.mydomain.com/splash/');
        }

这就是我设置cookie的方式

<script type="text/javascript">
            function createCookie() {
                var name = "AVS";
                var value = "AVL";
                var expires = 24*60*60*1000;
                document.cookie = name+"="+value+expires+"; path=/";
            }
</script>

即使浏览器关闭,我实际上在设置 cookie 后将 cookie 保留 24 小时也有问题?

4

3 回答 3

0

这取决于您如何设置 cookie。

查看setcookie的路径和域参数

于 2012-04-06T19:00:07.533 回答
0

我想通了,我完全使用 PHP 而不是任何 javascript,它似乎可以工作..这是我使用的代码。

    if(! isset( $_COOKIE['AVS'] ) )
    {
        $value = 'AVL';
        setcookie("AVS", $value, time()+43200);
        header('Location: http://www.mydomain.com/splash/');
    }
于 2012-04-06T19:13:09.497 回答
0

如果您想在 JavaScript 中创建和检查 cookie,那么我可以帮助您解决一些我在 3-4 个月前编写的代码。

如果你想要这个,那么你去这里

在 HTML 页面中获取一个按钮并在其 onclick 函数上调用 JavaScript 函数“checkCookie()”。

<input type="button" value="Click Me" onclick="checkCookie()" /> 

现在转到 head 部分并在那里定义 checkCookie() 方法。

function checkCookie() {
        var username = getCookie("username");
        if (username != null && username != "") {
            alert("Welcome again " + username);
        }
        else {
            username = prompt("Please enter your name:", "");
            if (username != null && username != "") {
                setCookie("username", username, 365);
            }
        }
    }

现在,如果您的浏览器已将您在文本框中输入的名称保存在 cookie 中,那么上述方法将向您显示“再次欢迎您输入的名称”的警报。

让我们定义 getCookie() 方法。

function getCookie(c_name) {
    var c_value = document.cookie;
    var c_start = c_value.indexOf(" " + c_name + "=");
    if (c_start == -1) {
        c_start = c_value.indexOf(c_name + "=");
    }
    if (c_start == -1) {
        c_value = null;
    }
    else {
        c_start = c_value.indexOf("=", c_start) + 1;
        var c_end = c_value.indexOf(";", c_start);
        if (c_end == -1) {
            c_end = c_value.length;
        }
        c_value = unescape(c_value.substring(c_start, c_end));
    }
    return c_value;
}

现在定义 setCookie() 方法。

function setCookie(c_name, value, exdays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays == null) ? "" : "; expires=" 
                                      + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}

对于整个提示,您可以访问我在这里写的文章,在 Javascript 中检查和创建 Cookie

于 2013-10-11T16:24:37.797 回答