首页  »  站长资讯  »  网站优化

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

2023/03/11 12:13     老李收录网     已浏览286次

使用官方的登陆方法:

网页显示登陆状态方法 
============================= 
网页首先需要调用默认的 
可将此JS写入你的JS文件中 
其中 
_loginform是网页中显示登陆信息的表格的id 
/member/loginsta.php是登陆信息的页面 你可以修改这个页面,只调用你想要的信息. 
在网页中加入以上JS以后 
只需要再在网页中加入

 

  1. 会员登陆
  2. 用户名:
  3. 密码:
  4. 验证码:
  5. gdcode
  6. 注册帐号
  • 出现以下问题:

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

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

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

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

     

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


    在member目录里建立两个文件:

    toplogin.php

    代码如下:

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

    //未登录显示的head
    if(!$cfg_ml->IsLogin()) {
     
     echo "登陆注册";

    }
    //登录后显示的head
    else {
    echo "尊敬的$cfg_ml->M_UserName,欢迎光临 控制面板 | 退出";
    }
    ?>

     

    toplogin_do.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='

    ';
            $(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';
        return;
    }

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

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

    ← 上一篇 dedecms广告管理JS调用代码不更新
    下一篇 → dedecms 问答模块时间显示