Flash一幀可以完成.asp也可以一個(gè)文件完成,這里我將用戶登錄和用戶注冊(cè)分為兩步做,方便大家理解,Flash分兩幀,asp分兩個(gè)文件。
準(zhǔn)備: Flash8 , IIS ,Miscrosoft Access 2003;
開始:
數(shù)據(jù)庫(kù)中:
用設(shè)計(jì)視圖新建一個(gè)名為 UserTable 的表,三個(gè)字段分別為 id 為自動(dòng)編號(hào),username為文本,password為文本;
輸入一條數(shù)據(jù) username 和 password 都為chooseflash;
如圖:
Flash中:
新建文件命名為login.fla,舞臺(tái)大小設(shè)置為250*200,背景隨意;
第一幀:用戶登錄
新建三個(gè)圖層分別命名為 bg 和 body 和as;
舞臺(tái)中的實(shí)例:
一個(gè) window 組件到舞臺(tái)命名為 win;
win(背景),放到 bg 層;
設(shè)置如圖:
二個(gè)按鈕組件分別命名為: login 和 register;
login(登錄),register(注冊(cè)),放到 body 層;
設(shè)置如圖:
三個(gè) TextInput 文本輸入組件分別命名為 username 和 password 和 msg;
username(用戶名輸入框),password(密碼輸入框),msg(消息框),放到 body 層;
第一幀是用戶登錄腳本.代碼如下:
//此幀是用戶登錄腳本
stop();
//將window組件設(shè)置為不可用.因?yàn)槭亲霰尘?/P>
win.enabled = false;
//新建LoadVars對(duì)象,用來(lái)發(fā)送和接收數(shù)據(jù);
var loginData:LoadVars = new LoadVars();
//注冊(cè)按鈕
register.onRelease=function(){
win.title="(教程Flash與ASP)用戶注冊(cè)";
msg.text="";
gotoAndStop(2);
}
//登錄按鈕.
login.onRelease = function() {
//判斷用戶名和密碼是不是為空.
if ((username.text == "") || (password.text == "")) {
msg.text = "請(qǐng)正確輸入用戶名或密碼!";
//判斷用戶名和密碼是否小于8位.
} else if((username.length<8)||(password.length<8)){
msg.text = "用戶名和密碼不能小于8位!";
} else {
msg.text = "驗(yàn)證中...";
//將用戶名文體框的值付給loginData對(duì)象的username變量;
loginData.username = username.text;
//將用戶密碼文體框的值付給loginData對(duì)象的password變量;
loginData.password = password.text;
//使用get方法發(fā)送用戶名和密碼到login.asp中驗(yàn)證;再返回給loginData對(duì)象;
loginData.sendAndLoad("login.asp", loginData, "get");
}
};
//調(diào)用LoadVars對(duì)象的onLoad事件.
loginData.onLoad = function(success) {
//判斷加載login.asp是否成功;
if (success) {
//這個(gè)是ASP中查詢數(shù)據(jù)庫(kù)中返回的值;
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中傳過(guò)來(lái)的變量
username=Request("username")
password=Request("password")
’設(shè)置一個(gè)連接對(duì)象
set conn=Server.Createobject("adodb.connection")
’數(shù)據(jù)庫(kù)的相對(duì)路徑
db=Server.MapPath("UserTable.mdb")
’數(shù)據(jù)庫(kù)的驅(qū)動(dòng)
div="Provider=Microsoft.Jet.OLEDB.4.0;"&"Data Source="&db
’打開連接
conn.Open div
’新建記錄集對(duì)象
set rs=server.createobject("adodb.recordset")
’SQL查詢語(yǔ)句,用來(lái)查詢數(shù)據(jù)庫(kù)中是否有數(shù)據(jù);
sql="select * from UserTable where username=’"&username&"’ and password=’"&password&"’"
’打開查詢語(yǔ)句
rs.open sql,conn,1,1
’如果數(shù)據(jù)庫(kù)中沒(méi)有數(shù)據(jù)rs.RecordCount將返回0;
success=rs.RecordCount
’將success變量發(fā)送到Flash中
Response.Write("success="&success)
’關(guān)閉記錄集
rs.close
’釋放記錄集對(duì)象rs
set rs=nothing
’關(guān)閉打開的連接
conn.close
’釋放連接對(duì)象conn
set conn=nothing
%>
到這里.用戶登錄就可以了.下面我們做的是用戶注冊(cè);
新聞熱點(diǎn)
疑難解答
圖片精選