广告投放

dedecms 会员登陆后不显示登陆状态的解决方法(AJAX 弹出式登陆框)

使用官方的登陆方法

网页显示登陆状态方法 


网页首先需要调用默认的<script language="javascript" src="/include/dedeajax2.js><script> 
然后网页里head部分加入 

<script language="javascript" type="text/javascript"> 
function CheckLogin(){ 
var taget_obj = document.getElementById('_loginform'); 
myajax = new DedeAjax(taget_obj,false,false,"","",""); 
myajax.SendGet("/member/loginsta.php"); 
} 
</script> 

可将此JS写入你的JS文件中 

其中

_loginform是网页中显示登陆信息的表格的id 
/member/loginsta.php是登陆信息的页面 你可以修改这个页面,只调用你想要的信息. 

在网页中加入以上JS以后 

再在网页中加入

<span id="_loginform">
<div class="rlist">
<form name='form1' method='POST' action='{dede:field name='memberurl'/}/index_do.php'>
<input type="hidden" name="fmdo" value="login">
<input type="hidden" name="dopost" value="login">
<input type="hidden" name="gourl" value="">
<div class="title">会员登陆</div>
<div class="rbox userlogin">
<dl>
<dt>用户名:</dt>
<dd><input name="userid" class="username" type="text" maxlength="20" /></dd>
</dl>
<dl>
<dt>密码:</dt>
<dd><input name="pwd" class="password" type="password" maxlength="20" /></dd>
</dl>
<dl>
<dt>验证码:</dt>
<dd>
<input name="vdcode" class="gdcode" type="text" size="4" maxlength="4" />
<img src="{dede:global name='cfg_cmspath'/}/include/validateimg.php" alt="gdcode" />
</dd>
</dl>
<div class="ulsubmit">
<input type="submit" value="登陆" class="submit" />
<a href="{dede:field name='memberurl'/}/index_do.php?fmdo=user&dopost=regnew">注册帐号</a>
</div>
</div>
</form>
</div>
</span>
<script language="JavaScript">CheckLogin();</script>

出现以下问题:

1、根本不显示登陆框,且版面错位;

经过修改后仍无法解决,于是采用以下方法:

经过修改后仍无法解决,于是采用以下方法:

1>在模板页上加入以下代码:

<link href="/style/window.css" rel="stylesheet" type="text/css" />
<script src="/style/js/jquery.js" type="text/javascript"></script>

2>在页面中需要AJAX登录的地方加入如下代码:

<font id="sp_login"></font>

<div class="window" style="width: 300px; top: 200px; position: absolute; display: none; z-index: 10000;" id="div_site_login">
    <a class="close" href="javascript:close_site_login();"><img src="/style/images/icon_close.gif"></a>
    <h6>用户登陆</h6>
    <div class="wdmain">
        <div class="tipsbox" style="display: none;"></div>
        <p class="loginp">用户名:<input class="winpA" type="text">&nbsp;</p>
        <p class="loginp">密&nbsp;&nbsp;码:<input class="winpA" type="password">&nbsp;</p>
        <p class="loginbtn"><a href="javascript:go_reg()"><img src="/style/images/btn_reg_s.gif" width="85" border="0" height="28"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:login_site()"><img src="/style/images/btn_login_s.gif" width="85" border="0" height="28"></a></p>
    </div>
</div>
<script src="/style/js/head.js" type="text/javascript"></script>

member目录里建立两个文件

toplogin.php

代码如下:

<?php
require_once(dirname(__FILE__)."/config.php");
if($s==2)
  {
  $S = $cfg_ml->ExitCookie(); 
  }

//未登录显示的head
if(!$cfg_ml->IsLogin()) {
 
 echo "<a href='javascript:show_site_login();'>登陆</a><a href='javascript:go_reg();'>注册</a>";

}
//登录后显示的head
else {
echo "<span class='user'>尊敬的<a href='$myurl' target='_blank'>$cfg_ml->M_UserName</a>,欢迎光临<font color='#FF0000'></font> <a href='$cfg_memberurl'>控制面板</a> | <a href='javascript:ss_login(2);'>退出</a></span>";
}
?>

toplogin_do.php

代码如下:

<?php
require_once(dirname(__FILE__)."/config.php");
$userid = $_POST['userid'];
$userid = iconv('utf-8', 'gb2312', $userid );
$pwd = $_POST['pwd'];
$pwd = iconv('utf-8', 'gb2312', $pwd );
/*********************
function login()
*******************/
$rs = $cfg_ml->CheckUser($userid,$pwd);
  if($rs==0)
  {
    echo '2';
  }
  else if($rs==-1) {
    echo '2';
  }
  else if($rs==-2) {
   echo '';
  }
  else
  {
      echo '';
  }
?>

建立style目录(图片和CSS我省略了),下有JS目录有两个文件

head.js

代码如下:

var s_nv=location.href;
var cur_obj;
if(s_nv.indexOf('news')!=-1)
{
    $('#div_menu a').eq(1).attr('class','menuAon');
    cur_obj=$('#div_menu a').eq(1);
}
else if(s_nv.indexOf('webgame')!=-1)
{
    $('#div_menu a').eq(2).attr('class','menuAon');
    cur_obj=$('#div_menu a').eq(2);
}
else if(s_nv.indexOf('flash')!=-1)
{
    $('#div_menu a').eq(3).attr('class','menuAon');
    cur_obj=$('#div_menu a').eq(3);
}
else
{
    $('#div_menu a').eq(0).attr('class','menuAon');
    cur_obj=$('#div_menu a').eq(0);
}

$('#div_menu a').mouseover(function()
{
    $(this).attr('class','menuAon').siblings().attr('class','menuA');
});

$('#div_menu').mouseout(function()
{
    cur_obj.attr('class','menuAon').siblings().attr('class','menuA');
});

ss_login(1);

function ss_login(t)
{
    $.ajax(
    {
        type: "POST",
        url: '/member/toplogin.php',
        data: 's='+t,
        success: function(result)
        {
            $('#sp_login').html(result);
            close_site_login();
        }
    });
}

function show_center()
{
    if($("#dd_light").length==0)
    {
        var html='<div id=dd_light style="display:none;z-index: 9998;filter: alpha(opacity=70);left: 0px;position: absolute;top: 0px;background-color: #ccc;moz-opacity: 0.8;opacity: .80;"></div>';
        $(document.body).append(html);
        $('#dd_light').css('width',document.body.scrollWidth+'px');
        $('#dd_light').css('height',document.body.scrollHeight+'px');
    }
    $('#dd_light').show();
}

function login_site()
{
    var tip=$('#div_site_login div').eq(1);
    tip.show();
    var username=$('#div_site_login input').eq(0).val();
    var pwd=$('#div_site_login input').eq(1).val();
    if(username=='')
    {
        tip.text('请输入用户名!');
        return;
    }
    if(pwd=='')
    {
        tip.text('请输入密码!');
        return;
    }
    tip.show();
    tip.text('正在验证登录信息...');
    $.ajax(
    {
        type: "POST",
        url: '/member/toplogin_do.php',
        data: 'userid='+username+'&pwd='+pwd,
        success: function(result)
        {
            if(result.indexOf('2')!=-1)
            {
                tip.text('验证失败,请重新输入!');
                return;
            }
            ss_login(1);
        }
    });
}

function show_site_login()
{
    show_center();
    $('#div_site_login').css("left",(($(document).width())/2-(parseInt($('#div_site_login').width())/2))+"px");
    $('#div_site_login').show();
    return;
}

function close_site_login()
{
    $('#dd_light').hide();
    $('#div_site_login').hide();
    $('#div_site_login div').eq(1).hide();
    $('#div_site_login input').eq(0).val('');
    $('#div_site_login input').eq(1).val('');
    $('#div_site_login input').eq(2).val('');
    return;
}

$(function()
{
    $('body').keydown(function(e)
    {
        if(e.keyCode==13)
        {
            if($('#div_login').css('display')!='none'&&$('#div_login').length!=0)
            {
                login();
            }
            else if($('#div_site_login').css('display')!='none')
            {
                login_site();
            }
            else if($('#index_search').val()!='站内搜索'&&$('#index_search').length!=0)
            {
                go_search();
            }
            else if($('#search_news').val()!=''&&$('#search_news').length!=0)
            {
                location='/news/search.php?s='+$('#search_news').val();
            }
            else if($('#s_text').val()!=''&&$('#s_text').length!=0)
            {
                t_search();
            }
        }
    });
});

function go_reg()
{
    location='/member/index_do.php?fmdo=user&dopost=regnew'<!--+location.href-->;
    return;
}

$("#site_gd").jCarouselLite(
{
    vertical:true,
    auto:3000,
    speed:1000,
    visible: 1
});

另一个是jquery本身的文件jquery.js

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
广告位招租919838898
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索