急需flex注册和后台数据库交互的例子

zrs217 2009-09-22 09:58:02
做一个登陆,注册界面,希望做过的大哥们给个例子
...全文
548 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bingoozhang 2009-09-24
  • 打赏
  • 举报
回复
5楼的哥们把css给我吧 不胜感激 邮箱bingoozhang@163.com
zrs217 2009-09-24
  • 打赏
  • 举报
回复
少了个css跑不起来,把那个css给我了
嘿嘿
jerryyu810 2009-09-23
  • 打赏
  • 举报
回复
一个带有动画切换的登录界面,别忘记给分哦,呵呵


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="960"
height="800" creationComplete="creationCompleteHandle()" currentState=""
pageTitle="你的标题" >
<mx:states>
<mx:State name="mail">
<mx:SetProperty target="{label1}" name="text" value="邮 件:"/>
<mx:SetProperty target="{membername}" name="width" value="50%"/>
<mx:AddChild relativeTo="{griditem1}" position="lastChild">
<mx:Label text="@mail.com"/>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:transitions>
<!-- 定义过渡动画,从默认的状态过渡到”detail”-->
<mx:Transition fromState="" toState="mail">
<mx:Parallel target = "{canvas1}" duration="2000">
<mx:WipeLeft />
<mx:Blur blurXFrom="10" blurXTo="0" />
</mx:Parallel>
</mx:Transition>

</mx:transitions>
<mx:Canvas y="0" width="100%" height="100%" id="canvas1" >
<mx:Grid width="100%" height="100%">
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Label text="用户名:" id="label1"/>
</mx:GridItem>
<mx:GridItem width="100%" height="100%" horizontalAlign="center" verticalAlign="middle" id="griditem1">
<mx:TextInput id="membername" width="100%"/>
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Label text="密 码:" id="label2"/>
</mx:GridItem>
<mx:GridItem width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:TextInput id="memberpswd" displayAsPassword="true" width="100%"/>
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
</mx:GridItem>
<mx:GridItem width="100%" height="100%" horizontalAlign="center" verticalAlign="middle">
<mx:Button label="登陆" width="64" height="22" id="btnLog" click="OnLogin()"/>
<mx:Button label="退出" width="64" height="22" id="button1" click="OnLogout()" y="225" x="379"/>
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
<mx:GridRow width="100%" height="100%">
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
<mx:GridItem width="100%" height="100%">
</mx:GridItem>
</mx:GridRow>
</mx:Grid>





</mx:Canvas>

<mx:HTTPService id="httpLogin" method="POST" showBusyCursor="true" result="resultHandle()">

</mx:HTTPService>
<mx:Script>
<![CDATA[
import mx.formatters.DateFormatter;

//以下三个类可根据你的具体情况进行自定义
import com.flashdev.file.LoginCheck;
import com.flashdev.classes.User;
import com.flashdev.classes.RemoteURL;

import flash.net.SharedObject;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.system.Security;
import mx.managers.FocusManager;
import mx.managers.PopUpManager;
import mx.formatters.Formatter;
import mx.controls.Alert;

private var strAppPath:String = RemoteURL.AppPath;
private var strMain:String = "mainform.html";
private var cUser:User;
private var UserID:String = "";
private var UserName:String = "";
public var opener:Object;
private var strCookieName:String = "cookiename";//本地cookie的名称



private function OnLoginWithEmail():void
{
var local:Date=new Date();
this.httpLogin.request.userid = this.UserID;
this.httpLogin.request.membername = this.UserName;
this.httpLogin.request.memberemail = this.membername.text;
this.httpLogin.request.memberpswd = this.memberpswd.text;
this.httpLogin.url = RemoteURL.loginURL + "email&" + local.getMilliseconds();
this.httpLogin.send();

return ;
}

public function creationCompleteHandle():void
{
var cookieDay:String = LoginCheck.getDate();
var user:User = LoginCheck.getCookie(this.strCookieName);

if(cookieDay == LoginCheck.getCookieDay())
{//是当天登陆的,直接进入到提交页面
gotoMain();
}else
{//不是当天登陆的,清楚Cookie重新登陆
this.membername.text = user.getName();
LoginCheck.clearCookie(this.strCookieName);
}

return ;
}

public function OnLogout():void
{
//this.gotoMain();
if(false == LoginCheck.clearCookie(this.strCookieName))
Alert.show("Clear Error!");
navigateToURL(new URLRequest('javascript:window.opener=null;window.close()'),'_self');
return ;
}

public function OnLogin():void
{

var local:Date=new Date();
UserName = this.membername.text;
this.httpLogin.request.membername = this.membername.text;
this.httpLogin.request.memberpswd = this.memberpswd.text;
this.httpLogin.url = RemoteURL.loginURL + "name&" + local.getMilliseconds();

//Alert.show(this.httpLogin.url);//测试
this.httpLogin.send();
return ;
}
public function resultHandle():void
{
var strStatus:String = this.httpLogin.lastResult.result.status;

if(strStatus == "0")
{
var strIsFirst:String = this.httpLogin.lastResult.result.isfirst;
if(strIsFirst == "true")
{//第一次登陆,尝试用邮件登陆
UserID = this.httpLogin.lastResult.result.user.id;
this.currentState = "mail";
this.membername.text = "";
}else
{
Alert.show("登陆失败,请重试!");
}
}else
{//登陆成功
//创建用户
UserID = this.httpLogin.lastResult.result.user.id;
cUser = new User(this.httpLogin.lastResult.result.user.name,
this.httpLogin.lastResult.result.user.groupid,
this.httpLogin.lastResult.result.user.title,
this.httpLogin.lastResult.result.user.email);
//Alert.show(cUser.toString());
//记录本地Cookie
LoginCheck.setCookie(this.strCookieName, cUser, LoginCheck.getDate());

gotoMain();

}

return ;
}

internal function gotoMain():void
{
var url:URLRequest = new URLRequest(this.strMain);
//Alert.show(this.strMain);
navigateToURL(url, "_self");
//Alert.show("navigateToURL");

return ;
}

]]>
</mx:Script>
<mx:Style source="css/my.css"/>

</mx:Application>

jv9 2009-09-23
  • 打赏
  • 举报
回复
http://bbs.airia.cn/Share/thread-6575-1-1.aspx
Flex与后台交互的方法
毛毛的IT生涯 2009-09-23
  • 打赏
  • 举报
回复
给你推荐一个第三方框架phprpc,可以实现flex和java,.net,php的集成
java端代码:

//提供那些方法供客户端调用
String[] methodNames = {"addNote","getNotes","getNoteDetail"};
//实例化一个服务端
PHPRPC_Server server = new PHPRPC_Server();
//添加要提供出去的类实例
server.add(methodNames,new NoteBookPhprpcClient());
//启动服务
server.start(request,response);

flex端代码:

public class NoteControl
{
private var _service:PHPRPC_Client;
private var _theModel:ModelLocator = ModelLocator.getInstance();
private var pageModel:PageModel = PageModel.getInstance();


private var serverUrl:String = "http://localhost:8080/notebook/index.jsp";
private var methods:Array = new Array("addNote","getNotes","getNoteDetail");
public function NoteControl()
{
//初始化服务
_service = new PHPRPC_Client(serverUrl,methods);
//错误处理

_service.addEventListener(FaultEvent.FAULT,faultHandler);
}

//错误处理函数
internal function faultHandler(evt:FaultEvent):void{
Alert.show(evt.fault.message,"error");
}

//添加留言
public function addNote(note:Object):void{
_service.addNote(note,function(result:*, args:Array, output:String, warning:PHPRPC_Error):void{
if(result != null){
_theModel.dispatchEvent(new NoteEvent(NoteEvent.addNoteResult));
}else{
_theModel.dispatchEvent(new NoteEvent(NoteEvent.addNoteFail));
}
});
}

//获取留言
public function getNotes(curPage:int,pageCount:int):void{
_service.getNotes(curPage,pageCount,function(result:*, args:Array, output:String, warning:PHPRPC_Error):void{
var array:Array = result;
if(array!= null && array.length != 0){
var dataArray:ArrayCollection = new ArrayCollection(array.slice(2,array.length));
PageModel.pageCount = int(array[0]);
PageModel.size = int(array[1]);
ModelLocator.notes.removeAll();
for(var i:* in dataArray){
var note:NoteVO = new NoteVO();
note.fill(dataArray[i]);
ModelLocator.notes.addItem(note);
}
}
});
}

//获取留言详细信息
public function getDetails(noteId:int):void{
_service.getNoteDetail(noteId,function(result:*,args:Array,output:String,warning:PHPRPC_Error){
ModelLocator.selectNote.fill(result);
});
}
}
}
项目所需jar包从http://www.phprpc.org/zh_CN/下载
zhuzhi 2009-09-23
  • 打赏
  • 举报
回复
flex不能直接访问数据库,需要跟asp.net,asp,jsp,php等后台语言交互实现数据库的访问。你先确定自己用什么语言。再去找相应的交互方法。

4,328

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧