dtcms Bug总结
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dtcms Bug总结相关的知识,希望对你有一定的参考价值。
作为以后参考:
-
if (IsContainNode(model.id, model.parent_id))//这个应该一直是false { } /// <summary> /// 验证节点是否被包含 /// </summary> /// <param name="id">待查询的节点</param> /// <param name="parent_id">父节点</param> /// <returns></returns> private bool IsContainNode(int id, int parent_id) { StringBuilder strSql = new StringBuilder(); strSql.Append("select count(1) from " + databaseprefix + "article_category "); strSql.Append(" where class_list like ‘%," + id + ",%‘ and id=" + parent_id);//从父分类所在行找是否包含子的id,但是数据库是子分类包含父id,一个id的class_list是从父到自己的等级,而不是从自己到孩子 //所以这个一直都是false的 return DbHelperSQL.Exists(strSql.ToString()); }
虽然一直为false,不影响程序,多了一段还是很难看,删掉!
解决办法:直接删掉if代码块以及IsContainNode代码块,后面的已经足够了,包括迭代修改子信息
2.登陆成功5次也统计成5次错误,改成这样
//判断登录错误次数,放在最前面,即使没输入用户名或者密码,或者登陆成功,也提示关闭浏览器并且return if (Session["AdminLoginSun"] != null && Convert.ToInt32(Session["AdminLoginSun"]) > 5) { msgtip.Innerhtml = "错误超过5次,关闭浏览器重新登录!"; return; } if (userName.Equals("") || userPwd.Equals("")) { msgtip.InnerHtml = "请输入用户名或密码"; return; } BLL.manager bll = new BLL.manager(); Model.manager model = bll.GetModel(userName, userPwd, true); if (model == null)//登陆错误,统计次数, { if (Session["AdminLoginSun"] == null) { Session["AdminLoginSun"] = 1; } else { Session["AdminLoginSun"] = Convert.ToInt32(Session["AdminLoginSun"]) + 1; } msgtip.InnerHtml = "用户名或密码有误,请重试!"; return; } Session["AdminLoginSun"] = null;//登陆成功,清空错误统计次数 Session[DTKeys.SESSION_ADMIN_INFO] = model; Session.Timeout = 45;
以上是关于dtcms Bug总结的主要内容,如果未能解决你的问题,请参考以下文章