源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

asp简单的ajax留言板(采用三层模式)

  • 时间:2021-04-02 06:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:asp简单的ajax留言板(采用三层模式)
好久没有写过asp了,这回写个留言板还真觉得有点难度,竞然写了整整一天,哈哈. 就只有留言其它的都什么也没写,采用三层结构(不知道算不算,本来对三层的概念很糊涂) 演示[url=http://www.zj55.com/]www.zj55.com[/url]的留言板,希望各位大哥大姐如果发现有漏洞的话请在这里告诉我,千万不要黑我的网站,在这里小弟先谢过了. index.asp <%@ codepage=65001%> <% option explicit %> <% Response.Charset="utf-8"%> <% Session.CodePage=65001 %> <!-- #include file="AccHelper.asp" --> <!-- #include file="Common.asp"--> <!-- #include file="DAL_Guest.asp" --> <!-- #include file="MOD_Guest.asp" --> <!-- #include file="BLL_Guest.asp" --> <%  Dim mybll  Dim myList  Set mybll = new BLL_Guest  Select Case Request("tCMD")   Case "SAVE"    mybll.Insert()   Case "DEL"    mybll.Delete()  End Select  myList = mybll.FindByPage() %> <h2>客户留言</h2> <p> <form name="subForm" id="subForm">  <textarea id="con" name="con" cols="56" rows="6" wrap="VIRTUAL"></textarea>  <input type="button" name="submit" value="提交留言" onclick="$('guest/index.asp?tCMD=SAVE&content='+escape(this.form.con.value))" /> </form> </p> <%=myList%> BLL_Guest.asp <%  '/// <summary>  '/// 摘要说明。  '/// </summary>  Class BLL_Guest   Private mycom,mymod,mydal   Private LI,UL   Private DEL   '获取信息   Public Sub GetGuest()    mydal.GetGuest(Id)   End Sub   '新增信息   Public Sub Insert()    mymod.Content = Request("content")    mymod.re = Request("Re")    mymod.Addtime = Now()    mymod.Ip = request.servervariables("HTTP_X_FORWARDED_FOR")    If len(mymod.Ip)<=0 Then mymod.Ip = request.servervariables("REMOTE_ADDR")    Call mydal.Insert(mymod)   End Sub   '更新信息   Public Sub Update()    Call mydal.Update(mymod)   End Sub   '删除信息   Public Sub Delete()    mydal.Delete(Request("Id"))   End Sub   '查找信息   Public Function FindByPage()    Dim PageSize,CurrentPage,WhereValue,OrderValue,RecordCount    Dim objRS    Dim tmp1,tmp2,tmp3,parms,i    Dim tCMD    tCMD = Request("tCMD")    PageSize = "8"    CurrentPage = Request("PageNo")    If Len(CurrentPage)<=0 Then     CurrentPage=1    End If    WhereValue = ""    OrderValue = "Id"    Set objRS = mydal.FindByPage(PageSize,CurrentPage-1,WhereValue,OrderValue)    i = 1    RecordCount = mydal.Count(WhereValue)    Do While Not objRS.EOF     If tCMD="DEL" Then      DEL = "<a href=""?tCMD=DEL&Id="&objRS("Id")&""">删除</a>"     Else      DEL = ""     End If     parms=Array(i,objRS("content"),objRS("ip"),objRS("addtime"),DEL)     tmp1 = tmp1 & mycom.Format(LI,parms)     objRs.Movenext     i = i + 1    Loop    tmp3 = mycom.Page(PageSize,CurrentPage,RecordCount,"guest/index.asp?tCMD=LIST")    parms=Array(tmp1,tmp3)    tmp2 = tmp2 & mycom.Format(UL,parms)    FindByPage = tmp2   End Function   Private Sub Class_Initialize()    LI = "<li><span>{0}</span> <span>{1}</span><br /><span>作者:{2}</span> <span>{3}</span> <span>{4}</span></li>" & vbCrLf    UL = "<UL>{0}<li>{1}</li></UL>"    DEL = ""    Set mycom = new Common    set mymod = new MOD_Guest    set mydal = new DAL_Guest   End Sub   Private Sub Class_Terminate()    Set mycom = Nothing    Set mymod = Nothing    set mydal = Nothing   End Sub  End Class %> DAL_Guest.asp <%  '/// <summary>  '/// 摘要说明。  '/// </summary>  Class DAL_Guest   Private SQL_01   Private SQL_02   Private SQL_03   Private SQL_04   Private SQL_05   Private SQL_06   Private SQL_07   Private mycom,myacc,mymod   '/// <summary>   '/// 获得信息   '/// </summary>   '/// <param name="Id">判断字段</param>   '/// <returns>信息体</returns>   Public Function GetGuest(Id)    Dim parms,SQL,objRS    parms = Array(Id)    SQL  = mycom.Format(SQL_01,parms)    Set objRS = myacc.ExecuteReader(myacc.CONN_STRING,SQL)    If  Not objRS.EOF then     Call mymod.SetVar(objRs("Id"),objRs("Content"),objRs("Re"),objRs("Addtime"),objRs("Ip"))     Set GetGuest = mymod    Else     GetGuest = Null    End If   End Function   '/// <summary>   '/// 插入信息   '/// </summary>   '/// <param name="">信息体</param>   Public Sub Insert(vmod)    Dim parms,SQL    parms = Array(vmod.Content,vmod.Re,vmod.Addtime,vmod.Ip)    SQL  = mycom.Format(SQL_02,parms)    Call myacc.ExecuteReader(myacc.CONN_STRING,SQL)   End Sub   '/// <summary>   '/// 更新信息   '/// </summary>   '/// <param name="">信息体</param>   Public Sub Update(vmod)    Dim parms,SQL    parms = Array(vmod.Id,vmod.Content,vmod.Re,vmod.Addtime,vmod.Ip)    SQL  = mycom.Format(SQL_03,parms)    Call myacc.ExecuteReader(myacc.CONN_STRING,SQL)   End Sub   '/// <summary>   '/// 删除信息   '/// </summary>   '/// <param name="">信息体</param>   Public Sub Delete(Id)    Dim parms,SQL    parms = Array(Id)    SQL  = mycom.Format(SQL_04,parms)    Call myacc.ExecuteNonQuery(myacc.CONN_STRING,SQL)   End Sub   '/// <summary>   '/// 统计信息   '/// </summary>   '/// <param name="">信息体</param>   Public Function Count(WhereValue)    Dim parms,SQL,objRS    parms = Array(WhereValue)    SQL  = mycom.Format(SQL_07,parms)    Set objRS = myacc.Recordset(myacc.CONN_STRING,SQL)    Count = objRS.RecordCount   End Function   '/// <summary>   '/// 根据条件列出所有信息(带有分页)   '/// </summary>   '/// <param name="PageSize">每页记录数</param>   '/// <param name="CurrentPage">页码</param>   '/// <param name="WhereValue">判断值</param>   '/// <param name="OrderValue">排序</param>   '/// <returns>返回objRS</returns>   Public Function FindByPage(PageSize,CurrentPage,WhereValue,OrderValue)    Dim parms,SQL,objRS    Dim s1    If CurrentPage="0" Then        s1 =  PageSize & "|" + OrderValue & "|" & WhereValue     parms = Split(s1,"|")     SQL = mycom.Format(SQL_05,parms)    Else     s1 = PageSize & "|" & OrderValue & "|" + WhereValue & "|" & CurrentPage*PageSize     parms = Split(s1,"|")     SQL = mycom.Format(SQL_06,parms)    End If    Set objRS = myacc.ExecuteReader(myacc.CONN_STRING,SQL)    Set FindByPage = objRS   End Function   Private Sub Class_Initialize()    SQL_01 = "Select * From [Guest] Where Id = {0}"    SQL_02 = "Insert into [Guest] ([Content],[Re],[Addtime],[Ip]) values('{0}','{1}','{2}','{3}')"    SQL_03 = "Update [Guest] Set [Content]='{1}',[Re]='{2}',[Addtime]='{3}',[Ip]='{4}' Where Id = {0}"    SQL_04 = "Delete From [Guest] Where Id In ({0})"    SQL_05 = "Select Top {0} * From [Guest] Where Content Like '%{2}%' Order By {1} Desc,Id Desc"    SQL_06 = "Select Top {0} * From [Guest] Where Content Like '%{2}%' And Id Not IN(Select Top {3} Id From [Guest] Where Content Like '%{2}%' Order By {1} Desc,Id Desc) Order By {1} Desc,Id Desc"    SQL_07 = "Select * From [Guest] Where Content Like '%{0}%' "    Set mycom = new Common    Set myacc = new AccHelper    Set mymod = new MOD_Guest   End Sub   Private Sub Class_Terminate()    Set mycom = Nothing    Set myacc = Nothing    Set mymod = Nothing   End Sub  End Class %> MOD_Guest.asp <%  '/// <summary>  '/// 摘要说明。  '/// </summary>  Class MOD_Guest   Public Id   Public Content   Public Re   Public Addtime   Public Ip   Public Sub SetVar(vId,vContent,vRe,vAddtime,vIp)    Id=vId    Content=vContent    Re=vContent    Addtime=vAddtime    Ip=vIp   End Sub  End Class %> Common.asp <%  '/// <summary>  '/// 摘要说明  '/// </summary>  Class Common   '/// <summary>   '/// 获得信息   '/// </summary>   '/// <param name="Id">需要内容</param>   '/// <param name="Id">替换关键字</param>   '/// <returns>格式化后内容</returns>   Public Function Format(str,arr)    Dim r,i    r = str       For i = 0 To UBound(arr)     r = Replace(r,"{"&i&"}",arr(i))    Next    Format = r   End Function   Public Function Page(PageSize,CurrentPage,RecordCount,PageUrl)    const C_RECORDCOUNT = "合计<STRONG><FONT color=""red"">{0}</FONT></STRONG>篇 |"    const C_FIRSTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">首页</a>"    const C_FIRSTPAGE2 = " 首页"    const C_PREVPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">上一页</a>"    const C_PREVPAGE2 = " 上一页"    const C_NEXTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">下一页</a>"    const C_NEXTPAGE2 = " 下一页"    const C_LASTPAGE1 = " <a href=""#"" onclick=""$('{0}&PageNo={1}')"">尾页</a>"    const C_LASTPAGE2 = " 尾页"    const C_CURRENTPAGE = " 页次:<STRONG><FONT color=""red"">{0}</FONT>/{1}</STRONG>页"    const C_PAGESIZE = " <STRONG>{0}</STRONG>篇/页  "    const C_GOTOPAGE = " 跳转:<input type=""text"" name=""goto"" value=""{1}"" onchange=""$('{0}&PageNo='+this.value)"" style=""width:20px;border:1px""/>  "    Dim PageCount,pages    Dim lRecordCount,lFirstpage,lPrevpage,lNextpage,lLastpage,lCurrentpage,lPagesize,lGotopage    Dim p,parms    If RecordCount Mod PageSize <> 0 Then     pages = 1    else     pages = 0    End If    PageCount=CInt(RecordCount/PageSize + pages)    parms=Array(RecordCount)    lRecordCount = Format(C_RECORDCOUNT,parms)    if CInt(CurrentPage)>1 Then     parms=Array(Pageurl,1)     lFirstpage = Format(C_FIRSTPAGE1,parms)     parms=Array(Pageurl,CInt(CurrentPage)-1)     lPrevpage = Format(C_PREVPAGE1,parms)    Else     lFirstpage=C_FIRSTPAGE2     lPrevpage=C_PREVPAGE2    End If    if CInt(CurrentPage)<PageCount Then     parms=Array(Pageurl,CInt(CurrentPage)+1)     lNextpage = Format(C_NEXTPAGE1,parms)     parms=Array(Pageurl,CInt(CurrentPage)+1)     lLastpage = Format(C_LASTPAGE1,parms)    Else        lNextpage=C_NEXTPAGE2     lLastpage=C_LASTPAGE2    End If    parms=Array(CurrentPage,PageCount)    lCurrentpage = Format(C_CURRENTPAGE,parms)    parms=Array(PageSize)    lPagesize = Format(C_PAGESIZE,parms)    parms=Array(Pageurl,CurrentPage)    lGotopage = Format(C_GOTOPAGE,parms)    p=lRecordCount&lFirstpage&lPrevpage&lNextpage&lLastpage&lCurrentpage&lPagesize&lGotopage    Page = p   End Function  End Class %> AccHelper.asp <%  '/// <summary>  '/// AccHelper 的摘要说明。  '/// </summary>  Class AccHelper   Public CONN_STRING   '/// <summary>   '/// 执行ExecuteNonQuery   '/// </summary>   '/// <param name="connString">连接字符</param>   '/// <param name="cmdText">sql命令</param>   Public Function ExecuteNonQuery(connString,cmdText)    Dim objConn    Set objConn = Server.CreateObject("ADODB.Connection")    objConn.Open connString    objConn.Execute(cmdText)   End Function   '/// <summary>   '/// 执行ExecuteReader   '/// </summary>   '/// <param name="connString">连接字符</param>   '/// <param name="cmdText">sql命令</param>   '/// <returns>RS</returns>   Public Function ExecuteReader(connString,cmdText)    Dim objConn,objRS    Set objConn = Server.CreateObject("ADODB.Connection")    objConn.Open connString    Set objRS = objConn.Execute(cmdText)    Set ExecuteReader = objRS   End Function   '/// <summary>   '/// 执行Recordset   '/// </summary>   '/// <param name="connString">连接字符</param>   '/// <param name="cmdText">sql命令</param>   '/// <returns>RS</returns>   Public Function Recordset(connString,cmdText)    Dim objConn,objRS    Set objConn = Server.CreateObject("ADODB.Connection")    objConn.Open connString    Set objRS = Server.CreateObject("ADODB.RecordSet")    objRS.Open cmdText,objConn,1,3    Set Recordset = objRS   End Function   Private Sub Class_Initialize()    CONN_STRING = "provider = microsoft.jet.oledb.4.0;data source=" & Server.Mappath("db.mdb")   End Sub  End Class %> [b]ajax.js [/b]
[u]复制代码[/u] 代码如下:
var http_request = false; function makeRequest(obj,url) {     http_request = false;     if (window.XMLHttpRequest) { // Mozilla, Safari,...         http_request = new XMLHttpRequest();         if (http_request.overrideMimeType) {             http_request.overrideMimeType('text/xml');         }     } else if (window.ActiveXObject) { // IE         try {             http_request = new ActiveXObject("Msxml2.XMLHTTP");         } catch (e) {             try {             http_request = new ActiveXObject("Microsoft.XMLHTTP");             } catch (e) {}         }     }     if (!http_request) {         alert('Giving up :( Cannot create an XMLHTTP instance');         return false;     }     http_request.onreadystatechange = function()     {         if (http_request.readyState == 4) {             if (http_request.status == 200) {                 updateObj(obj,http_request.responseText);             }             else             {                 updateObj(obj,"");             }         }     }     http_request.open('GET', url, true);     http_request.send(null); } function updateObj(obj,data){     obj.innerHTML = data; } function $(url){     var obj = document.getElementById("content");     obj.style.display='block';     document.getElementById("container").style.margin="10px auto 0px";     obj.innerHTML = "Loading…";     makeRequest(obj,url); }
html调用方法:
[u]复制代码[/u] 代码如下:
<a href="#" onclick="$('news.html')">新闻</a><a href="#" onclick="$('product.html')">产品</a><a href="#" onclick="$('case.html')">案例</a><a href="#" onclick="$('contact.html')">联系</a><a href="http://zj55com.cnblogs.com/" target="_blank">博客</a>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部