三個 TextInput 文本輸入組件分別命名為 username 和 password 和 msg; username(用戶名輸入框),password(密碼輸入框),msg(消息框),放到 body 層; 第一幀是用戶登錄腳本.代碼如下:
//此幀是用戶登錄腳本 stop(); //將window組件設(shè)置為不可用.因為是做背景 win.enabled = false; //新建LoadVars對象,用來發(fā)送和接收數(shù)據(jù); var loginData:LoadVars = new LoadVars(); //注冊按鈕 register.onRelease=function(){ win.title="(教程Flash與ASP)用戶注冊"; msg.text=""; gotoAndStop(2); } //登錄按鈕. login.onRelease = function() { //判斷用戶名和密碼是不是為空. if ((username.text == "") || (password.text == "")) { msg.text = "請正確輸入用戶名或密碼!"; //判斷用戶名和密碼是否小于8位. } else if((username.length<8)||(password.length<8)){ msg.text = "用戶名和密碼不能小于8位!"; } else { msg.text = "驗證中..."; //將用戶名文體框的值付給loginData對象的username變量; loginData.username = username.text; //將用戶密碼文體框的值付給loginData對象的password變量; loginData.password = password.text; //使用get方法發(fā)送用戶名和密碼到login.asp中驗證;再返回給loginData對象; loginData.sendAndLoad("login.asp", loginData, "get"); } }; //調(diào)用LoadVars對象的onLoad事件. loginData.onLoad = function(success) { //判斷加載login.asp是否成功; if (success) { //這個是ASP中查詢數(shù)據(jù)庫中返回的值; if (loginData.success !=0) { msg.text = "登錄成功"; //這里大家可以寫自己的代碼. username.text=""; password.text=""; } else { msg.text = "用戶名和密碼不正確"; } }else{ msg.text="連接網(wǎng)絡(luò)失敗"; } };
下面是 login.asp 中的代碼:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% '聲明變量 dim db,conn,div,rs,success,username,password '獲取Flash中傳過來的變量 username=Request("username") password=Request("password") '設(shè)置一個連接對象 set conn=Server.Createobject("adodb.connection") '數(shù)據(jù)庫的相對路徑 db=Server.MapPath("UserTable.mdb") '數(shù)據(jù)庫的驅(qū)動 div="Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source="&db '打開連接 conn.Open div '新建記錄集對象 set rs=server.createobject("adodb.recordset") 'SQL查詢語句,用來查詢數(shù)據(jù)庫中是否有數(shù)據(jù); sql="select * from UserTable where username='"&username&"' and password='"&password&"'" '打開查詢語句 rs.open sql,conn,1,1 '如果數(shù)據(jù)庫中沒有數(shù)據(jù)rs.RecordCount將返回0; success=rs.RecordCount '將success變量發(fā)送到Flash中 Response.Write("success="&success) '關(guān)閉記錄集 rs.close '釋放記錄集對象rs set rs=nothing '關(guān)閉打開的連接 conn.close '釋放連接對象conn set conn=nothing %>
到這里.用戶登錄就可以了.下面我們做的是用戶注冊;
第二幀: 用戶注冊
在 body 層 按F6插入關(guān)鍵幀.分別修改舞臺中的兩個按鈕的實例名為,fanghui 和 tijiao; fanghui(返回),tijiao(提交);
然后在第二幀輸入代碼:
//此幀是用戶注冊腳本 stop(); //返回按鈕. fanghui.onRelease = function() { win.title = "(教程Flash與ASP)用戶登錄"; msg.text = ""; gotoAndStop(1); }; //提交按鈕. tijiao.onRelease = function() { //判斷用戶名和密碼是不是為空. if ((username.text == "") || (password.text == "")) { msg.text = "用戶名和密碼不能為空!"; //判斷用戶名和密碼是否小于8位. } else if ((username.length<8) || (password.length<8)) { msg.text = "用戶名和密碼不能小于8位!"; } else { msg.text = "注冊中..."; //將用戶名文體框的值付給loginData對象的username變量; loginData.username = username.text; //將用戶密碼文體框的值付給loginData對象的password變量; loginData.password = password.text; //使用get方法發(fā)送用戶名和密碼到add.asp中查詢;再返回給loginData對象; loginData.sendAndLoad("add.asp", loginData, "get"); } }; //調(diào)用LoadVars對象的onLoad事件. loginData.onLoad = function(success) { //判斷加載login.asp是否成功; if (success) { //這個是ASP中查詢數(shù)據(jù)庫中返回的值; if (loginData.zhucei == "true") { //這里大家可以寫自己的代碼. msg.text = "注冊成功"; username.text = ""; password.text = ""; } else { msg.text = "用戶名已存在"; } } else { msg.text = "連接網(wǎng)絡(luò)失敗"; } };
下面是 add.asp 中的代碼:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% '聲明變量 dim db,conn,div,rs,username,password '獲取Flash中傳過來的變量 username=Request("username") password=Request("password") '設(shè)置一個連接對象 set conn=Server.Createobject("adodb.connection") '數(shù)據(jù)庫的相對路徑 db=Server.MapPath("UserTable.mdb") '數(shù)據(jù)庫的驅(qū)動 div="Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source="&db '打開連接 conn.Open div '新建記錄集對象 set rs=server.createobject("adodb.recordset") 'SQL查詢語句,用來查詢數(shù)據(jù)庫中是否有數(shù)據(jù); sql="select * from UserTable where username='"&username&"'" '打開查詢語句 rs.open sql,conn,1,1 '如果沒有數(shù)據(jù)rs.RecordCount將返回0; if rs.RecordCount=0 then '關(guān)閉上面的查詢對象. rs.close 'SQL插入語句.插入新用戶用的.這里的 password 因為是SQL中的關(guān)鍵字.所以要用[]括起來. sql="insert into UserTable (username,[password]) values ('"&username&"','"&password&"')" '打開插入語句 rs.open sql,conn,1,3 '輸出true告訴Flash用戶已注冊. Response.Write("zhucei=true") else '否則就輸出false告訴Flash用戶已存在. Response.Write("zhucei=false") end if '釋放記錄集對象rs set rs=nothing '關(guān)閉打開的連接 conn.close '釋放連接對象conn set conn=nothing %>
完整圖片如圖:
點擊放大
全部文件如圖:
到這里就全部完成了.大家可以測試了. 運行IIS; 新建網(wǎng)站,路徑為你的asp文件的路徑. 在IE輸入http://localhost/login/login.html (這是我電腦上的).
經(jīng)典論壇討論: http://bbs.blueidea.com/thread-2729523-1-1.html
本文鏈接:http://m.95time.cn/tech/multimedia/2007/5083.asp
出處:藍(lán)色理想
責(zé)任編輯:tada
上一頁 用戶登錄/注冊程序——Flash+ASP [1] 下一頁
◎進(jìn)入論壇RIA設(shè)計與應(yīng)用版塊參加討論
|