首页 > 建站教程 > CMS教程 > dedecms >  利用AJAX来动态判断织梦会员是否登录正文

利用AJAX来动态判断织梦会员是否登录

Dedecms默认模板内容页评论处有个不足的地方,就是用户登录之后还会出现那个提示用户登录的框子,本文通过AJAX来判断用户是否登录,从其中提取用户登录信息,JS代码如下,将其插入到<head></head>之间。

JS代码: 


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

即加上<span id="_userboxform">,用于判断用户是否已经登录。

下面我们来写一个PHP文件,用户传送数据,将其保存为/member/userboxsta.php,其代码如下:
<?php
header("Pragma:no-cache ");
header("Cache-Control:no-cache ");
header("Expires:0 ");
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?>],现在你可以直接发布留言