dedecms ajax登录,dedecms 会员登陆后不显示登陆状态的解决方法(AJAX 弹出式登陆...

本文讲述了如何使用AJAX实现网页登录状态的动态更新,包括官方登录方法的整合、自定义登录页面的创建、以及遇到的常见问题及解决方案,涉及前端JS、PHP和jQuery库的配合应用。

使用官方的登陆方法:

网页显示登陆状态方法

=============================

网页首先需要调用默认的

function CheckLogin(){

var taget_obj = document.getElementById('_loginform');

myajax = new DedeAjax(taget_obj,false,false,"","","");

myajax.SendGet("/member/loginsta.php");

}

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

其中

_loginform是网页中显示登陆信息的表格的id

/member/loginsta.php是登陆信息的页面 你可以修改这个页面,只调用你想要的信息.

在网页中加入以上JS以后

只需要再在网页中加入

会员登陆
用户名:
密码:
验证码:

gdcode

出现以下问题:

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

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

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

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

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

    icon_close.gif

用户登陆

用户名: 

密  码: 

btn_reg_s.gif        btn_login_s.gif

在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

OK,搞定!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值