您的位置:时间博客>前端>原生JS设置cookie过期时间,PHP再读取案例

原生JS设置cookie过期时间,PHP再读取案例

最近博客用户模块要用到第三方登陆(QQ,微博,微信),登陆成功后要跳转到登陆前的页面。

这里做下记录:

要跳转第三方登陆时通过js把当前页面的完整URL在到cookie中,过期时间还不能太长。不然在文章内页跳转了第三方但没有登陆成功,此时URL的cookie己被设置了,再首页重新登陆成功后那么跳转的页面就是之前的文章内页了,所以这里cookie设置成一分钟后过期。

function setCookie(name,value,myDay){
    var oDate=new Date();
    oDate.setTime(oDate.getTime() + 1000 * myDay);
    document.cookie=name+"="+escape(value)+";expires=" + oDate.toGMTString();
}
setCookie("this_url",window.location.href,60);//1分钟后过期
console.log(document.cookie);

js的window.location.href表示当前页面的完整链接

通过console.log()打印发现设置成功

96574ac3e303731ebd560e867dd430db.png

一分钟后失效

08f01a5efe7e9c05eba9cb1bdca34c1b.png

在回调里用PHP读取cookie里的this_url 再重定向就ok啦,我这里使用的TP5的Cookie类读取

Session::set('frontend_sign',$session_user);
// 跳转到登录前的页面
$this_url = Cookie::has('this_url','') ? Cookie::get('this_url','') : '/';
return redirect($this_url);

原生PHP读取方式

$this_url = isset($_COOKIE['this_url']) ? $_COOKIE['this_url'] : '/';
header("Location: $this_url");
die;

意思就是如果有设置this_url就跳转到设置的链接,没有则跳转到首页

转载请注明本文标题和链接:《 原生JS设置cookie过期时间,PHP再读取案例

相关推荐

网友评论 0

未登陆 表情
Ctrl+Enter快速提交