摘要:本文介绍了FLASH与ASP组合实现动态留言板的方法与技巧、前后台信息传递,以及
SQL SERVER与ASP相关的知识。
关键词:loadVariable FILEDSN 动态链接库
一、FLASH+ASP的概念
FLASH电影与在ASP的交互上有点类似于传统HTML页与ASP脚本的关系。FLASH主要是接收用户输入的信息并将脚本处理完的信息传递给用户,而幕后所有的工作都由ASP脚本来处理。
ASP作为服务器端的脚本可以访问数据库,并可以处理从FLASH中传递来的信息,然后再传递回FLASH电影,这样FLASH的功能得到极大的扩展。这们做使FLASH更人性化,可以保存用户的信息,从而诸如留言板、论坛、购物车等也可以使用FLASH来实现了。这对喜欢FLASH编程的网页设计人来说真是个激动人心的消息。
二、在FLASH和ASP中传递信息:动态留言板
在FLASH中可以使用很多种方法来和ASP传递信息。每种方法和动作都使用特别的协议通过URL编码的格式来传递信息:getURL、loadVaviables、loadMovie;三种方法使用HTTP或者HTTPS协议以XML的形式来传递信息:XML.send、XML.load、XML.sendAndLoad;还有两种方法通过建立TCP/IP的连接来以XML的形式传递信息:XMLSocket.c onnect、XMLSocket.send。
而我们将着重介绍loadVariable方法,使用loadvariable方法基本可以实现大多数的功能了。
成熟的网站都有自己独具风格的留言板来接受用户的意见和建议,更好地和用户交流。为了不抑止大家的更好的创意,下面笔者所介绍的FLASH只是一个普通的留言板,而把更好的想象和创意留给读者,而笔者重点介绍的是方法与脚本的实现。
FLASH留言板在后台使用SQL Server作为保存用户输入的信息和意见的数据库服务器,使用FLASH制作客户端留言板的页面。
1、数据库结构设计
为本内容的实例新增一个数据库FLASH,制作FILEDSN。在数据库中插入表message,用以保存用户输入的信息和意见建议,表中其定义三个字段(如下),分别为:
列名 数据类型 长度 精度 小数位
name char 15 0 0
email char 30 0 0
message text 16 0 0
? Name:留言者的姓名。
? Email:留言者的Email地址。
? Message:留言。
2、简单的FLASH动态电影如下:
图1-1
说明:○1在“您的姓名:”的文本后用文字工具创建一个输入框,在文本框属性面板中选择“Input Text(输入文本)”。在“Variable(变量)”框输入“name”选中“Border/Bg”选项,如图1-2所示。
图1-2 设置文本框属性
○2同样在“您的Email:”文本后插入输文框,在“Variable(变量)”中分别输入“Email”。在“您的意见:”文本后插入输框,在“Variable(变量)”输入“advice”,将“Single line(单行)”下拉框改为“Multiline(多行)”。
○3制作一个“提交”字样的FLASH按钮,如下图书1-3,其所在位置如图1-1所示。
图1-3
3、给FLASH中“提交”按钮加代码。
○1在FLASH场景中选中“提交”按钮。
○2用鼠标右键单击场景中的“提交”按钮,在弹出的菜单中选择“Actions”,在弹出的“Object Action(对象面板)”单击右上方的三角,选择“Expert Model(专家模式)”。选择“On”动作,“Event(事件)”是“release(释放)”。在“Actions(动作)”中选择“LoadVariable(导入变量)”,括号中应该是(“insert.htm”,“”,“post”),意思是使用post方法向insert.htm传递信息,再传回到电影中来。全部Script脚本的如图1-4所示。
图1-4
4、ASP脚本
留言板共有两个脚本,一个是来接受用户输入的服务器端脚本insert.htm,一个是网站的管理人员察看的脚本view.htm,可以使用一般的文本编辑器来编定这两文件,如Notepad等。
O inset.htm脚本:
<%@Lanuage=VBscript%>
<%
function CheckStr(str)
dim tstr, c,j,i,ch
j=len(str)
for i=1 to j
ch=mid(str,i,j)
if ch=” “ then
tstr=tstr+” ”
end if
tstr=tstr+ch
next
CheckStr=tstr
end function
%>
<%
name=CheckStr(Request.Form(“name”))
email=CheckStr(Reques.Form(“email”))
message=CheckStr(Request.Form(“advice”))
if email=” “ then
email=”none”
end if
if message<> “ ”and name<>“ ” then
set con=Server.CreateObject(“ADODB.Connection”)
con.Open“FILEDSN=c:\inetpub\wwwroot\aspbook\flash\flash.dsn; UID=adm;PWD=fulei”
set cmd=Server.CreateObject(“ADODB88mand”)
set cmd .ActiveConnection=con
cmd88mandText=“insert into message(name,email,message)
Values(‘ “&name&” ’, ‘ “&email&” ’, ‘ “&message&” ’)”
cmd.Execue
Response .Write (“flag=操作成功”)
elseif message=” ” then
Response .Write(“flag=操作失败,留言为空”)
elseif name=” “ then
Response .Write(“flag=操作失败,请留下芳名”)
else
Response .Write(“flag=操作失败,内部错误”)
end if
con.close
%>
说明:本脚本开始定义了一个函数CheckStr用于检查字段中是否有单引号(单引号会使插入记录的SQL语句发生错误),然后得到从FLASH中传来的几个参数。如果所有参数都符合要求则插入记录,flag用以记录插入的结果。使用Response.write将flag变量传回FLASH电影中。
view.htm脚本:
<%@Lanuage=VBScript”%>
<html>
<head>
<%
set con=Server.CreateObject(“ADODB.Connection”)
con.Open “FILEDSN=c:\inetpub\wwwroot\aspbook\flash\flash.dsn;
UID=adm; PWD=fulei ”
set cmd=Server.CreateObject(“ADODB88mand”)
set cmd.ActiveConnection=con
set rec=Server.CreateObject(“ADODB.Recordset”)
cmd88mandText=”select*from message”
set rec=cmd.Execute
%>
</head>
<body>
<%
Response.Write(“<table width=’75%’ border=’1’ “)
Response.Write(“<tr><td>留言者</td><td>Email</td><td>内容</td></tr>”)
do while not rec.EOF
Response.Write(“<tr><td>”&rec(“name”)& “</td.></tr>”&rec(“email”)& “</td><td>”
&rec(“message”)& “</td></tr>”)
red.MoveNext
loop
Response.Write(“</table>”)]
%>
</body>
</html>
最终的页面效果如图1-5所示。
图1-5
参考文献:
1. 网易FLASH站(flash.16388)
2. 极限FLASH站(88jxflash88)
3. 李博、于骞译 [美]Grey Buczek,MCSD.MCT编著 “ASP应用开发指南”科学出版社,2000年9月。
4. 荣钦科技主笔室编著 “ASP入门与应用”中国铁道出版社,2001年1月。
高中各年级课程推荐
|
||||
年级
|
学期
|
课程名称
|
课程试听
|
|
高一 |
高一(上)、(下)同步复习
|
语文 | ||
英语 | ||||
数学 | ||||
数学(期中串讲) | ||||
数学(期末串讲) | ||||
数学拔高 | ||||
物理 | ||||
化学 | ||||
生物(一) | ||||
地理 | ||||
历史 | ||||
政治 | ||||
高中专项突破课
|
语文写作 | |||
英语阅读理解 | ||||
英语写作 | ||||
英语完形填空 | ||||
物理功和能量 | ||||
高二 |
高二(上)、(下)同步复习
|
语文 | ||
英语 | ||||
数学(理) | ||||
数学拔高(理) | ||||
数学(文) | ||||
数学拔高(文) | ||||
物理 | ||||
数学(期中串讲) | ||||
数学(期末串讲)(理) | ||||
数学(期末串讲)(文) | ||||
化学 | ||||
生物(一) | ||||
生物(二) | ||||
生物(三) | ||||
地理 | ||||
历史 | ||||
政治 | ||||
高三 |
高考第一轮复习
|
语文 | ||
英语 | ||||
数学(理) | ||||
数学拔高(理) | ||||
数学(文) | ||||
数学拔高(文) | ||||
物理 | ||||
物理拔高 | ||||
化学 | ||||
生物 | ||||
地理 | ||||
政治 | ||||
历史(韩校版) | ||||
历史(李晓风版) | ||||
高考第二轮复习
|
数学(理) | |||
数学(文) | ||||
英语 | ||||
物理 | ||||
化学 | ||||
地理 | ||||
高考第三轮冲刺串讲
|
语数英串讲(理) | |||
语数英串讲(文) | ||||
物化生串讲 | ||||
史地政串讲 | ||||
高考试题精讲
|
数学(理) | |||
英语 | ||||
化学 | ||||
物理 | ||||
2021高考研究2021高考策略(理) | ||||
2021高考研究2021高考策略(文) | ||||
Copyright © 2005-2020 Ttshopping.Net. All Rights Reserved . |
云南省公安厅:53010303502006 滇ICP备16003680号-9
本网大部分资源来源于会员上传,除本网组织的资源外,版权归原作者所有,如有侵犯版权,请立刻和本网联系并提供证据,本网将在三个工作日内改正。