展开全部
我也没弄过,不过刚网上看了下教程,感觉还可以。先给你发份看看,等俺学习好后,写了代码32313133353236313431303231363533e78988e69d8331333236393164,发你邮箱里,正好我会的也是php,咱俩也可以交流交流。
教程↓
基于网页的留言板,我们已经见得很多,一个完整的留言板包括三个部分:
1. 显示留言的页面(显示朋友们给我的留言)
2. 填写留言的页面 (向后台提交信息)
3. 数据库(用于保存后台信息)
关于如何制作基于网页的留言板,不去多作解释,可以参考相关资料。
就目前而言,FLASH是不可以直接操作象ACCESS, SQL, Mysql 等数据库的,他只能依靠ASP ,PHP ,JSP等其他的语言来实现数据的提交和查询。同时,FLASH还可以和XML对接,实现一些数据的操作。
FLASH和ASP的交互:
k b/y } k J"wGuest无论是ASP,PHP还是JSP等其他语言,原理大都一样,本人对ASP熟悉一点,所以以下只讲解FLASH与ASP的对联;51Image个人门户 \$U Y#E V5p O4i$h*g
查看FLASH的帮助文件,可以找到好几种的交互方法,
v(u'd(s4]6x m CGuest本人使用最多的还是:
c B Z9iP5_/~ s l X fGuestloadVariablesNum(url:String, level:Number, [method:String]) : Void
\ W&p {9o P O v'n R iGuestloadVariablesNum(参数1,参数2,参数3),参数1为变量所处位置的绝对或相对 URL,参数2为一个整数,指定 Flash Player 中接收这些变量的级别
7f v u({$z&l FGuest参数3为发送变量的 HTTP 方法,常用的有"get"和"POST",推荐使用"POST"方法。51Image个人门户"j:M m Q j
例1:新建一个flash文件,拖一个可输入的文本框组件,取实例名为name_txt,再拖入一个按钮组件到场景中,取实例名为send_btn,在第一帧上写
_root.send_btn.onRelease=function()
{
if(_root.name_txt.text!="")
{ myname=_root.name_txt.text; loadVariablesNum("write.asp",0,"POST");
}
}那么,测试影片后,在文本框中,输入一个不为空的字符后,点击发送按钮后,输入的内容,将被提交到同一个文件夹中的名为"write.asp"中去!write.asp通过Request.Form("myname")的方法,就可以得到提交过来的数据,这里就简单的实现了 FLASH向ASP提交数据。接下来看看FLASH如何从ASP读数据:
例2:新建一个flash文件,拖一个动态文本框组件到场景中,取实例名为read_txt,在第一帧上写
loadVariablesNum("read.asp",0,"POST");
_root.read_txt.text=myname;
理论上测试后,read_txt文本框会显示read.asp提交过来的myname中的值,但是有时候不能够保持实时性,常常得不到数据,相信也有许多朋友会遇到同样的问题,这里讲两个小技巧。
技巧一:
首先可以在FLASH初一个变量为 active_old=0; 在ASP中Response.Write("active_new=1")
那么FLASH里可以写上:
active_old=0;
_root.onEnterFrame=function()
{
H r L L8n HGuest loadVariablesNum("read.asp",0,"POST");
_root.active_old=active_new;
_root.read_txt.text=myname;
if(_root.active_old==1)
{
delete _root["onEnterFrame"];
}
}
此段代码表示,开始FLASH会不断地访问read.asp,read.asp会把变量active_new传递给FLASH中的_root.active_old,当_root.active_old改变后,
将停止事件。
技巧二:
使用loadVariablesNum("read.asp?temp="+random(10000),0,"POST");的方式,在每次访问时会得到最新的数据,不会再使用缓存中的信息。关于ASP中的代码如何书写,不再多作解释,重点讲解FLASH如何准确和及时得到数据库里的数据,达到我们期望的功能。
[备注]
我们常会遇到,中文提交到数据库后,数据显示出来为乱码,主要是由于编码的原因,只要在ASP中写上 codePage=”936”%>
FLASH和XML的交互
应该来说,用XML和FLASH来交换数据,还是不错的选择,首先,XML可以根据我们的需要,很清晰地定义其结构,FLASH也可以很容易去解释信息。
例3:
myxml=new XML(); //创建一个XML新对象
myxml.ignoreWhite=true; //空白忽略
myxml.load(“music.xml”); //加载同目录下的music.xml文件
myxml.onLoad=function(success)
{
if(success)
{
ReadXML();
trace(“加载成功”);
else
{
trace(“加载失败”);
}
}
以上的代码就能够检测xml是不是加载到FLASH中去了。
以下是个简单的XML文件
name=”song1” url=”mp3/01.mp3” />
name=”song2” url=”mp3/02.mp3” />
name=”song3” url=”mp3/03.mp3” />
XML加载进来后,我们需要做的是去解析和提取数据,为我们所用。
以上ReadXML()函数就用来读数据。
Function ReadXML()
{
myArray=myxml.firstChild.childNodes; //把myxml的第一个子结点所有的数据以数组的方式给myArray
totalNumber= myArray.length; //
for( i=0; i< totalNumber ; i++ )
{
arr_1= myArray[i].attributes.name;
arr_2=myArray[i].attributes.url;
}
}现在,我们可以得到的结果是,在数组arr_1中保存了所有歌曲的名字,在数组arr_2中保存了所有歌曲的路径,我们就可以使用loadSound()等方法制作一个自己的播放器了!
XML与ASP
Xml和ASP各有各的优势,xml数据结构很清楚,但是没有ASP灵活,而且还可以查询和修改数据库,所以想一想,如果用ASP来动态生成xml,那么我们就可以两全其美了!
这里需要一点ASP知识!
以下一段实现ASP生成指定的XML。
if request.QueryString("Page")<>"" then
Page=Cint(request.QueryString("Page"))
else
Page=1
end if
pgsz=5
%>
DataBaseName="Manage/Message/Message.mdb" k2Z
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath(DataBaseName)
set rs=server.CreateObject("Adodb.recordset")
rs.open "Select * from Message order by addtime desc",conn,1,1
if not rs.eof then
rs.pagesize=pgsz
Rs.Absolutepage=Page
%>
" Pagecount="" PageSize="" Recordcount="">
i=0
do while not rs.eof and i
%>
" Sex="" Email="" Time="--" Homepage="" Title="" Content="" Reply=""/>
i=i+1
rs.movenext
loop
%>
end if
rs.close
set rs=nothing
Conn.Close
set Conn=Nothing
%>
-----------------
----------------------------------------------------
读取access:
set conn=server.createobject("adodb.connection")
conn.open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("数据库名")
set rs=server.createobject("adodb.recordset")
rs.open "select * from 表名",conn,0,1
Response.Write("test="+Server.URLEncode(rs("字段名")))
这样就可以向flash传送一个叫test的变量,内容是读取出来的字段内容。
本回答由提问者推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起