五颜六色论坛 -> 素材资源 -> ++++Flash登陆窗口&Flash数据传递小叙++++ 登录 -> 注册 -> 回复主题 -> 发表主题

ldy747 2004-04-28 11:12

近来发现大家对Flash的论坛登陆口很感兴趣,但是大家可能一时还对网页数据传递的问题有些疑意。导致大家在这个问题上耗费了大量的时间与精力。之前我曾经给几个朋友做过实例,主要思路也说的还算明白。可是最近在AS区里每天还是有好多的兄弟在问这个问题,于是偶决定尽偶所能,尽量把这个问题阐述清楚,如果说的好的话请版主帮忙固顶两天,让更多需要帮助的朋友看到。如果说的不好的话,大家P,往死里P哦! AG N/kx  
0ns\:2)cEB  
首先先说说论坛吧,由于最近大家讨论的基本都是动网的DVBBS系列ASP论坛,所以偶就以这个论坛为例说说。如果大家使用的是别的论坛的,具体路径还是要修改一下的。DVBBS的ASP论坛的默认数据提交体系是Login.asp打开记事本看下原码我们可以发现,玄机就在Login.asp?action=chk(chk 就是 check的缩写,即"检测")。因为论坛本身就是建立在一个(或多个)数据库的基础上,asp的论坛就是通过后缀为.asp的文件来执行各种命令的。比如你刚刚在你的论坛里申请了一个名为flash8的新的会员,此时你的数据库的user表里的name里肯定就会新增一个flash8的名字,而名字的后面自然就会有其其他的各种变量。比如密码……等等。Login.asp?action=chk的功能就是把用户从HTML页面,XML页面,FLASH页面……或者各种其他页面里提交的用户名变量信息和相应的密码信息传送给Login.asp来判断。用户提交数据后,Loginv.asp会校对用户提交的username变量是否在数据库的user表中有记录,如果没有记录,往下也就不用检测了,第一道if 循环都没通过就会返回相应的错误信息。同理,密码的校对原理也是如此。如果用户名和密码同时满足user表中的相应数据,系统才会"http://www.???.com/bbs/index.asp"; 同时默认"你"已经登陆到了论坛。 =:- fK-d  
o|kykxcq  
ASP论坛登陆原理的图解如下: H@Z_P p?  
{>f"&I<xw  
之后我们就可以就这个问题做具体的分析了,大家不是要在Flash的页面里登陆论坛么?也就是通过Flash这个很友善的界面把username和password的变量交给Login.asp来处理。在这个时候用过DW做过首页登陆的朋友就会明白了:原来曾经在DW中的做过的一个Form、两个文本框和一个按钮所达到的,不就是这个结果么? 是的,在DW中我们要把Form的 action="" 设定为../bbs/action=chk,然后给两个文本框分别赋上username和password变量、最后把按钮设定为Submit 属性,之后我们通过这两个文本框就可以把用户的username和password的值提交给Login.asp处理了,记住,其中的几个参数,"POST"是不能省略的,因为只有通过POST,数据才能被提交。同时如果你希望在新页面中登陆,还要加上"_Blank"的参数。试试看,成功么? g^'h 4qOa  
4Z"}W!A  
要同样的效果产生在Flash的页里,我们也可以做类似处理:做两个输入文本框,在它们的变量上我们分别填写上username与password,然后做一个按钮或者MC都可以,它主要起到提交变量的作用。通过这个按钮我们把用户的值给Login.asp处理。因为我们的论坛里会员的id不可能只有英文的,所以我们还要考虑到中文的id,于是可以在第一帧上加入System.usecodepage=true;这样我们输入中文的时候就不乱码了。 j[G`p^ul  
我们继续,如果你是以一个按钮的形式来提交的话,除了第一帧的AS另外加个stop();之外,就是按钮上的了,如下: O$,F ga  
on release { va6Fp2n<1*  
getURL("http://www.candyfan.com/bbs/login.asp?action=chk";,"_blank","POST"); pHV^K v#  
} QNj]wm=mp  
`2mddx8  
怎么样?如果看懂了上面的_blank,和POST的原理,这个是不是变的非常的简单??? C= ~c`V5>r  
而出于某种特殊的需要,不想单纯的把这个"按钮"只当按钮用,我们还可以用一个MC来代替,假设此MC的实例名为btn,直接把下述AS放如第一帧就OK了: 36 "n7  
stop(); e97G]XLR  
System.usecodepage=true; SH%NYjj  
_root.btn.onRelease=function(){ )PX VR T  
getURL("http://www.candyfan.com/bbs/login.asp?action=chk";,"_blank","POST"); GWA"!~Hu  
} 6_CP?X+T  
8Zr;n`~  
呵呵,是不是很简单?在你懂得了数值传递的真正过程的时候。如果不信的话,你可以到我的网站上去试的哦,我特地给闪吧的朋友开了一个测试的专用号码,id和密码都是flash8。试试吧! : )

T_T 2004-05-07 19:22
顶~~~~~~~~~~~~~


查看完整版本: [-- ++++Flash登陆窗口&Flash数据传递小叙++++ --] [-- top --]


[ 五颜六色论坛 ]

Powered by PHPWind 5.0.1 © 2005 苏ICP备05001866号 5y6s.net
Time 0.017555 second(s),query:4 Gzip enabled