关于FLASH留言板的周详教程

2008-04-02 11:02:01来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  基于网页的留言板,我们已见得很多,一个完整的留言板包括三个部分:

  1. 显示留言的页面(显示朋友们给我的留言)

  2. 填写留言的页面 (向后台提交信息)

  3. 数据库(用于保存后台信息)

  关于如何制作基于网页的留言板,不去多作解释,能够参考相关资料。

  就现在而言,FLASH是不能够直接操作象ACCESS, SQL, Mysql 等数据库的,他只能依靠ASP ,PHP ,JSP等其他的语言来实现数据的提交和查询。同时,FLASH还能够和XML对接,实现一些数据的操作。

  FLASH和ASP的交互:

  无论是ASP,PHP还是JSP等其他语言,原理大都相同,本人对ASP熟悉一点,所以以下只讲解FLASH和ASP的对联;

  查看FLASH的帮助文档,能够找到好几种的交互方法,

  本人使用最多的还是:

  loadVariablesNum(url:String, level:Number, [method:String]) : Void

  loadVariablesNum(参数1,参数2,参数3),参数1为变量所处位置的绝对或相对 URL,参数2为一个整数,指定 Flash Player 中接收这些变量的级别

  参数3为发送变量的 HTTP 方法,常用的有"get"和"POST",推荐使用"POST"方法。

  例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()

  {

  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=newXML();//创建一个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()函数就用来读数据。

  
FunctionReadXML()

  {

  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,那么我们就能够两全其美了!

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: FlashCookies数值

下一篇: Excel转成Flash