分享好友 百科首页 百科分类 切换频道

destoon如何使用cookie来判断用户是否登录?

2020-03-05 09:101560

 第一部分是Destoon 的登录过程

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

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

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


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

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

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

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

如果说用js来判断是否登录,可以通过cookie来取得相应的值是否为空
在这里说明一下cookie是有前缀的,所以推荐使用系统带的取得cookie的函数 get_cookie


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

show_task('{$destoon_task}');

经过编译后会转化成

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

</script>


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

举报
收藏 0
打赏 0
前端配置Nginx,刷完这篇就够了
什么是NginxNginx是一个开源的高性能HTTP和反向代理服务器。它可以用于处理静态资源、负载均衡、反向代理和缓存等任务。Nginx被广泛用于构建高可用性、高性能的Web应用程序和网站。它具有低内存消耗、高并发能力和良

0评论2023-11-13100

destoon会员商铺首页新闻分类tag切换调用方法
destoon会员商铺新闻分类切换调用如下:div class=cdx_newsdiv class=hdul !--{php $tags=tag(table=typecondition=item='news-.$userid.'pagesize=5order=listorder asc,typeid desctemplate=null);}--{loo

0评论2022-05-31196

destoon去掉图集默认无图图标
怎样去除图集中默认的无图图片呢,非常简单,打开include/module.func.php,第244行while($i++5) {改成while($i++0) {即可。

0评论2021-06-21413

destoon产品总数,求购总数,供应总数的标注显示
destoon当前产品总数,当前求购总数,当前供应总数的标注显示方法第一步:在include/global.func.php建立table_counts函数//$table 表明 例如:供应表sell 求购表buy 新闻表:article_21//$where 条件 例如:st

0评论2020-11-09376

destoon在内容页/列表页如何调用当前所在的分类名称
很多小伙伴问,如何在destoon在内容页/列表页如何调用当前所在的分类名称及链接呢?今天我们来简单分享受一下:a href={$MOD[linkurl]}{$CAT[linkurl]}{$CAT[catname]}/a

0评论2020-11-05636

destoon调用会员商铺二级分类
下面以destoon7.0商铺产品分类做示例:!--{php$tags=tag(table=typecondition=item='product-.$userid.'pagesize=8order=listorderasc,typeiddesctemplate=null);}--{loop$tags$i$t}{if$i7}liahref={userurl

0评论2020-09-30461

destoon商铺调用标题文字长度
destoon商铺在调用产品标题的时候很多时候会调用到标题,但是标题有长有短,为了布局好看,通常都要统一标题进行设置!用CSS有时候不好控制,所以我们只好在调用标题的时候,直接固定写死,想调用几个字就几个字,调

0评论2020-07-31330

destoon产品调用大图中图,destoon
调用产品图片默认是缩略图,如果需要大图{str_replace('.thumb.'.file_ext($t[thumb]), '',$t[thumb])},中图{str_replace('.thumb.', '.middle.',$t[thumb])}。

0评论2020-07-06713

destoon系统升级指南
Destoon B2B网站管理系统是一套完善的B2B(电子商务)行业门户解决方案。系统基于PHP+MySQL开发,采用B/S架构,模板与程序分离,源码开放。模型化的开发思路,可扩展或删除任何功能;创新的缓存技术与数据库设计,可

0评论2020-06-28448

destoon如何在首页调用会员商铺图片和内容
我们很多时候在用destoon编辑网站时,很多情况下都需要调用会员商铺的内容到首页,这样才能客观的宣传网站的情况!而这时候我们就需要调用,话不多说,下边就是小编亲测的效果会员名称调用如下:!--{php $tags=tag(mo

0评论2020-06-28458