COOKIE和SESSION是在浏览器中很重要的东西,用来记录登陆或者一些数据,同一域名下使用很简单,但是在二级域名下却无法直接共享,对于一些只用一个子域名的网站来说并没有什么卵用,但是对于一些分很多二级域名的网站来说是必须要会的,比如bilibili就分成了很多子站,首页,搜索,账户,直播,消息等等。
COOKIE消失的时间可以自行设置,而SESSION的消失时间则是浏览器关闭则消失。一般网站在登陆的时候都是COOKIE与SESSION同时使用来确保登录的。
接下来我来说明一下最简单的设置COOKIE与SESSION的方法,方法很简单。
cookie与session
<?php //设置一个叫做mySession的session $_SESSION['mySession'] = "设置一个session"; //设置一个叫做myCookie的cookie,时间1小时 setcookie("myCookie","设置一个cookie",time()+3600); ?>设置最基础的cookie与session非常简单,共享给二级域名的cookie与session其实也不是很难。
都知道setcookie函数提供了一个路径和域名因此只需要添加这两个就可以了
我在两个不同的二级域名下
set.localhost.com下创建set.php
get.localhost.com下创建get.php
共享cookie
<?php //set.php文件中写下如下代码 //path参数填写 / 是站点根目录都生效 //domain参数填写 localhost.com 是主域名(一定要是主域名) setcookie("myCookie","设置一个cookie",time()+3600,"/","localhost.com"); ?> <?php //get.php文件中写下如下代码 //输出COOKIE则会发现另外一个二级域名访问设置的cookie已经在整个主域名及二级等生效 echo $_COOKIE['myCookie']; ?>共享session
<?php //set.php文件中写下如下代码 //开启session session_start(); //设置session $_SESSION['mySession'] = "设置一个session"; //用cookie把当前域名下的session放到cookie中去 setcookie("liveSession",session_id(),time()+604800,"/","localhost.com"); ?> <?php //get.php文件中写下如下代码 //获取储存在cookie里面的liveSEssion session_id($_COOKIE['liveSession']); //开启session session_start(); //获取在b.php文件中设置的mySession echo $_SESSION['mySession']; ?>设置跨二级域名的cookie和session很简单,两个文件我打包放在下面,大家可以自行参考
关于本地设置二级域名的话,可以去 C:WindowsSystem32driversetc下用管理员权限打开记事本的打开hosts添加一下代码
127.0.0.1 www.localhost.com 127.0.0.1 search.localhost.com 127.0.0.1 account.localhost.com ..........记住一定要是管理员权限!!
下载地址:
0条评论登录后可见