为Pjblog添加Ajax登陆—支持PJblog3

    Ajax登陆样式效果见本站,本站也使用的Ajax登陆样式,这样方便了某些文件需要登陆才能下载。但是以前登陆后会返回首页,给大家带来不少麻烦。
    下面教给大家如何添加Ajax登陆样式!
    需要添加的文件:
      ajax.js ---- 添加到common目录
      btn_close.gif ---- 添加到images目录
      login_key2.gif ---- 添加到images目录
      login_key.gif ---- 添加到images目录
      login_reg.gif ---- 添加到images目录
      login_button.gif ---- 添加到images目录
      ajaxLogin.asp --- 添加到blog根目录
      MyStyles.css --- 添加到blog根目录,要修改弹出框的样式,就修改这个CSS文件。内有注释。
新增了自动更新程序  ajax_update.asp
下载地址(防盗链):
不防盗链:
   修改方法:[分页符]
     在common\common.js最下面添加:
//ajax登陆    
function $(id){    
    return document.getElementById(id);    
}    
  
function AJAXLogin(){    
    var username, pwd, validate;    
    var param;    
    if ($("AJAXLoginUserName").value == ""){    
        $("AJAXMsg").innerHTML = "<br>用户名不能为空哦,请输入!";
        return;    
    }
    if ($("AJAXLoginPassword").value == ""){    
        $("AJAXMsg").innerHTML = "<br>没有密码是不能登陆的哟!";
        return;    
    }
    param = "action=login";    
    param += "&username=" + escape($("AJAXLoginUserName").value);    
    param += "&password=" + escape($("AJAXLoginPassword").value);
    param += "&validate=0000";    
    if ($("AJAXKeepLogin").checked){    
        param += "&KeepLogin=1";    
    }    
    $("AJAXMsg").innerHTML = "<br>登录中,请稍候……";    
    SendRequest("ajaxLogin.asp", param, "POST",    
                function(responseText){    
                    if (responseText == "登录成功"){    
                        $("AJAXMsg").innerHTML = "<br>登录成功,自返回该页面!";    
                        setTimeout("location.reload()", 0000);    
                    }else{    
                        $("AJAXMsg").innerHTML = "<br>登录失败,请检查用户名和密码";    
                    }    
                      
                });    
}    
  
function AJAXLogout(){    
    var param;    
    param = "action=logout";    
    SendRequest("ajaxLogin.asp", param, "POST",    
                function(responseText){    
                    alert("  退出登录成功,自返回该页面!");    
                    setTimeout("location.reload()", 0000);    
                });    
}    

//ajax弹出框登陆    
function $(id){    
    return document.getElementById(id);    
}    
  
function AJAXLogins(){    
    var username, pwd, validate;    
    var param;    
    if ($("AJAXLoginUserNames").value == ""){    
        $("AJAXMsgs").innerHTML = "用户名不能为空哦,请输入!<br>";
        return;    
    }
    if ($("AJAXLoginPasswords").value == ""){    
        $("AJAXMsgs").innerHTML = "没有密码是不能登陆的哟!<br>";
        return;    
    }    
    param = "action=login";    
    param += "&username=" + escape($("AJAXLoginUserNames").value);    
    param += "&password=" + escape($("AJAXLoginPasswords").value);    
    param += "&validate=0000";    
    if ($("AJAXKeepLogins").checked){    
        param += "&KeepLogin=1";    
    }    
    $("AJAXMsgs").innerHTML = "<br>登录中,请稍候……";    
    SendRequest("ajaxLogin.asp", param, "POST",    
                function(responseText){    
                    if (responseText == "登录成功"){    
                        $("AJAXMsgs").innerHTML = "<br>登录成功,自返回该页面!";    
                        setTimeout("location.reload()", 0000);    
                    }else{    
                        $("AJAXMsgs").innerHTML = "<br>登录失败,请检查用户名和密码";    
                    }    
                });    
}    
  
function AJAXLogouts(){    
    var param;    
    param = "action=logout";    
    SendRequest("ajaxLogin.asp", param, "POST",    
                function(responseText){    
                    alert("  退出登录成功,自返回该页面!");    
                    setTimeout("location.reload()", 0000);    
                });    
}    
  
function AJAXShowLogins(){    
    $("AJAXLoginContainers").style.display = "block";    
    $("AJAXLoginUserNames").focus();    
    $("AJAXMsgs").innerHTML = "";    
}    
  
function AJAXCloseLogins(){    
    $("AJAXLoginContainers").style.display = "none";    
}

[分页符]
修改common\library.asp:
找到:
    If memName<>Empty Then
        userPanel = userPanel&"<a href=""member.asp?action=edit"" class=""sideA"" accesskey=""M"">修改个人资料</a><a href=""login.asp?action=logout"" class=""sideA"" accesskey=""Q"">退出系统</a>"
    Else
        userPanel = userPanel&"<a href=""login.asp"" class=""sideA"" accesskey=""L"">登录</a><a href=""register.asp"" class=""sideA"" accesskey=""U"">用户注册</a>"
    End If

替换成:
if memName<>Empty then
  userPanel=userPanel&"<a href=""member.asp?action=edit"" class=""sideA"" accesskey=""M"">修改资料</a><a href=""JavaScript:void(0);"" class=""sideA"" accesskey=""Q"" onclick=""AJAXLogout()"">退出系统</a>"
else
    userPanel=userPanel&"<label><b>用户名︰</b><input type=""text"" id=""AJAXLoginUserName"" class=""userpass"" size=""12""/></label><br/><label><B>密 码︰</B><input type=""password"" id=""AJAXLoginPassword"" class=""userpass"" size=""12""/></label><br/><label><input type=""checkbox"" id=""AJAXKeepLogin"" /><label for=""AJAXKeepLogin"">记住我的登陆信息</label><p/><input type=""image"" src=""images/login_button.gif"" align=""absMiddle"" border=""0""  id=""AJAXLoginBtn""  onclick=""AJAXLogin();""/> <input  type=image src=""images/login_reg.gif"" align=""absMiddle"" border=""0"" onclick=""location.href='"&SiteURL&"/register.asp'""/> <input  type=image src=""images/login_key2.gif"" title=""点我找回密码哦!"" align=""absMiddle"" border=""0"" onclick=""location.href='repass.asp'""/><br><span id=""AJAXMsg"" style=""font-weight:bold;color:#FF0000;""></span>"
end if


修改common\ubbcode.asp:
查找所有:
<a href=""login.asp"">登录</a>

替换成:
<a href=""JavaScript:void(0);"" accesskey=""L"" onclick=""AJAXShowLogins()"">登录</a>

[分页符]
修改header.asp:
在</head>上面添加:
        <script type="text/javascript" src="common/ajax.js"></script>
    <link rel="stylesheet" href="MyStyles.css" type="text/css" media="all" />

查找:
<body onload="initJS()" onkeydown="PressKey()">
<a href="default.asp" accesskey="i"></a>
<a href="javascript:history.go(-1)" accesskey="z"></a>
<%getSkinFlash%>

修改成:
<body onload="initJS()" onkeydown="PressKey()">
<a href="default.asp" accesskey="i"></a>
<a href="javascript:history.go(-1)" accesskey="z"></a>
<div id="AJAXLoginContainers">
<div id="AJAXLogins">
<div id="MsgHead"><span style="font-size:16px">           用户登录</span>          <input type="image" src="images/btn_close.gif" align="absMiddle" border="0" id="AJAXCancelBtns" onclick="AJAXCloseLogins();" title="关闭登录框"/><br></div></br>
<label><b>用户名︰</b><input type="text" id="AJAXLoginUserNames" class="userpass" size="15"/></label><br/>
<label><b>密 码︰</b><input type="password" id="AJAXLoginPasswords" class="userpass" size="15"/></label><br>
<label><input type="checkbox" id="AJAXKeepLogins" />记住我的登录信息</label><br><br>
<label><input type="image" src="images/login_button.gif" align="absMiddle" border="0" id="AJAXLoginBtns"  onclick="AJAXLogins();"/>
<input type="image" src="images/login_reg.gif" align="absMiddle" border="0" onclick="location.href='register.asp'"/>
<input type="image" src="images/login_key.gif" align="absMiddle" border="0" onclick="location.href='repass.asp'" title="忘记密码的,点我找回密码"/></label><br><br>
<span id="AJAXMsgs" style="font-weight:bold;color:#FF0000;"></span>
</div>
</div>
<%getSkinFlash%>

[分页符]
静态修改:
Template/static.htm:
找到:
<script type="text/javascript" src="common/common.js"></script>

在下插入:
<script type="text/javascript" src="common/ajax.js"></script>


完成了
共 5 页: [1] [2] [3] [4] [5] [全文阅读]



评论: 3 | 引用: 0 | 查看次数: 5978
kevin.webjoy.cn
回复回复kevin.webjoy.cn [2008-11-11 17:32:16 | del | 取消审核]
功能不错。

又送一IP。真满足。。。
vian
回复回复vian [2008-08-13 19:01:39 | del | 取消审核]
问题是怎么加入验证码呢?
suki
回复回复suki [2008-07-29 14:25:14 | del | 取消审核]
不错 能提供图标吗

发表评论
昵 称:
密 码:    游客发言不需要密码.
邮 箱:    支持Gravatar头像
网 址:
验证码:    点击输入框
内 容:
您一共可以输入1000个字
选 项:
不想保留信息请删除cookie
发表评论后您发表的内容自动复制到了剪贴板
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭