首页 > CMS > 织梦DEDE > 正文

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

2024-07-12 08:48:01
字体:
来源:转载
供稿:网友
这篇文章主要为大家详细介绍了织梦会员登陆后不显示登陆状态的解决方法 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、根本不显示登陆框,且版面错位;

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

代码如下:

<?phprequire_once(dirname(__FILE__)."/config.php");if($s==2)  {  $S = $cfg_ml->ExitCookie();   }//未登录显示的headif(!$cfg_ml->IsLogin()) {  echo "<a href='javascript:show_site_login();'>登陆</a><a href='javascript:go_reg();'>注册</a>";}//登录后显示的headelse {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

代码如下:

<?phprequire_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,搞定!本文转自网络,361源码未经测试,如有错误,请联系小编处理。

以上就是织梦会员登陆后不显示登陆状态的解决方法 AJAX 弹出式登陆框的全部内容,希望对大家的学习和解决疑问有所帮助,也希望大家多多支持武林网。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表