• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    dedecms 会员登陆后不显示登陆状态的解决方法(AJAX 弹出式登陆框)
    POST TIME:2021-05-24 03:02

    使用官方的登陆方法:

    网页显示登陆状态方法 
    ============================= 
    网页首先需要调用默认的<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以后 
    只需要再在网页中加入

     

    1. <span id="_loginform">
    2. <div class="rlist">
    3. <form name='form1' method='POST' action='{dede:field name='memberurl'/}/index_do.php'>
    4. <input type="hidden" name="fmdo" value="login">
    5. <input type="hidden" name="dopost" value="login">
    6. <input type="hidden" name="gourl" value="">
    7. <div class="title">会员登陆</div>
    8. <div class="rbox userlogin">
    9. <dl>
    10. <dt>用户名:</dt>
    11. <dd><input name="userid" class="username" type="text" maxlength="20" /></dd>
    12. </dl>
    13. <dl>
    14. <dt>密码:</dt>
    15. <dd><input name="pwd" class="password" type="password" maxlength="20" /></dd>
    16. </dl>
    17. <dl>
    18. <dt>验证码:</dt>
    19. <dd>
    20. <input name="vdcode" class="gdcode" type="text" size="4" maxlength="4" />
    21. <img src="{dede:global name='cfg_cmspath'/}/include/validateimg.php" alt="gdcode" />
    22. </dd>
    23. </dl>
    24. <div class="ulsubmit">
    25. <input type="submit" value="登陆" class="submit" />
    26. <a href="{dede:field name='memberurl'/}/index_do.php?fmdo=user&dopost=regnew">注册帐号</a>
    27. </div>
    28. </div>
    29. </form>
    30. </div>
    31. </span>
    32. <script language="JavaScript">CheckLogin();</script>

    出现以下问题:

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

    2、注册一个会员后,登录,提示登录成功,5秒后跳转到会员中心,还是没登陆的样子,直接进入会员中心,显示已经登录上了,看来是程序的问题?

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

    1.在模板页</head>上加入以下代码:
    <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

     

     

    OK,搞定!

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!