分享
 
 
 

flash+asp+xml留言本教程

王朝asp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在下载到本地或者上传到空间上之前,请到后台修改参数设置里面的地址,然后进行测试!

如果你的机器或者服务器不支持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 XML();

showXML.ignoreWhite = true;

showXML.load(gbookurl+"show.asp?action=show&show_id=" + go_id + "&temp=" + Math.random() * Number(getTimer()));

showXML.onLoad = function (success)

{

if (success)

{

//如果加载成功

_root.xiaoxikuang.xiaoxi = "正在加载数据,请等待...";

read = showXML.firstChild.childNodes;

Total = read.length;

Page(0);

gotoAndPlay(79);

}

else

{

gotoAndPlay("error");

//如果加载失败

_root.xiaoxikuang.xiaoxi = "无法连接到数据库,请检测网络连接";

} // end if

};// end function

写纪录

function sendData()

{

//把动态文本里的内容传给send_var

send_var.w_name = _root.w_name;

send_var.w_qq = _root.w_qq;

send_var.w_email = _root.w_email;

send_var.w_title = _root.w_title;

send_var.w_content = _root.w_content;

send_var.sendAndLoad(gbookurl+"add.asp?action=add", load_var, "post");

} // End of the function

send_var = new LoadVars();

load_var = new LoadVars();

fabiao.onRelease = sendData;

load_var.onLoad = function ()

{

if (this.addok=="ok")

{

_root.xiaoxikuang.xiaoxi = "留言成功!";

gotoAndPlay("wok");

}

if (this.addok=="n")

{

_root.xiaoxikuang.xiaoxi = "姓名不能为空!";

gotoAndPlay("werror");

}

if (this.addok=="t")

{

_root.xiaoxikuang.xiaoxi = "标题不能为空!";

gotoAndPlay("werror");

}

if (this.addok=="c")

{

_root.xiaoxikuang.xiaoxi = "留言内容不能为空!";

gotoAndPlay("werror");

}

};//end load_var fun

chongzhi.onRelease = function() //重置按钮

{

_root.w_name = "";

_root.w_qq = "";

_root.w_email = "";

_root.w_title = "";

_root.w_content = "";

}

stop();

主要用到的代码就这些,还可以把后台管理功能加在flash里面,但是因为我正在工作,没有时间,所以就做了一个简单的留言本!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有