请看效果图

我用的是cookie的方法,请先打开discuz的文件

\source\function\function_member.php

找到函数function setloginstatus()

把以下的代码

  1. dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);
  2. dsetcookie('loginuser');

变为:

  1. dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);
  2. dsetcookie('loginuser',$_G['username']);

在首页我们可以这里做:


{if $_COOKIE['fgiC_2132_auth']}  <li  class="header_link" style="margin-left: 10px;"><span style="padding-left: 16px;margin-top: 5px;height:25px;width: 20px;background: url(statics/images/my2400/user_online.gif) no-repeat;background-position: 0px 2px;"></span><a href="{siteurl()}bbs/home.php?mod=space" target="_blank">欢迎,{$_COOKIE['fgiC_2132_loginuser']}</a>  </li>  <li  class="header_link"><span class="pipe" style="margin-left: 5px;margin-right: 5px;">|</span><a href="{siteurl()}bbs/member.php?mod=logging&action=logoff">退出</a></li>  {else}  <li class="reg_ico"></li>  <li class="header_link"><a href="{siteurl()}bbs/member.php?mod=register">注册</a></li>  <li class="login_ico"></li>  <li class="header_link"><a href="{siteurl()}bbs/member.php?mod=logging&action=login">登录</a></li>  {/if}

  

注意这里的cookie

  1. {if $_COOKIE['fgiC_2132_auth']}

就是上面的

dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);

我们这里判断如果存在这个值就显示出登录的用户名相关的信息,没有的话就显示出登录界面

  1. {$_COOKIE['fgiC_2132_loginuser']

代表的是用户名,就是上面的

  1. dsetcookie('loginuser',$_G['username']);

到这里,我们基本就完成了,但是退出怎么做呢?打开文件source\class\class_member.php找到函数function on_logout()系统默认的就是这个用户退出函数,但是请看这个函数中有一个判断语句

  1. if($_GET['formhash'] != $_G['formhash']) {
  2. showmessage('logout_succeed', dreferer(), array('formhash' => FORMHASH, 'ucsynlogout' => $ucsynlogout));
  3. }

而我们一会要做的连接中是没有formhash这个值的,所以我们要新写一个退出函数如下:

//add by jiang in order to logut in the home page  function on_logoff(){  global $_G;  $ucsynlogout = $this->setting['allowsynlogin'] ? uc_user_synlogout() : '';  clearcookies();  $_G['groupid'] = $_G['member']['groupid'] = 7;  $_G['uid'] = $_G['member']['uid'] = 0;  $_G['username'] = $_G['member']['username'] = $_G['member']['password'] = '';  $_G['setting']['styleid'] = $this->setting['styleid'];  showmessage('logout_succeed', dreferer(), array('formhash' => FORMHASH, 'ucsynlogout' => $ucsynlogout));  }

  

对比一下我们就可以知道,新写的退出函数只是少了上面的判断语句而以我们在phpcms做的首页中加入退出按钮:


  1. <a href="{siteurl()}bbs/member.php?mod=logging&action=logoff">退出</a>

那么到这里是否完成了呢?我们回到首页来点击一下会发现提示没有定义操作logoff解决的方法是:文件source\module\member\member_logging.php找到

  1. if(!in_array($_GET['action'], array('login', 'logout','logoff'))) {
  2. showmessage('undefined_action');
  3. }

在array那里就新增加的logoff,这时再去点就没有提示了

so

done!

转自:http://blog.csdn.net/tiangsu_php/article/details/7668504

转载于:https://www.cnblogs.com/xiaomifeng/p/8011939.html

phpcms首页如加上用户登录的信息?相关推荐

  1. crm首页功能和用户登录

    目录 首页功能 用户登录 首页功能 流程图 整体思路:输入url,跳转发送请求到IndexController,在indexController请求转发到跳转到index.jsp页面.index.js ...

  2. 基于angular2实现用户登录并信息持久化的一些理解(二)

    (接上篇) 上面我已经定好了目标及方案,下面我来简单实现一下后端接口及前端调用.(由于精力有限,这里不关注怎么去实现整个过程,仅描述一些本人实现过程中会遇到的问题及解决方案) Nodejs实现简单后台 ...

  3. 脚本实现用户登录显示信息

    我们在这里用脚本加组策略来实现. 我们对整个域里的所有用户做策略. 在这里要注意要把脚本复制到这个LOGON目录下. 下面是我脚本的内容,主要用到的就是MSGBOX语句. 刷新组策略. 登录客户端,显 ...

  4. 正则表达式 常规的一些用户登录验证信息

    1.用户名.2.密码强度.3.整数.4.数字.5.电子邮件地址(Email).6.手机号码.7.身份证号.8.URL地址. 9.IPv4地址. 10.十六进制颜色. 11.日期.12. QQ号码.13 ...

  5. 数据库中用户登录注册用户信息表怎么设计如何设计

    用户登录 站内登录:用户信息+密码的验证形式: 用户名+密码, 手机+密码, 站外授权:第三方登录, 其实它也是用户信息+密码的形式, 用户信息即第三方系统中的ID(第三方登录一定会给一个在他们系统中 ...

  6. JavaWeb中使用session保持用户登录状态

    使用session保持用户登录状态 // 登录 成功// 保存用户登录的信息到Session域中req.getSession().setAttribute("user", logi ...

  7. SSM框架之酒店管理系统十四(C端完善前台用户登录、计算日期之间的天数、房间预订)

    SSM框架之酒店管理系统十四(C端完善前台用户登录.计算日期之间的天数.房间预订) 当用户点击预定的时候,判断是否有登录的session 1.修改用户登录时保存的sessuin中的key 如果不修改的 ...

  8. 实现Web上的用户登录功能

    https://coolshell.cn/articles/5353.html Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做 ...

  9. Web上的用户登录功能安全

    转载自:http://www.daimami.com/web/217218.htm 你会做Web上的用户登录功能吗? Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后, ...

最新文章

  1. python爬虫进阶案例_Python爬虫进阶必备 | MD5 hash 案例解析讲解
  2. 支付宝AI摘下视觉竞赛世界冠军,能精准区分同种类物体的细微差别
  3. 罗念梓(帮别人名字作诗)
  4. 【转】函数调用时堆栈变化
  5. kotlin半生对象_如何在Kotlin中使用Actor实现对象池
  6. MySql的存储过程和触发器
  7. Python第十六课(模块3)
  8. 计算机网络知识汇总(超详细整理)
  9. AD原理图 PCB设计步骤
  10. 谷歌 kaptcha 图片验证码使用教程
  11. linux live cd哪个好,最佳的 Linux LiveCD
  12. Excel文件处理-Python之openpyxl
  13. ITPUB SQL大赛之BUG(二)
  14. scikit-learn广义线性模型之最小二乘法
  15. Application.DoEvent使用
  16. 在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字
  17. HTML5吃豆豆游戏开发实战(三)2d碰撞检测、重构
  18. 电子元件在电路的作用
  19. 【SealDEV 倾情奉献】Android APK 安装过程详解
  20. HK1box硬改天线

热门文章

  1. 删除链表的倒数第 N 个节点
  2. ant ftp get nullpointerException
  3. 水桶平分 java_关于java:桶排序算法代码问题
  4. 了解计算机中的信息编码教案,《信息编码》教学设计
  5. ES5和ES6类的知识
  6. python写一个app接收摄像头传输的视频_如何使用Python中的tcp套接字发送和接收网络摄像头流?...
  7. 美国服务器远程卡,RAKsmart Windows美国服务器远程连接VNC方法
  8. html设置nav标签高度,html – Bootstrap带导航栏的100%高度
  9. 加拿大28历史开奖鸿蒙,本内特入选加拿大男篮集训名单,史上最水状元秀如今在何处?...
  10. 运算放大器基本公式_跨阻放大器稳定性