原创设计 · PhotoShop · AI/CD · Fireworks · AutoCAD · 3DMAX · Flash · 网页教程 · 高精图库 · 笔刷滤镜 · 矢量素材 · 图片素材 · 模板素材· CG素材 · 思缘相册
加入VIP,免费下载精美素材 · Photoshop教程 · · 2009展会高清后期调色视频教程 · 浪漫花纹图库下载(VIP) · 非主流图片 · PSD素材 · 字体设计 标志设计

Photoshop新手学习版主推荐教程
设计优秀作品十二期/新手学习贴
加入VIP,即送3000缘分币,每月500
 下载素材,加入VIP,享受更多权限
发新话题
打印

[技术交流] flash+asp+access+xml3步制作简单留言本

flash+asp+access+xml3步制作简单留言本

前几天没事做了个简单的留言本,是利用FLASH+ACCESS+XML+ASP做的,总得来说用了liuyan.asp,xmlxianshi.asp,liuyan.fla,liuyan.mdb这4个文件做的
首先,从liuyan.fla中读取数据,利用liuyan.asp保存到数据库中,然后再用xmlxianshi.asp读取数据库中的数据,利用XML显示出来,好让liuyan.fla读取,最后liuyan.fla通过加载XML读取数据库中的数据,利用文本分页显示出来。
利用工具:flash 8,DW 8.0,IIS,ACEESS.
复制内容到剪贴板
代码:
liuyan.asp
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Response.Charset="utf-8"%>               
<%Session.CodePage = "65001"%>              
//采用UTF-8编码,
<body>
<%
dim Conn,rs,username,word
username=request("username")               
word=request("word")
//从FLASH中获取数据。
Set Conn=Server.CreateObject("ADODB.Connection")
//创建一个数据库连接Conn
Conn.ConnectionString = "Dbq="&Server.MapPath("liuyan.mdb")&"; Driver={Microsoft Access Driver (*.mdb)}"
Conn.Open
//打开数据库
SQL="insert into userinfo(username,word) values ('"&username&"','"&word&"')"
//SQL语句中的插入数据
Conn.Execute(SQL)
//把数据添加到数据库
Conn.close
set Conn=nothing
//关闭连接,释放内存。
%>
</body>
xmlxianshi.asp
复制内容到剪贴板
代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
Option Explicit
response.contentType="text/xml"
//输出类型为XML类型。
dim Conn,rs,SQL,i
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "Dbq="&Server.MapPath("liuyan.mdb")&"; Driver={Microsoft Access Driver (*.mdb)}"
Conn.Open
set rs=Server.createObject("ADODB.RecordSet")
//建立一个记录集对象rs,可以把数据库中的数据显示在页面上。
SQL="select * from userinfo"
//从表格userinfo中选着所有的内容。
rs.open SQL,Conn,1,1
//打开数据库,执行SQL这语句,后面2个1是默认的。可以不写。

response.write("<?xml version='1.0' encoding='utf-8'?><userinfo>")
//XML版本是1.0,编码是UTF-8.
do while not rs.Eof
//VB循环语句,rs.eof:最后一个语句之后.
response.write("<information><username><![CDATA["&rs("username")&"]]></username><sayinfo><![CDATA["&rs("word")&"]]></sayinfo></information>")
//rs("username")获取数据库中的username值
rs.moveNext
//指针下移
loop
response.write("</userinfo>")
rs.close
set rs=nothing
Conn.close
set Conn =nothing
//关闭连接,释放内存。
%>
liouyan.fla
第一帧:
导入textInput ,textArea,label,button组件,呢称textInput文本名为nichen_txt,留言内容textArea文本名为liuyan_txt,显示留言内容文本为xianshi_txt
button组件(点参数,改label名就可以了):提交按钮名为tijiao,重写按钮名为removeTip,显示按钮名为xianshi .
复制内容到剪贴板
代码:
stop();
var loadLv:LoadVars = new LoadVars();  
//用loadVars建立连接,好与ASP传送数据,
tijiao.onRelease = function() {
        if (nichen_txt == "" || liuyan_txt.text == "") {
                xianshi_txt.text = "呢称或留言内容不能为空";
        } else {
                loadLv.username = nichen_txt.text;
                loadLv.word = liuyan_txt.text;
                loadLv.sendAndLoad("http://127.0.0.1/liuyan.asp", loadLv, "post");

        }
};
removeTip.onRelease = function() {
        nichen_txt.text = "";
        liuyan_txt.text = "";
};
xianshi.onRelease=function(){
        gotoAndStop(2);
}
loadLv.onLoad = function(success:Boolean) {
        if (success) {
                nichen_txt.text = "";
                liuyan_txt.text = "";
                xianshi_txt.text = this.username+"说"+this.word;
        } else {
                trace("加载失败");
        }
};
第二桢:
放5个textArea组件名称分别为myTextArea0到myTextArea4,一个上一页按钮prev_btn,下一页按钮next_btn
复制内容到剪贴板
代码:
stop();
var maxnum:Number = 5;
//一页中显示的最大的个数
var num:Number = 1;
//当前在第一页
prev_btn.enabled = false;
//按钮当前不可用
next_btn.enabled = true;
//按钮当前可用
var userArray:Array = new Array();
//存储用户名的数组
var infoArray:Array = new Array();
存储用户留言的数组
var myXML:XML = new XML();
//定义一个加载XML的对象
myXML.ignoreWhite = true;
//忽略XML中空白部分
myXML.onLoad = function(success:Boolean) {
//加载XML
        if (success) {
                var root:XMLNode = this.firstChild;
                for (var i = 0; i<root.childNodes.length; i++) {
                        userArray.push(root.childNodes[i].firstChild.firstChild);
                        infoArray.push(root.childNodes[i].lastChild.firstChild);
//把用户信息和留言信息分别加到数组中保存
                }
                for (var i = maxnum*(num-1); i<maxnum*num; i++) {
                        _root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
                }
//显示第一页信息。
        } else {
                myTextArea.text = "error";
        }
};
myXML.load("http://127.0.0.1/xmlxianshi.asp");
//分页显示
prev_btn.onRelease = function() {
        num = num-1;
        next_btn.enabled = true;
        if (num>=0) {
                for (var i = maxnum*(num-1); i<maxnum*num; i++) {
                        _root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
                }
        } else {
                prev_btn.enabled = false;
        }
};
next_btn.onRelease = function() {
        num = num+1;
        prev_btn.enabled = true;
        if (maxnum*num<userArray.length) {
                for (var i = maxnum*(num-1); i<maxnum*num; i++) {
                        _root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
                }
        } else if (maxnum*num>userArray.length) {
                for(var j=0;j<5;j++){
                        _root["myTextArea"+j].text ="";
                }
                for (var i = maxnum*(num-1); i<userArray.length; i++) {
                        _root["myTextArea"+i%maxnum].text = "昵称"+userArray[i]+"发表了留言,内容为"+infoArray[i];
                }
                next_btn.enabled = false;
//如果数据到最后的时候,长度大于一个而小于5个。
        } else {
                next_btn.enabled = false;
        }
};
附件: 您所在的用户组无法下载或查看附件



TOP

请问:再加上"主页"和"Email"栏,怎么加?



TOP

在留言内容中加的话要改这:
SQL="insert into userinfo(username,word) values ('"&username&"','"&word&"')"
改为SQL="insert into userinfo(username,word,主页,Email) values ('"&username&"','"&word&"','"&主页&"','"&Email&"')"
并且还要在数据库中增加这2个码,FLA中相应添加这2项,和username,word一样方法加
还有些变量定义也要加上去
恩,还有XML输出也要改,加载XML也要改.



TOP

谢谢梦自在!



TOP

发新话题



关于本站 广告服务 联系我们 版权隐私 合作站点 网站地图 免责申明 管理团队 传奇世界

Powered by Discuz!6.0.0 Copyright © 2008 www.missyuan.com All rights reserved.