我的网站上有一个启动页面,应该在进入网站之前要求用户确认。 我实施了一个"记住我"复选框,所以如果用户检查它将设置一个cookie,那么在下一个访问页面将被自动重定向。
我刚刚碰到的问题是我想在我的标题页中设置一个条件,所以它应该检查用户是否已经有Cookie应该显示页面内容,如果不是,它应该重定向到启动页面。
有没有使用PHP或JS的方法
这是Splash页面代码
<!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>
@totallytotallyamazing
答案 0 :(得分:1)
我使用JS,Jquery和(仅用于测试的PHP),用于此解决方案。
这是DEMO。 (我稍微修改了之前的Splash页面Demo来适应这个Demo。)
以下是代码:
<!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>
页面完成最后的重定向后,再次重新加载页面以查看&#34;到期&#34; cookie显示是截止日期。
我希望这对您有用,请告诉我。