本文实例讲述了PHP cookie,session的使用与用户自动登录功能实现方法。分享给大家供大家参考,具体如下:
cookie的使用
//生成cookie //注释:setcookie() 函数必须位于 <html> 标签之前。 //setcookie(name, value, expire, path, domain); //名称,值,过期时间,有效路径,有效域名 //path,可选;如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 cookie 将在 test 目录下及其所有子目录下有效。默认的路径值是 cookie 所处的当前目录。 //domain,可选;为了让 cookie 在 example.com 的所有子域名中有效,您需要把 cookie 的域名设置为 ".example.com"。当您把 cookie 的域名设置为 www.example.com 时,cookie 仅在 www 子域名中有效。默认当前域名。 setcookie("user", "Alex Porter", time()+3600); setcookie("userid", "1000569852", time()+3600); //获取 var_dump($_COOKIE); // isset() 函数来确认是否已设置了 cookie: if (isset($_COOKIE["user"])){ echo "Welcome " . $_COOKIE["user"] . "!<br />"; } else{ echo "Welcome guest!<br />"; } //当删除 cookie 时,您应当使过期日期变更为过去的时间点。 setcookie("user", "", time()-3600);
session的使用
//session特定:可供应用程序中的所有页面使用;会话信息是临时的,在用户离开网站后将被删除。 // 虚拟主机用户。 设置一个存放目录,需要可读写权限 $savePath = getcwd().'/session_save_dir/'; //echo $savePath; session_save_path($savePath);//session_start 开启前。 session_id('phpjianlong'); // session_start() 函数之前调用 session_id();命名方式同变量 session_start(); //存储和取值 $_SESSION['views']=123456789; $_SESSION['name']='php建龙'; $_SESSION['array']=array('a','b','c','d'); echo "Pageviews=". $_SESSION['views']; var_dump($_SESSION); //判断是否存在 if(isset($_SESSION['views'])){ $_SESSION['views']=$_SESSION['views']+1; } else{ $_SESSION['views']=1; //不存在赋值 } echo "Views=". $_SESSION['views']; //session的删除 unset($_SESSION['name']); var_dump($_SESSION); //注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。 session_destroy(); //不带参数 session_start(); //再次开启session是,重新初始化$_SESSION数组; var_dump($_SESSION); //获取/设置 当前会话 ID。;浏览器会自动生成名为PHPSESSID的cookie echo session_id(); session_id('phpjianlong'); // session_start() 函数之前调用 session_id();命名方式同变量
session和cookie的区别:
1、session在服务器,cookie存储在浏览器
2、session可以存储数组,cookie value只能是字符串