5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:bj
性别:先生
最后登录:2018-10-12
http://yitu.5d.cn/
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2005/09/01 | flash asp调用数据库方法4
类别(flash As)
|
评论
(0)
|
阅读(561)
|
发表于 17:17
第4卷 FlashMX数据库间接操作之中文代码解决方案
原创:THOR (转载者请保留“作者:THOR”等字样,QQ 488915,Email coolthor@163.com)
声明:对Actionscript和ASP不感兴趣者以及认为FLASH只能做动画片者,请Get OUT!
留言:呵呵,本人初来乍到,希望大家多多支持,要是写了文章能加专家分就好了
--------------------------------------------------------------------------
在前面的几卷中我们已经初步的了解了FLASH与数据库的加接原理和基本方法,现在我们将从本卷开始进行实战演习 ^_^
本卷将向大家讲述怎样完成一个具备基本功能的会员注册和会员档案功能。
很多刚开始与ASP连接的朋友经常会提到同一个问题,就是无法正确的从ASP或者文本文件中读取到汉字或者全角字符,关于这个问题嘛,当年我也蛮头大的,呵呵,其实只要在FLASH中加一条指令就行了,就是在连接ASP之前加上System.useCodePage=true;就可以了(建议将此命令放在第一帧的第一行)
对了,有一个非常重要的问题忘了告诉大家,各位在使用LoadVars对象向ASP发送数据时,建议使用POST方法,尽量不要用GET方法,因为那样的话……嘿嘿 ^_^ (俺先卖个关子再说,反正大家照我说的做绝对对各位都有好处,可以少走弯路,至于为什么嘛,大家自己试试GET和POST的区别就明白了,多动手对大家都有好处嘛,呵呵)
现在我们已经解决了FLASH与ASP之间的中文问题,下面我们将要准备开始实现会员的注册功能。我们首先建立一个ACCESS 2000格式的数据库,然后在数据库中创建一个数据表,并为它命名为user,接下来我们在这个数据表中创建三个字段,分别是id,user,pass,然后我们分别将这三个字段设为主键字段、20个字符长度文本字段和60个字符长度的文本字段,设置好之后,我们关闭这个数据库,并打开记事本(当然,用其它编辑器也可以),我们创建下面这个ASP文件(我们将用这个ASP文件来实现会员注册功能):
<%
dim strUser,strPass,strOutput,strSQL,db
strUser=trim(Request.form("user")) ''获取POST数据中的USER参数
strPass=trim(Request.form("pass")) ''获取POST数据中的PASS参数
strSQL="insert into user (user,pass) values (''"&strUser&"'',''"&strPass&"'')" ''生成SQL语句
db="test.mdb" ''数据库文件名
Set conn = Server.CreateObject("ADODB.Connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)
conn.Open connstr ''打开数据库连接
if len(strUser)<1 or len(strUser)>20 then
strOutput="用户名须1至20个字以内" ''检查用户名长度
else
if len(strPass)<3 or len(strPass)>60 then
strOutput="密码须3至60个字以内" ''检查密码长度
else
set rs = server.CreateObject("ADODB.Recordset")
rs.open "Select top 1 * from user where user = ''" & strUser & "''",conn,2,3 ''检查同名用户
if rs.eof then
conn.execute strSQL ''执行SQL语句
strOutput="注册成功"
else
strOutput="用户已存在"
rs.close
set rs=nothing
end if
end if
end if
conn.close
set conn=nothing
response.write "aspAction=REG&aspRect=" & strOutput ''输出结果
%>
这样我们就写好了注册功能的ASP文件,接下来,我们再创建另一个ASP文件,用来显示会员的信息,代码如下:
<%
dim parID,strUser,strPass
parID=Request.form("id") ''获取POST数据中的PASS参数
if parID<1 then parID=0
db="test.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath(db)
conn.Open connstr ''打开数据库连接
set rs = server.CreateObject("ADODB.Recordset")
rs.open "select top 1 * from user where id = " & parid,conn,2,3
if rs.eof then
strUser="不存在的用户记录"
strPass="不存在的用户记录"
else
strUser=rs("user")
strPass=rs("pass")
end if
rs.close
conn.close
set conn=nothing
response.write "aspAction=READ&aspUser=" & strUser & "&aspPass=" & strPass ''输出结果
%>
好了,到此为止,数据库和ASP部分我们已经基本就绪了,我们现在就要开始FLASH部分的编写,说到FLASH和用户注册问题,有些事得先说一下,各位在做会员信息的时候最好还是别直接在数据库里面存下会员的密码,这样不好,呵呵,还是用些什么MD5啊之类的算法加密一下,我这里就有一代FLASH版的MD5函数,大家复制到FLASH里面就可以直接引用了,地址是http://expert.csdn.net/Expert/TopicView1.asp?id=2022597,使用方法嘛,直接用trace(md5("password"))就可以了,哦,说到这里又得再罗索两句了,很多人问我trace是干什么,唉,不是我没耐心,这个真的很简单,就是在FLASHMX里面弹一个小窗口出来显示数据,主要是用来调试代码的,比如说看一下一个变量的值 trace(a);就是显示变量a的值咯,很简单,大家自己动手试试就知道了
好了,言归正传,准备写FLASH代码!,在我们下面要做的FLASH代码中需要同时可能不止一次的重复调用上面的两个ASP文件,所以我在上面的那个ASP文件中都写了aspAction这个变量,一个是返回“READ”字串,另一个是返回"REG"字串,这样的话我们就可以在FLASH中用共用的代码来识别哪一次ASP调用是来自哪一个功能,这样就可以让FLASH代码自己区别出来,然后分别去干相应的事情了。
好了,我们先在FLASH中创建一个关键帧(只需要一帧就可以了)和几个动态文本域和可输入的动态文本域,相关操作方法请自己读FLASHMX的相关教程(很简单的咯,实在不懂的话回帖提问吧),然后再创建三个按钮(分别用做“注册”、“上一条记录”、“下一条记录”),然后分别为它们命名:
txtUser 用来让别人输入要注册的用户名
txtPass 用来让别人输入要注册的密码
txtPrompt 用来显示是否注
0
评论
Comments
日志分类
首页
[193]
flash As
[107]
有的没的
[59]
数码照片
[4]
自由世界
[19]
blender
[4]