You are not following my advice. Good luck. Tracy
--- In [email protected], "stinasius" <stinas...@...> wrote: > > hi guys i think am making progress. this is what i have so far. > > "login_example.mxml" > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" xmlns:view="components.*"> > <mx:states> > <mx:State name="Log Out"> > <mx:SetProperty target="{label1}" name="text" value="Log Out"/> > </mx:State> > </mx:states> > <mx:Script> > <![CDATA[ > import components.*; > import mx.containers.TitleWindow; > import mx.controls.Alert; > import mx.events.CloseEvent; > import flash.events.Event; > import mx.managers.PopUpManager; > import mx.core.IFlexDisplayObject; > > public var loggedin:Boolean = false; > public var pop:Login; > private function showLogin():void > { > pop = Login(PopUpManager.createPopUp (this,Login,true)); > pop.showCloseButton =true; > PopUpManager.centerPopUp(pop); > pop.addEventListener("close",removeMe); > pop["cancelButton"].addEventListener("click", removeMe); > pop["okButton"].addEventListener ("click",processLogin); > } > private function removeMe(event:Event):void { > PopUpManager.removePopUp(pop); > } > private function processLogin(event:Event):void > { > if(pop.username.text == "" || pop.password.text == "") > { > Alert.show("Login name and password are required > fields.","WARNING::Login Alert"); > } > else > { > // log user in or something... > lbl_intro.text = "Welcome " +pop.username.text; > removeMe(event); > viewstack1.selectedChild = admin; > currentState = 'Log Out'; > } > } > ]]> > </mx:Script> > <mx:Label x="0" y="0" text="Sign In" id="label1" buttonMode="true" > useHandCursor="true" mouseChildren="false" click="showLogin()"/> > <mx:ViewStack x="0" y="26" id="viewstack1" width="100%" height="100%"> > <view:Home id="home"/> > <view:Admin id="admin"/> > </mx:ViewStack> > <mx:Label x="700" y="0" id="lbl_intro"/> > </mx:Application> > > "login_form.mxml" > > <?xml version="1.0" encoding="utf-8"?> > <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" title="Login Form"> > <mx:Form x="0" y="0"> > <mx:FormItem label="User Name:"> > <mx:TextInput id="username"/> > </mx:FormItem> > <mx:FormItem label="Password:"> > <mx:TextInput id="password"/> > </mx:FormItem> > </mx:Form> > <mx:ControlBar> > <mx:HBox width="100%"> > <mx:Button label="Login" id="okButton"/> > <mx:Spacer width="100%"/> > <mx:Button label="Cancel" id="cancelButton"/> > </mx:HBox> > </mx:ControlBar> > </mx:TitleWindow> > > now i would like to connect that to this coldfusion script to have the > cfc match login details from flex and database > > "memberservice.cfc" > > <!--- > COMPONENT: MemberService > AUTHOR: Bruce Phillips, br...@... > DATE: March 2007 > PURPOSE: Provides service functions related to a Member > CHANGE HISTORY: > > ---> > > <cfcomponent displayname="MemberService" output="false" hint="Member > Service"> > > <!---document each instance variable---> > <cfproperty name="dsn" displayname="Datasource Name" > hint="Datasource name used to connect CF to the database" > type="string"> > > <!---initilization area - acts like a constructor as its called > automatically---> > > <cfscript> > > variables.dsn = 'usr_grp'; > > </cfscript> > > <cffunction name="init" access="public" output="false" > returntype="MemberService" hint="Constructor for this CFC"> > <!--- take in the datasource name as an argument and set it to the > variables scope so it's available > throughout the CFC ---> > <cfargument name="dsn" type="string" required="true" /> > <cfset variables.dsn = arguments.dsn /> > > <!--- return the object itself ---> > <cfreturn this /> > </cffunction> > > > > <cffunction name="getMemberByUserNameAndPassword" access="public" > output="false" returntype="Member" > hint="Tries to find a record with a matching username and password. > If only 1 record > is found creates a Member object using the record's column values."> > <cfargument name="aUserName" type="string" required="true" /> > <cfargument name="aPassword" type="string" required="true" /> > > > <cfset var getMember = "" /> > > <cfscript> > > var aMember = createObject ("Component","Member").init(); > > > </cfscript> > > > <cftry> > > > > > <cfquery name="getMember" datasource="#variables.dsn#"> > > select memID, memUserName, memPassword, memFirstName, memLastName, > memEmail > from member > where memUsername = <cfqueryparam cfsqltype="cf_sql_varchar" > value="#arguments.aUserName#"> > and memPassword = <cfqueryparam cfsqltype="cf_sql_varchar" > value="#arguments.aPassword#"> > > </cfquery> > > > <!---throw error if no records were found---> > <cfif getMember.recordCount EQ 0> > > <cfthrow type="Member.NoRecordsFound" message="No members with > with username of #arguments.aUserName# and password of > #arguments.aPassword# were found"> > > </cfif> > > <!---throw error if more than one record was found, violates > business rule---> > > <cfif getMember.recordCount GT 1> > > <cfthrow type="Member.TooManyFound" message="Too many members with > username of #arguments.aUserName# and password of > #arguments.aPassword# were found" /> > > </cfif> > > <cfcatch type="database"> <!---there was a problem with a query---> > > > <cfthrow type="Member.select" message="#cfcatch.detail#" /> > > </cfcatch> > > > </cftry> > > <!---update the aMember object with values found in the record's > columns---> > > <cfscript> > > aMember.setMemberID( getMember.memID); > aMember.setUsername( getMember.memUserName); > aMember.setPassword( getMember.memPassword); > aMember.setFirstName( getMember.memFirstName); > aMember.setLastName( getMember.memLastName); > aMember.setEmail( getMember.memEmail); > > > </cfscript> > > <cfreturn aMember /> > > </cffunction><!---end function getMemberByUserNameAndPassword- --> > > > <cffunction name="createMemberService" access="public" output="false" > returntype="void" > hint="Pass Member object onto MemderDAO create function"> > > <cfargument name="aMember" type="Member" required="yes" /> > > <cfset var aMemberDAO = "" /> > > > <cftry> > <cfscript> > aMemberDAO = createObject("component", > "MemberDAO").init('fluid_login'); > aMemberDAO.create(aMember); > </cfscript> > > > <cfcatch type="Member"> > > <cfthrow type="Member.create" message="#cfcatch.message#" /> > > </cfcatch> > > </cftry> > > </cffunction> > > > > </cfcomponent> >

