Javascript 检查是否设置了Cookie,然后加载页面else重定向页面

Javascript 检查是否设置了Cookie,然后加载页面else重定向页面,javascript,php,jquery,cookies,Javascript,Php,Jquery,Cookies,我的网站有一个启动页面,在进入网站之前应该要求用户确认。 我在那里实现了一个“记住我”复选框,所以如果用户选中它,它将设置一个cookie,以便在下次访问页面中自动重定向 我刚刚遇到的问题是,我想在我的头页中设置一个条件,所以它应该检查用户是否已经拥有Cookie,它应该显示页面内容,如果没有,它应该重定向到初始页面 用PHP或JS有什么方法吗 这是启动页面代码 <!doctype html> <html> <head> <meta charset

我的网站有一个启动页面,在进入网站之前应该要求用户确认。 我在那里实现了一个“记住我”复选框,所以如果用户选中它,它将设置一个cookie,以便在下次访问页面中自动重定向

我刚刚遇到的问题是,我想在我的头页中设置一个条件,所以它应该检查用户是否已经拥有Cookie,它应该显示页面内容,如果没有,它应该重定向到初始页面

用PHP或JS有什么方法吗

这是启动页面代码

   <!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<!-- JQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function(e) {
    $('#remember').click(function() {
        if (this.checked) {
            addCookie(30);
        } else {
            deleteAllCookies();
        }
    });
});

function deleteAllCookies() {
    var cookies = document.cookie.split(";");
    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

function addCookie(exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = expires;
}

function checkCookie() {
    if (document.cookie == false) {
    } else if (document.cookie.indexOf("expires") >= 0) {
        window.location.href = "https://www.google.com";
    }
}

function goTo() {
        window.location.href = "https://www.google.com";
}
</script>
</head>
<body onLoad="checkCookie();">
<h1>Splash Page</h1>
<form>
<input type="checkbox" id="remember"> Remember me
<br>
<input type="button" value="Enter" onClick="goTo();">
</form>
</body>
</html>

无标题文件
$(文档).ready(函数(e){
$('#记住')。单击(函数(){
如果(选中此项){
addCookie(30);
}否则{
删除所有cookies();
}
});
});
函数deleteAllCookies(){
var cookies=document.cookie.split(“;”);
对于(变量i=0;i-1?cookie.substr(0,eqPos):cookie;
document.cookie=name+“=;expires=Thu,1970年1月1日00:00:00 GMT”;
}
}
函数addCookie(exdays){
var d=新日期();
d、 设置时间(d.getTime()+(exdays*24*60*60*1000));
var expires=“expires=“+d.togmString();
document.cookie=过期;
}
函数checkCookie(){
if(document.cookie==false){
}else if(document.cookie.indexOf(“expires”)>=0){
window.location.href=”https://www.google.com";
}
}
函数goTo(){
window.location.href=”https://www.google.com";
}
启动页
记得我吗

@Totalytallyamazing

对于这个解决方案,我使用了JS、Jquery和(PHP只是为了测试)

这是你的电话号码。(为了适应这个演示,我稍微修改了上一个启动页演示。)

代码如下:

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
<!-- JQuery -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
function checkCookie() {
    if (document.cookie == false) {
        $('#x').text("No Cookie.");
        window.location.href = "http://www.totallytotallyamazing.com/jsFiddle/cookie/indexNoAlert.html";
    } else if (document.cookie.indexOf("expires") >= 0) {
        $('#x').text("You have Cookie.");
    }
}
</script>
</head>
<body onLoad="checkCookie();">
<h1>My Website</h1>
<p><div id='x'></div></p>
<?php
session_start();
if(isset($_COOKIE['expires'])) {
  echo "Here is your expiration date " . $_COOKIE['expires'] . "!<br>";
}
?>
</body>
</html>

无标题文件
函数checkCookie(){
if(document.cookie==false){
$('#x')。文本(“无Cookie”);
window.location.href=”http://www.totallytotallyamazing.com/jsFiddle/cookie/indexNoAlert.html";
}else if(document.cookie.indexOf(“expires”)>=0){
$('#x').text(“您有Cookie”);
}
}
我的网站

页面完成最终重定向后,再次重新加载页面,以查看“expires”cookie显示的到期日期。


我希望这对你有用,请让我知道。

@Totalytallyamazing你有什么想法吗?旁注:如果你只使用JavaScript,我将禁用JavaScript并浏览你的网站。应该用PHP来做。我不行,cookie是跨域设置的吗?cookie应该有一个名称来标识吗?我应该把代码放在标题中(对于所有页面)@Amir希望这能给你证明它是有效的。cookie的名称是“expires”。此外,如果您使用Chrome,请从菜单“查看->开发人员->开发人员工具”中单击此处的“资源”选项卡,您将看到Cookie,单击该选项卡可查看Cookie或缺少Cookie。