下载帝国网站管理系统5.0正式版
 帝国论坛帝国网站管理系统交流区帝国CMS使用交流[原创]自己动手,修改源文件实现判断用户是否登录来决定显示某一部分内容
帝国备份王2008版发布
帝国CMS模板下载中心
测试:生成20万数据共用107分钟
《帝国下载系统》全面免费
帝国域名交易网
1G双线帝国空间+200M数据库=158
站长工具 - dotool.cn
广告联系QQ:627174919
 1/2     1 2 ›› ›|
主题:[原创]自己动手,修改源文件实现判断用户是否登录来决定显示某一部分内容 [加入收藏夹]   

macnie
用户头衔:书生

精华贴   :0
发贴数   :29
经验值   :98
注册时间:2007-09-17
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 1 楼]
[原创]自己动手,修改源文件实现判断用户是否登录来决定显示某一部分内容
兼容4.7
————————————————————
某些情况下,确实需要修改源代码来实现自己理想的效果。比如现在的默认登陆是显示控制面板那些导航的。很不爽。如何在没有登录的时候不显示?如何在登录之后自动显示?如下:
——————————————————————————————
打开 e/class/user.php
找到 登录函数和注册函数,然后再函数里找到:
$set1=esetcookie("mlusername",$username,$logincookie);
        $set2=esetcookie("mluserid",$r[$user_userid],$logincookie);
        $set3=esetcookie("mlgroupid",$r[$user_group],$logincookie);
        $set4=esetcookie("mlrnd",$rnd,$logincookie);
在后面加入:
session_start();
        $_SESSION['userid']=$r[$user_userid];
        $_SESSION['username']=$r[$user_username];
        $_SESSION['usergroup']=$r[$user_group];
——————————————————————————————
打开e/class/user.php
找到退出登录函数,然后找:
$gotourl="../../";
        if(strstr($_SERVER['HTTP_REFERER'],"e/member/iframe"))
        {
                $gotourl=$public_r['newsurl']."e/member/iframe";
        }
在后面加入:
session_start();
        $_SESSION['userid']=false;
        $_SESSION['username']=false;
        $_SESSION['usergroup']=false;
保存就可以了。
————————————————————————————————
使用方法:
任意一个源文件里面,比如控制面板是:e/data/template/cp_1.php.
开始判断:
<?
session_start();
if($_SESSION['userid']){?>
这里加入如果登录显示内容,不登陆则不显示内容
<?}?>
————————————————————————————————
例子:
        <?session_start(); if($_SESSION['userid']){?>
                <ul>
                         <li><a href="/e/member/EditInfo">修改资料</a></li>
                     <li><a href="/e/member/msg">短信息</a></li>
                     <li><a href="/e/member/EditInfo/SetSpace.php">设置店铺</a></li>
                     <li><a href="/e/DoInfo">管理产品信息</a></li>
                     <li><a href="/e/member/fava">产品收藏</a></li>
                     <li><a href="/e/member/my">我的状态</a></li>
                     <li><a href="/e/enews?enews=exit" onclick="return confirm('确认要退出?');">退出</a></li>
                     <li>|->&nbsp;&nbsp;&nbsp;<a href="/e/space/?userid=<? session_start(); echo $_SESSION['userid']?>">预览店铺</span></li>
                    <li><a href="/e/DoInfo/ChangeClass.php?mid=8">发布产品信息</a></li>
                </ul>
<?}?>
——————————————————————————
同理:
取得当前登录的用户id  $tm_userid=$_SESSION['userid'];
取得当前登录的用户名  $tm_username=$_SESSION['username'];
取得当前登录的用户组  $tm_usergroup=$_SESSION['usergroup'];

存在session里面这三个足够用了。实际上只需要一个id就够用了。因为你可以根据它来查询数据库实现无所不能的功能。比如调取当前用户的详细资料,发表过的文章,哪些文章。。举一反三吧自己。我只是提供一种方法,用cookie也可以。总而言之,帝国很强大。无所不能。开发一个阿里巴巴也可以的。

[该贴被修改 2 次,最后修改时间 2007-11-29 16:45:45 ]



2007-11-29 16:34:42 已设置保密 顶部 回复 引用 报告 编辑 删除

bqgvg
用户头衔:举人

精华贴   :0
发贴数   :327
经验值   :900
注册时间:2007-10-23
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 2 楼]

看不懂,不过还是支持




2007-11-29 16:35:54 已设置保密 顶部 回复 引用 报告 编辑 删除

hicode
用户头衔:版主

精华贴   :1
发贴数   :10018
经验值   :21811
注册时间:2007-07-20
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 3 楼]

改用session了,怎么不用帝国自己本身的cookie信息




2007-11-29 16:36:53 已设置保密 顶部 回复 引用 报告 编辑 删除

macnie
用户头衔:书生

精华贴   :0
发贴数   :29
经验值   :98
注册时间:2007-09-17
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 4 楼]

我是觉得session数组用起来方便。我只是给大家提供一种方法,多一种方法多一条路。并不是说非要用我这个。




2007-11-29 16:42:44 已设置保密 顶部 回复 引用 报告 编辑 删除

wm_chief
用户头衔:管理员

精华贴   :21
发贴数   :47766
经验值   :108904
注册时间:2002-10-30
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 5 楼]

嗯,也可以用:
if($_COOKIE['cookie前缀+mluserid'])
{
?>
已登陆
<?
}
else
{
?>
未登陆
<?
}

[该贴被修改 1 次,最后修改时间 2007-11-29 16:46:44 ]


[零基础入门教程] [模板制作教程] [采集使用教程]
2007-11-29 16:46:13 已设置保密 顶部 回复 引用 报告 编辑 删除

macnie
用户头衔:书生

精华贴   :0
发贴数   :29
经验值   :98
注册时间:2007-09-17
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 6 楼]

呵呵。是啊。WC说的是帝国自带的cookie保存机制。都可以的。个人是喜欢session。




2007-11-29 16:50:14 已设置保密 顶部 回复 引用 报告 编辑 删除

rayyang
用户头衔:举人

精华贴   :0
发贴数   :433
经验值   :1308
注册时间:2007-06-30
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 7 楼]

用你这样的方法,如下功能如何修改代码?
没登录是显示 免费注册 会员登录 
登录后显示会员中心 退出登录

请指教,谢谢。



行业门户:www.safetyemc.cn

2007-11-30 12:58:08 已设置保密 顶部 回复 引用 报告 编辑 删除

cnxgb
用户头衔:书生

精华贴   :0
发贴数   :7
经验值   :34
注册时间:2007-02-10
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 8 楼]

好东西啊




2008-03-26 05:05:47 已设置保密 顶部 回复 引用 报告 编辑 删除

luring
用户头衔:进士

精华贴   :1
发贴数   :1698
经验值   :4431
注册时间:2007-02-12
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》基础教程下载】   [第 9 楼]

收藏.
正需要



不断学习 QQ群:5834465
订模板QQ:一二一三七七九二四
稀饭
女生宿舍,男人都爱看
2008-03-26 09:10:17 已设置保密 顶部 回复 引用 报告 编辑 删除

qwea123
用户头衔:进士

精华贴   :0
发贴数   :1469
经验值   :3601
注册时间:2007-06-03
信息 搜索 好友 发送悄悄话 《帝国网站管理系统》零基础实例入门教程】   [第 10 楼]

原帖由 wm_chief 于 2007-11-29 16:46:13 发表
嗯,也可以用:
if($_COOKIE['cookie前缀+mluserid'])
{
?>
已登陆
<?
}
else
{
?>
未登陆
<?
}



具体怎么改啊wc~如何使用.



帝国是我家,支持帝国就用帝国做好每个站.别做垃圾站.
2008-06-28 15:55:18 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/2     1 2 ›› ›|


快速回复
内容

使用EBB代码
使用smile代码
显示签名
自动分析url
自动分析img
表情                   
                
    (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1