当前位置:编程学习 > html/css >>

zblog后台无法登陆 只刷新页面解决办法

  昨晚本来想更新一篇文章,却没想到博客后台管理登陆不上了。首先判断用户名和密码是否正确,由于我用户名密码是用RoboForm工具加密保存的,肯定不会错的。于是之前手动修改了Link.asp等2个链接文件模板后网站出现错误,打不开。替换了一些asp文件和数据库后才解决的。话虽如此再确认一下密码是必要的,在数据库把正确的密码替换后上传后测试还是不行,把数据库放到别的博客可以登录,说明密码没问题。然后百度,谷歌查原因,发现也有不少问zblog无法登陆问题的,也有几个解决办法。比如替换common.js,输入用户名后选择保存一天再输入密码,以及修改SetCookie js函数,我试了都不行。本人也懂一些代码,于是想找找程序处理登陆功能的相关代码,zbolg架构比较细,一层一层还真不容易找,就用Dreamweaver批量查找与用户名相关数据库字段,已经22点过了,比较困了,查找替换弄错了,把相关字段都替换为空了。。。于是就想明天再弄了。

  昨天是想从处理登陆结果数据库操作代码找起的,反着来的。今天从出问题的页面一步一步开始找原因,很快就发现了问题点。点了登陆按钮,页面只是刷新了一下,没有做任何处理。然后看login.asp代码分析找问题。表单的action值没有在form里面直接写上,而是js赋值的。也就是action值没有被赋值就提交了,显然在赋值之前js存在错误导致没有被赋值。经分析发现js里面有几处“;”号没有写。修改调整,测试后可以正常登陆了。今天就把这事件和处理办法写出来,虽然和东革阿里博客主题有点不相关,也希望给以后有同样问题的朋友一些帮助。

  ------------------------以上闲话可以忽略不看------------------------

  问题:zblog无法登陆

  现象:输入正确的用户名密码验证码后点击登陆按钮无任何提示,页面只刷新一下。

  zblog无法登陆,原因有很多,比如数据库连接,密码错误等等,这些是有提示错误原因的。这些原因相信站长自己可以识别或者解决。此方法仅适用上面所述现象的解决。看清楚了哦,问题由来可能是博客安装后由于搬家或备份修复,替换了某些文件导致的。可能是读取cookies出错导致表单action没赋值。

  处理办法:

  1. 找到并用记事本打开根目录login.asp页面

  2. 把下面代码:

  if(GetCookie("username")){document.getElementById("edtUserName").value=unescape(GetCookie("username"))}; document.getElementById("btnPost").onclick=function(){ var strUserName=document.getElementById("edtUserName").value; var strPassWord=document.getElementById("edtPassWord").value; var strSaveDate=document.getElementById("edtSaveDate").value if((strUserName=="")||(strPassWord=="")){ alert(""); return false; } strUserName=escape(strUserName); strPassWord=MD5(strPassWord); SetCookie("username",strUserName,strSaveDate); SetCookie("password",strPassWord,strSaveDate); document.getElementById("frmLogin").action="cmd.asp?act=verify" }

  替换成:

  document.getElementById("btnPost").onclick=function(){ var strUserName=document.getElementById("edtUserName").value; var strPassWord=document.getElementById("edtPassWord").value; var strSaveDate=document.getElementById("edtSaveDate").value; if((strUserName=="")||(strPassWord=="")){ alert(""); return false; } strUserName=escape(strUserName); strPassWord=MD5(strPassWord); SetCookie("username",strUserName,strSaveDate); SetCookie("password",strPassWord,strSaveDate); document.getElementById("frmLogin").action="cmd.asp?act=verify"; } if(GetCookie("username")){document.getElementById("edtUserName").value=unescape(GetCookie("username"));}

  改动的地方是二句代码加了个“;”,如下:

  var strSaveDate=document.getElementById("edtSaveDate").value

  document.getElementById("frmLogin").action="cmd.asp?act=verify"

  移动了一个“;”,语句变成如下:

  if(GetCookie("username")){document.getElementById("edtUserName").value=unescape(GetCookie("username"));}

  以及上面这句代码位置移动改变了一下。

  3. 保存后上传空间,替换原来页面。再测试Ing。。。

  无法登陆的朋友一定要看清楚上面现象,不是所有不能登陆原因都可以解决的!花了我半天以上时间,能帮到大家也值得的。

  修改前代码如下:\

 

  修改后代码如下:

  

\

 

 

  文章原创于东革阿里的博客www.ok365ok.com ,转载请注明出处。O(∩_∩)O~

补充:web前端 , HTML/CSS  ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,