|
在下载到本地或者上传到空间上之前,请到后台修改参数设置里面的地址,然后进行测试!
如果你的机器或者服务器不支持FSO,请手动修改URL.XML文件里面的地址!
ASP主要部分:
page.asp (传给flash第n页的n条纪录) <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% show_page = 9 '每页显示的纪录 db = "data/data.mdb" '数据库存放目录 '-连接数据库 set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath(db) '----------------------------------------------------------------------- '用途:将UTF-8编码汉字转为GB2312码,兼容英文和数字! function encodestr(str) dim i str=trim(str) str=replace(str,"'","""") str=replace(str,vbCrLf&vbCrlf,"</p><p>") encodestr=replace(str,vbCrLf,"<br>") end function '用途:将UTF-8编码汉字转为GB2312码,兼容英文和数字! Function uni(Chinese) For j = 1 to Len (Chinese) a=Mid(Chinese, j, 1) uni= uni & "&#x" & Hex(Ascw(a)) & ";" next End Function %> <% '如果FLASH传过来变量 if request("action")="showpage" then '打开纪录 sql="select * from gbook order by id desc" set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 '---------------分页 开始 if not rs.eof then '如果有记录 rs.PageSize = show_page total=rs.RecordCount '共多少条记录 maxpage=rs.PageCount '共分几页 page=request("page") '当前页 if Not IsNumeric(page) or page="" then page=1 else page=cint(page) end if if page<1 then page=1 elseif page>maxpage then page=maxpage end if rs.AbsolutePage=Page else '如果没记录 total=0 maxpage=0 page=0 out="" wujilu="1" '把wujilu变量传给flash,让flash知道没有记录然后做出相应的动作 '输出xml文件格式 Response.Write "<?xml version='1.0' encoding='utf-8'?>" Response.Write "<gbook total='"&total&"' maxpage='"&maxpage&"' page='"&page&"' wujilu='"&wujilu&"'></gbook>" Session.CodePage="936" end if '---------------分页 结束 '---------------打开 PageSize 条记录 开始 if not rs.eof then '如果有记录 for i=1 to rs.PageSize page_id=rs("id") page_name=uni(rs("name")) if len(rs("title")) >19 then '截取字符 page_title=left(rs("title"),19)&".."'截取字符 else page_title=rs("title") end if page_title=uni(page_title) page_date=rs("date") out=out&"<info page_id='"&page_id&"' page_name='"&page_name&"' page_title='"&page_title&"' page_date='"&page_date&"' />" rs.movenext if rs.EOF then i=i+1 Exit For end if next end if '---------------打开 PageSize 条记录 结束 rs.close set rs=nothing conn.close set conn=nothing'释放资源 '输出分页信息,xml格式 Response.Write "<?xml version='1.0' encoding='utf-8'?>" Response.Write "<gbook total='"&total&"' maxpage='"&maxpage&"' page='"&page&"'>"&out&"</gbook>" Session.CodePage="936" end if %>
show.asp(传给flash单条纪录的信息)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% show_page = 9 '每页显示的纪录 db = "data/data.mdb" '数据库存放目录 set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath(db) '----------------------------------------------------------------------- '用途:将UTF-8编码汉字转为GB2312码,兼容英文和数字! function encodestr(str) dim i str=trim(str) str=replace(str,"'","""") str=replace(str,vbCrLf&vbCrlf,"</p><p>") encodestr=replace(str,vbCrLf,"<br>") end function Function uni(Chinese) For j = 1 to Len (Chinese) a=Mid(Chinese, j, 1) uni= uni & "&#x" & Hex(Ascw(a)) & ";" next End Function '------------------------------------------------------------ %> <% if request("action")="show" then '打开纪录为flash传过来的第show_id条信息 sql="select * from gbook where id="&request("show_id") set rs=server.createobject("adodb.recordset") rs.open sql,conn,1,1 'uni参数,就是把gb编码转换成utf-8编码,要不然flash会乱码 show_name=uni(rs("name")) show_id=uni(rs("id")) show_title=uni(rs("title")) if rs("email")<>"" then show_email=uni(rs("email")) end if if rs("qq")<>"" then show_qq=uni(rs("qq")) end if show_content=uni(rs("content")) show_date=uni(rs("date")) out=out&"<info show_name='"&show_name&"' show_id='"&show_id&"' show_title='"&show_title&"' show_email='"&show_email&"' show_qq='"&show_qq&"' show_content='"&show_content&"' show_date='"&show_date&"' />" rs.close set rs=nothing conn.close set conn=nothing '输出xml格式 Response.Write "<?xml version='1.0' encoding='utf-8'?>" Response.Write "<gbook>"&out&"</gbook>" end if %>
add.asp(flash传给asp增加纪录)
<% show_page = 9 '每页显示的纪录 db = "data/data.mdb" '数据库存放目录 set conn=server.createobject("adodb.connection") conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath(db) '----------------------------------------------------------------------- '用途:将UTF-8编码汉字转为GB2312码,兼容英文和数字! function encodestr(str) dim i str=trim(str) str=replace(str,"'","""") str=replace(str,vbCrLf&vbCrlf,"</p><p>") encodestr=replace(str,vbCrLf,"<br>") end function Function uni(Chinese) For j = 1 to Len (Chinese) a=Mid(Chinese, j, 1) uni= uni & "&#x" & Hex(Ascw(a)) & ";" next End Function '------------------------------------------------------------ %> <% Session.CodePage="65001" if encodestr(request("action"))="add" then'如果flash传过来的变量是add if encodestr(request("w_name"))="" then'如果w_name等于空 cuowu="n" response.write"&addok="+cuowu ' elseif encodestr(request("w_title"))="" then '如果标题空 cuowu="t" response.write"&addok="+cuowu elseif encodestr(request("w_content"))="" then'如果留言内容空 cuowu="c" response.write"&addok="+cuowu end if if cuowu="" then '如果姓名,标题,留言内容不为空 sql="select * from gbook " set rs=server.createobject("adodb.recordset") rs.open sql,conn,3,3 rs.addnew '增加纪录 rs("name")=encodestr(request("w_name")) rs("title")=encodestr(request("w_title")) if encodestr(request("w_email"))="" then rs("email")=null else rs("email")=encodestr(request("w_email")) end if if encodestr(request("w_qq"))="" then rs("qq")=null else rs("qq")=encodestr(request("w_qq")) end if rs("content")=encodestr(request("w_content")) rs("date")=date() rs.update rs.close set rs=nothing conn.close set conn=nothing response.write"&addok=ok" '返回给flash 留言成功 end if end if Session.CodePage="936" %>
FLASH部分:
留言列表
function showPage()//定义函数 { function titlemenu() { gbtitle.attachMovie("title_mc", "title_mc" + i, i);//循环增加MC gbtitle["title_mc" + i]._y = 30 * i;//MC的位置 gbtitle["title_mc" + i].page_id = gb[i].attributes.page_id;//title_mc里面的动态文本显示asp传来的变量 page_id=gb[i].attributes.page_id; gbtitle["title_mc" + i].page_title = gb[i].attributes.page_title; gbtitle["title_mc" + i].page_date = gb[i].attributes.page_date; gbtitle["title_mc" + i].page_name = gb[i].attributes.page_name; i++; if (i >= nTotal)//如果纪录大于每页显示的纪录 { clearInterval(nInterval); } // end if } // End function total= pageXML.firstChild.attributes.total; maxpage = pageXML.firstChild.attributes.maxpage; page = pageXML.firstChild.attributes.page; tPage = "第 " + page + " / " + maxpage + " 页 共 " + total + " 条留言"; gb = pageXML.firstChild.childNodes; nTotal = gb.length;//共几个节点-共几条记录 var nInterval = setInterval(titlemenu, 50);//延迟加载 this.createEmptyMovieClip("gbtitle", 1);//创建空的mc gbtitle._x = 10; gbtitle._y = 70; var i = 0; } // End function stop(); pageXML = new XML();//创建对象 pageXML.ignoreWhite = true;//忽略空格 pageXML.load(gbookurl+"page.asp?action=showpage&page="+page + "&temp=" + Math.random() * Number(getTimer())); pageXML.onLoad = function (success) { if (success)//如果读取成功 { showPage(1); //如果加载成功 //xiaoxi = "正在加载数据,请等待..."; //_root.xiaoxikuang.gotoAndPlay("wu"); //_root.jindutiao.gotoAndPlay("wu"); //gotoAndPlay(76); } else { gotoAndPlay("error"); //如果加载失败 _root.xiaoxikuang.xiaoxi = "无法连接到数据库,请检测网络连接"; } // end if };// end function
读取单条纪录
gbtitle.removeMovieClip();//卸载留言列表 _global.zhen="read"; function Page(index) { //把asp传来的变量传给动态文本 show_id = "ID:"+read[index].attributes.show_id; show_name = "留言者:"+read[index].attributes.show_name; show_title = "标题:"+read[index].attributes.show_title; show_qq = "QQ:"+read[index].attributes.show_qq; show_email = "E-mail:"+read[index].attributes.show_email; show_content = read[index].attributes.show_content; show_date = "发表时间:"+read[index].attributes.show_date; } // End function showXML = new
|