phpcms首页如加上用户登录的信息?
请看效果图
我用的是cookie的方法,请先打开discuz的文件
\source\function\function_member.php
找到函数function setloginstatus()
把以下的代码
- dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);
- dsetcookie('loginuser');
变为:
- dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);
- 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
- {if $_COOKIE['fgiC_2132_auth']}
就是上面的
dsetcookie('auth', authcode("{$member['password']}\t{$member['uid']}", 'ENCODE'), $cookietime, 1, true);
我们这里判断如果存在这个值就显示出登录的用户名相关的信息,没有的话就显示出登录界面
而
- {$_COOKIE['fgiC_2132_loginuser']
代表的是用户名,就是上面的
- dsetcookie('loginuser',$_G['username']);
到这里,我们基本就完成了,但是退出怎么做呢?打开文件source\class\class_member.php找到函数function on_logout()系统默认的就是这个用户退出函数,但是请看这个函数中有一个判断语句
- if($_GET['formhash'] != $_G['formhash']) {
- showmessage('logout_succeed', dreferer(), array('formhash' => FORMHASH, 'ucsynlogout' => $ucsynlogout));
- }
而我们一会要做的连接中是没有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做的首页中加入退出按钮:
- <a href="{siteurl()}bbs/member.php?mod=logging&action=logoff">退出</a>
那么到这里是否完成了呢?我们回到首页来点击一下会发现提示没有定义操作logoff解决的方法是:文件source\module\member\member_logging.php找到
- if(!in_array($_GET['action'], array('login', 'logout','logoff'))) {
- showmessage('undefined_action');
- }
在array那里就新增加的logoff,这时再去点就没有提示了
so
done!
转自:http://blog.csdn.net/tiangsu_php/article/details/7668504
转载于:https://www.cnblogs.com/xiaomifeng/p/8011939.html
phpcms首页如加上用户登录的信息?相关推荐
- crm首页功能和用户登录
目录 首页功能 用户登录 首页功能 流程图 整体思路:输入url,跳转发送请求到IndexController,在indexController请求转发到跳转到index.jsp页面.index.js ...
- 基于angular2实现用户登录并信息持久化的一些理解(二)
(接上篇) 上面我已经定好了目标及方案,下面我来简单实现一下后端接口及前端调用.(由于精力有限,这里不关注怎么去实现整个过程,仅描述一些本人实现过程中会遇到的问题及解决方案) Nodejs实现简单后台 ...
- 脚本实现用户登录显示信息
我们在这里用脚本加组策略来实现. 我们对整个域里的所有用户做策略. 在这里要注意要把脚本复制到这个LOGON目录下. 下面是我脚本的内容,主要用到的就是MSGBOX语句. 刷新组策略. 登录客户端,显 ...
- 正则表达式 常规的一些用户登录验证信息
1.用户名.2.密码强度.3.整数.4.数字.5.电子邮件地址(Email).6.手机号码.7.身份证号.8.URL地址. 9.IPv4地址. 10.十六进制颜色. 11.日期.12. QQ号码.13 ...
- 数据库中用户登录注册用户信息表怎么设计如何设计
用户登录 站内登录:用户信息+密码的验证形式: 用户名+密码, 手机+密码, 站外授权:第三方登录, 其实它也是用户信息+密码的形式, 用户信息即第三方系统中的ID(第三方登录一定会给一个在他们系统中 ...
- JavaWeb中使用session保持用户登录状态
使用session保持用户登录状态 // 登录 成功// 保存用户登录的信息到Session域中req.getSession().setAttribute("user", logi ...
- SSM框架之酒店管理系统十四(C端完善前台用户登录、计算日期之间的天数、房间预订)
SSM框架之酒店管理系统十四(C端完善前台用户登录.计算日期之间的天数.房间预订) 当用户点击预定的时候,判断是否有登录的session 1.修改用户登录时保存的sessuin中的key 如果不修改的 ...
- 实现Web上的用户登录功能
https://coolshell.cn/articles/5353.html Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后,我觉得很有必要写一篇文章教大家怎么来做 ...
- Web上的用户登录功能安全
转载自:http://www.daimami.com/web/217218.htm 你会做Web上的用户登录功能吗? Web上的用户登录功能应该是最基本的功能了,可是在我看过一些站点的用户登录功能后, ...
最新文章
- python爬虫进阶案例_Python爬虫进阶必备 | MD5 hash 案例解析讲解
- 支付宝AI摘下视觉竞赛世界冠军,能精准区分同种类物体的细微差别
- 罗念梓(帮别人名字作诗)
- 【转】函数调用时堆栈变化
- kotlin半生对象_如何在Kotlin中使用Actor实现对象池
- MySql的存储过程和触发器
- Python第十六课(模块3)
- 计算机网络知识汇总(超详细整理)
- AD原理图 PCB设计步骤
- 谷歌 kaptcha 图片验证码使用教程
- linux live cd哪个好,最佳的 Linux LiveCD
- Excel文件处理-Python之openpyxl
- ITPUB SQL大赛之BUG(二)
- scikit-learn广义线性模型之最小二乘法
- Application.DoEvent使用
- 在html图片上方叠加一个半透明颜色层,并在半透明颜色层上叠加文字
- HTML5吃豆豆游戏开发实战(三)2d碰撞检测、重构
- 电子元件在电路的作用
- 【SealDEV 倾情奉献】Android APK 安装过程详解
- HK1box硬改天线
热门文章
- 删除链表的倒数第 N 个节点
- ant ftp get nullpointerException
- 水桶平分 java_关于java:桶排序算法代码问题
- 了解计算机中的信息编码教案,《信息编码》教学设计
- ES5和ES6类的知识
- python写一个app接收摄像头传输的视频_如何使用Python中的tcp套接字发送和接收网络摄像头流?...
- 美国服务器远程卡,RAKsmart Windows美国服务器远程连接VNC方法
- html设置nav标签高度,html – Bootstrap带导航栏的100%高度
- 加拿大28历史开奖鸿蒙,本内特入选加拿大男篮集训名单,史上最水状元秀如今在何处?...
- 运算放大器基本公式_跨阻放大器稳定性