register.asp
'灰色的代码为一行 <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Option Explicit %> <% Response.Expires=0 %> <% Dim strUsername,strPassword,strEmail,strConn,strSQL,myRecordset '下面一段用来读取flash传过来的变量 strUsername=Trim(Request.Form("username")) strEmail=Trim(Request.Form("email")) strPassword=Trim(Request.Form("email")) '下面保存OLE DB连接字符串 strConn="Driver={Microsoft Visual FoxPro Driver}; SourceType=DBC;SourceDb=c:/inetpub/wwwroot/database/xyq_DATA_flashbbs.dbc" '查询语句 strSQL="SELECT * FROM users WHERE username='"&strUsername&"'" '创建记录集对象 Set myRecordset=Server.CreateObject("ADODB.Recordset") myRecordset.CursorType=2 '将游标设为键集游标 myRecordset.LockType=3 '将锁定类型设为开放式 myRecordset.Open strSQL,strConn If Not myRecordset.EOF Then If Not myRecordset("isdelete") Then Response.Write("&user_exist=ture") myRecordset.Close Response.End Else myRecordset("isdelete")=FALSE myRecordset("password")=strPassword myRecordset("email")=strEmail myRecordset.Update Response.Write("& register=OK") myRecordset. End If Else myRecordset.addNew myRecordset("username")=strUsername myRecordset("password")=strPassword myRecordset("email")=strEmail myRecordset.Update Response.Write("& register=OK") myRecordset.Close Response.End End If %>
怎样在flash中调用register.asp
上面是register.asp的内容,可以用来实现在数据库中注册一个用户,那么,我们怎样在flash中调用它呢?
其实很简单,在flash中调用asp文件可以用loadVariables()函数,当然,你也可以用loadVars对象的load函数。
在这里,我将注册的flash模块放在一个mc中,这个mc共有5个关键帧,lable依次为first,sending,loop,register_OK,register_Fail。在first帧中就借用浪子的注册界面吧,将四个文本框的变量名分别设为username、password、passwordagain和email,两个按钮分别取名submit_btn和reset_btn。
在sending帧中输入几个大字sending……。
在register_OK帧中输入“注册成功。”
在register_Fail帧中输入“用户已存在,请重新注册。”再加“重新注册”一个按钮,取名register_again_btn。
我想大家一看就应该知道这几个帧是干什么用的:首先mc停在first,当我们提交后就跳到sending,并不断判断asp传回的值是register=OK还是user_exist=true,如果是OK,则跳到register_OK帧告诉大家注册成功,如果是user_exist=true,则跳到register_Fail帧告诉大家此用户已经存在。
Flash中的代码
//first帧: stop(); submit_btn.onRelease=function(){ if(username==""){ javascript:alert("用户名不能为空"); }else if(password==""){ javascript:alert("密码不能为空"); }else if(email==""){ javascript:alert("邮件地址不能为空"); }else if(password〈〉passwordagain){ javascript:alert("密码不匹配"); }else{ this.loadVariables("http://localhost/register.asp","POST"); gotoAndPlay("sending"); } } reset_btn.onRelease=function(){ username=""; password=""; passwordagain=""; email=""; } //sending帧: if(user_exist=="true"){ gotoAndStop("register_Fail"); user_exist="false"; }else if(register=="OK"){ gotoAndStop("register_OK"); register_OK="Fail"; } //loop帧: gotoAndPlay("sending"); //register_Fail帧: register_again_btn.onRelease=function(){ gotoAndStop("first"); }
附带说明,我的数据库取名xyq_DABA_flashbbs.dbc,存放位置为C:/myweb/database,于用户信息有关的表为users.dbf,其中有userid、username、password、email、isdelete字段,userid默认值为recno(),isdelete字段默认值为FALSE。