|
关键字描述:是否 登录 用户 判断 " < > class name
Dedecms默认模板内容页评论处有个不足的地方,就是用户登录之后还会出现那个提示用户登录的框子,天涯这里给出了以下解决方案,如果喜欢的朋友可以拿去。
首先我们给内容页模板写上一段JS脚本代码,通过AJAX来判断用户是否登录,从其中提取用户登录信息,JS代码如下,将其插入到<head></head>之间。
JS代码:
Copy code
- <script language="javascript" src="{dede:global name='cfg_cmspath'/}/include/dedeajax2.js"></script>
- <script language="javascript">
- function CheckUser(){
- var taget_obj = document.getElementById('_userboxform');
- myajax = new DedeAjax(taget_obj,false,false,"","","");
- myajax.SendGet2("{dede:global name="cfg_memberurl"/}/userboxsta.php");
- DedeXHTTP = null;
- }
- </script>
复制代码
然后我们修改下内容页部分的代码
找到:
- <div class="userbox">
- <dl>
- <dd class="mtop">
- <strong>用户名:</strong><input name="username" class="username" type="text" maxlength="20" />
- <strong>密码:</strong><input name="pwd" class="password" type="password" maxlength="20" />
- </dd>
- 将其修改为
- <div class="userbox">
- <dl>
- <dd class="mtop">
- <span id="_userboxform">
- <strong>用户名:</strong><input name="username" class="username" type="text" maxlength="20" />
- <strong>密码:</strong><input name="pwd" class="password" type="password" maxlength="20" />
- </span>
- </dd>
复制代码
即加上
,用于判断用户是否已经登录。
下面我们来写一个PHP文件,用户传送数据,将其保存为/member/userboxsta.php,其代码如下:
Copy code
- <?php
- header("Pragma:no-cache\r\n");
- header("Cache-Control:no-cache\r\n");
- header("Expires:0\r\n");
- header("Content-Type: text/html; charset=gb2312");
- //系统设置为维护状态可访问
- $cfg_IsCanView = true;
- require_once(dirname(__FILE__)."/../include/inc_memberlogin.php");
- $cfg_ml = new MemberLogin();
- if(empty($cfg_ml->M_ID)){ echo ""; exit(); }
- $uid = $cfg_ml->M_LoginID;
- ?>
- <strong>欢迎您</strong>[<?php echo $cfg_ml->M_UserName?>],现在你可以直接发布留言
复制代码
这样,重新更新下HTML,然后登录用户看看,是不是那个小bug解决了啊。
引申:Dedecms很多东西可以拿来借用,这个BUG修复方法其实使用的是用户登录样例,大家可以更深入研究Dedecms,其乐无穷。
|
|