分享好友 文章首页 文章分类 切换频道

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

2020-03-051610

 第一部分是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
评论 0
destoon去掉图集默认无图图标
怎样去除图集中默认的无图图片呢,非常简单,打开include/module.func.php,第244行while($i++5) {改成while($i++0) {即可。

0评论2021-06-21374

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-30421

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

0评论2020-07-31289

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

0评论2020-06-28439

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

0评论2020-06-28429

destoo模板目录和商铺页面相对应的中文
话不多说,直接上图,本文以destoon高端模板为例 模块名称目录名称备注整理员资讯模块article品牌模块brand求购模块buy片段目录chip用于放扩展文件城市分站city城市分站首页模板商圈模块club公司模块company下载模块

0评论2020-06-09282

destoon调用广告位位下的所有广告代码
destoon模板如何调用独立的广告ID下的所有图片,在网站上无论哪个位置都可以调用!代码如下!--{php$xiaohei=tag(table=adcondition=status=3andpid=25andtotime$DT_TIMEareaid=$cityidpagesize=6order=listorder

0评论2020-06-08550

destoon标签字符串的定义
随着b2b的高速发展,很多购物网站改用更为专业的destoon模板系统,随之而来的也是越来越多的客户群体,但是对于初学者来说,destoon的标签字符串调用规则很多同学难以理解,今天小编特意整理了一下,标签字符串的定

0评论2020-06-08251

destoon商铺中为友情链接增加nofollow标签
在模板管理-公司主页-友情链接修改默认路径为template/default/homepage/link.htm,修改td width=33%a href={$v[linkurl]} target=_blank{$v[title]}/a/td为td width=33%a href={$v[linkurl]} rel=nofollowtarget=_b

0评论2020-05-20181

Destoon添加供应内容时如何过滤手机号?
在我们为供应模板添加供应内容的时候,有时候我们不想把手机号码显示出来,增加不必要的麻烦,下面是我以供应模板为例的修改方法打开要目录文件sell/sell.class.php,找到“function add($post) { ” 字断然后在大概1

0评论2020-05-19227