分享好友 教程首页 教程搜索 频道列表

DESTOON 的登录过程,如何使用cookie来判断用户是否登录

2017-02-19 17:0317450
+关注29
核心提示:第一部分是destoon 的登录过程登录是使用member-login的函数来实现的login.inc.php...
 第一部分是destoon 的登录过程

登录是使用member->login的函数来实现的login.inc.php

代码在login.inc.php这个文件中

 

  1. if($MOD['passport'] == 'uc'include DT_ROOT.'/api/'.$MOD['passport'].'.inc.php';  
  2. //7 line  
  3. $do = new member;  
  4. //42 line  
  5. $user = $do->login($username$password$cookietime);  

member这个类在member.class.php中定义

 

 

  1.     function login($login_username$login_password$login_cookietime = 0, $admin = false) {  
  2.         global $DT_TIME$DT_IP$MOD$MODULE$L;  
  3. ........................  
  4.         $auth=encrypt($user['userid']."\t".$user['username']."\t".$user['groupid']."\t".$user['password']."\t".$user['admin'], md5(DT_KEY.$DT_IP));  
  5.         set_cookie('auth'$auth$cookietime);  
  6.         set_cookie('userid'$user['userid'], $cookietime);  
  7.         set_cookie('username'$user['username'], $DT_TIME + 86400*365);  
  8.         $this->db->query("UPDATE {$this->table_member} SET loginip='$DT_IP',logintime=$DT_TIME,logintimes=logintimes+1 WHERe userid=$userid");  
  9.         return $user;  
  10.     }  

如果登录成后,那么给用户设置cookie,使用的set_cookie函数是在include/global.func.php中实现

 

 

  1. function set_cookie($var$value = ''$time = 0) {  
  2.     global $CFG$DT_TIME;  
  3.     $time = $time > 0 ? $time : (empty($value) ? $DT_TIME - 3600 : 0);  
  4.     $port = $_SERVER['SERVER_PORT'] == '443' ? 1 : 0;  
  5.     $var = $CFG['cookie_pre'].$var;  
  6.     return setcookie($var$value$time$CFG['cookie_path'], $CFG['cookie_domain'], $port);  
  7. }  

如果说用js来判断是否登录,可以通过cookie来取得相应的值是否为空

 

在这里说明一下cookie是有前缀的,所以推荐使用系统带的取得cookie的函数 get_cookie

 

 

系统中原自带的处理判断用户是否登录是使用的以下函数,在footer.htm中

show_task('{$taomodi_task}');

经过编译后会转化成

<script type="text/Javascript">
show_task('moduleid=1&html=index');

</script>

show_task函数在page.js中实现,有兴趣的话,可以看一下,返回的是一段js代码,js模板在template/chip/line.htm中

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
最新其他更多

关于DESTOON通过ABC字母索引排序调取模块相关分类的方案

    目前用户的需要是越来越多的,现在跟大家聊一聊怎么用字母ABC来调取对应的相关分类,CSS就自己写了哈,这里我们只教怎么写调取标签

小黑 标签调用 12024-01-18

手机版如何添加第三方统计

    手机版统计代码一般添加在手机版的footer模板内,body标签之前,默认位于站点目录/template/default/mobile/footer.htm1、JS格式统计代码大多数第三方统计默认会提供JS统计代码,但是手机版由于开启了动画效果,如果

网络转载 移动端模板制作2023-06-09

在小模板tag/list-sell.htm中{if $_userid}判断不起作用的解决方案

    在小模板tag/list-sell.htm中{if $_userid}判断不起作用的解决方案有两种,2选一都能实现,两种方案,1为网友提供,2为DESTOON官方提供。

小黑 标签调用2023-06-07

destoon8.0及以上版本内容页批量调用所有自定义字段的解决方案

    destoon在内容页批量调用所有自定义字段的方案:以前是在内容模板中一个个的调用,确实有点繁琐,下面的方法就是批量循环出当前频道所有不为空的自定义字段内容。我们在自定义函数api/extend.func.php文件中添加以下函数

小黑 标签调用 22022-11-17

input 不可以输入编辑,但是可以选择的几种方式

    规定输入字段为只读可复制,但是,用户可以使用Tab键切换到该字段,可选择,可以接收焦点,还可以选中或拷贝其文本。

小黑 PC端模板制作2022-09-04

下一篇
我来说两句
抢沙发