• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP cookie,session的使用与用户自动登录功能实现方法分析

    本文实例讲述了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只能是字符串
    3、session不能设置有效期,cookie可以设置有效期
    4、session基于cookie判断用户信息,禁用cookie,session受影响不能用。还可以手动通过URL传值、隐藏表单传递Session ID。用文件、数据库等形式保存Session ID,

    URL 形如:http://www.openphp.cn/index.php?PHPSESSID= bba5b2a240a77e5b44cfa01d49cf9669

    用户自动登录的实现

    //方法1: Cookie,在 Cookie 中保存用户名和密码(可能是 md5 加密后字符串),并在每次请求页面的时候进行验证。如果用户名和密码存储在数据库,每次都要执行一次数据库查询,给数据库造成多余的负担。因为客户端 Cookie 中的信息是可能被用户查看和修改。不安全舍弃此方法。
    //方法2:session,用cookie长期保存session id;
    //系统临时文件夹找到这个 Session 文件,一般文件名形如:sess_4c83638b3b0dbf65583181c2f89168ec,后面是 32 位编码后的随机字符串。用编辑器打开它,看一下它的内容:
    //变量名|类型:长度:值;
    //设置 Session 的生存期:
    session_start();
    // 保存5天
    $lifeTime = 5 * 24 * 3600;
    setcookie(session_name(), session_id(), time() + $lifeTime, "/");
    //之后此浏览器在此输入对应网址,服务器获取cookie保存的sessionid;根据sessionid的内容判断,实现自动登录。
    
    

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP中cookie用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》及《php字符串(string)用法总结》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP的cookie与session原理及用法详解
    • PHP实现cookie跨域session共享的方法分析
    • PHP+Apache实现二级域名之间共享cookie的方法
    • PHP CURL中传递cookie的方法步骤
    • php更新cookie内容的详细方法
    上一篇:PHP实现获取url地址中顶级域名的方法示例
    下一篇:PHP实现的62进制转10进制,10进制转62进制函数示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP cookie,session的使用与用户自动登录功能实现方法分析 PHP,cookie,session,的,使用,