não percebo ainda muito de flex, mas ja aconteceu esse problemas muitas vezes....
no amfphp tens o browser... para funcionar tens k ir com http://localhost/.../amfphp/browser, porque se fores com c:/www/...não rola... depois terás a tua função e o intput para inserires os argumentos.... e ve se com o argumento dá erro ou não.... caso dê.... já é da funcao php.... esto é a ajuda de alguem que sabe pouco, mas que me tem ajudado muito.... On 18 maio, 22:47, S1l4s <si...@sajnet.com.br> wrote: > Amigos Flex Developers, > > Faz tempo q acompanho esta lista passivamente, mesmo porque todas > minhas duvidas ao longo desse tempo foram sanadas com threads já > existentes, postadas por outros usuarios. No entanto, deparei-me com o > seguinte problema (nao encontrei no historico da lista): > > Meu back-end ( php) não esta recebendo os argumentos do flex. > Verifiquei na perspectiva de debug do flex builder, e constatei que os > objetos sao criados corretamente, porem implesmente não chegam no php. > Lembrando que via browser amfphp os metodos funcionam normalmente. > > Vejam os fontes: > > //VO´s > > <?php > class UserVO > { > public $coduser; > public $nome; > public $email; > public $login; > public $senha; > public $ativo; > public $root; > > public $_explicitType = "br.com.sajsoft.sms.vo.UserVO"; > } > ?> > > package br.com.sajsoft.sms.vo > { > [Bindable] > [RemoteClass(alias="br.com.sajsoft.sms.vo.UserVO")] > > public class UserVO > { > public var coduser:uint; > public var nome:String; > public var email:String; > public var login:String; > public var senha:String; > public var ativo:String; > public var root:String; > > } > > } > > //Classe remote > > package br.com.sajsoft.sms.remote{ > > import br.com.sajsoft.sms.vo.UserVO; > > import mx.controls.Alert; > import mx.rpc.AsyncToken; > import mx.rpc.Responder; > import mx.rpc.events.FaultEvent; > import mx.rpc.remoting.mxml.RemoteObject; > > public class RemoteSMS{ > > private var bridge:RemoteObject; > > //singleton > private static var instance:RemoteSMS; > public static function getInstance():RemoteSMS{ > if(instance == null){ > instance = new RemoteSMS(); > } > return instance; > } > //Funcao chamada em caso de falha no remote > private function defaultFaultHandler(e:FaultEvent):void{ > Alert.show(e.fault.faultDetail, e.fault.faultString); > } > > public function Logar(ClassName:String, dadosVO:UserVO, > result:Function):void > { > bridge.source = 'sms.' + ClassName; > var async:AsyncToken = bridge.Login(dadosVO); > async.addResponder(new Responder(result, > defaultFaultHandler)); > } > > public function RemoteSMS() > { > bridge = new RemoteObject(); > bridge.showBusyCursor = true; > bridge.destination = 'amfphp'; > } > } > > } > > //component de login > > <?xml version="1.0" encoding="utf-8"?> > <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > width="268" height="184" title="Digite seu login e Senha"> > <mx:Script> > <![CDATA[ > import mx.rpc.events.ResultEvent; > import br.com.sajsoft.sms.vo.UserVO; > import br.com.sajsoft.sms.remote.RemoteSMS; > import mx.rpc.remoting.mxml.RemoteObject; > import mx.controls.Alert; > > private var remote:RemoteSMS = > RemoteSMS.getInstance(); > > //Funcao de autenticacao > private function Autenticar():void{ > if(txtLogin.text != "" && txtSenha.text != > ""){ > > var loginVO:UserVO = new UserVO(); > loginVO.login = txtLogin.text; > loginVO.senha = txtSenha.text; > > remote.Logar('ClassUsuario', loginVO, > AutenticarResult); > > }else{ > MessageLoginError.text = "Por favor, > preencha todos os > campos!!!"; > } > } > > private function AutenticarResult(e:ResultEvent):void{ > if(e.result.logado == "YES"){ > Alert.show("UHUHUHUHU, estamos logado > " + > e.result.logado,"Mensagem:"); > }else{ > MessageLoginError.text = > e.result.erro; > txtLogin.text = ""; > txtSenha.text = ""; > } > } > > ]]> > </mx:Script> > > <mx:Label x="10" y="10" fontFamily="Verdana" fontSize="10" > fontStyle="normal" fontWeight="bold" textAlign="left" width="222" > color="#F81207" id="MessageLoginError"/> > <mx:Label x="10" y="38" text="Login"/> > <mx:Label x="10" y="80" text="Senha"/> > <mx:TextInput x="72" y="36" id="txtLogin"/> > <mx:TextInput x="72" y="78" id="txtSenha" displayAsPassword="true"/> > <mx:Button x="160" y="108" label="Acessar" id="btnLogin" > click="Autenticar()"/> > </mx:Panel> > > //main > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" > width="1098" height="746" horizontalAlign="center" > xmlns:comp="br.com.sajsoft.sms.component.*"> > <mx:Script> > <![CDATA[ > import br.com.sajsoft.sms.vo.UserVO; > ]]> > </mx:Script> > > <comp:LoginPanel x="675" y="300"> > </comp:LoginPanel> > > </mx:Application> > > //back-end > > <?php > include_once 'br/com/sajsoft/sms/vo/UserVO.php'; > include_once 'classes/caiubiphp/modelflex.php'; > > class ClassUsuario > { > public function Login(UserVO $dadosVO){ > $aut = new Model('usuario'); > $aut->find(array('*'),"login = '$dadosVO->login' and senha = > '$dadosVO->senha'"); > > $resultado['logado'] = null; > $resultado['erro'] = null; > > if ($aut->result()){ > $resultado['logado'] = "YES"; > //Cria sessao > $_SESSION['coduser'] = $user->coduser; > > return $resultado; > }else{ > $resultado['erro'] = "Usuário ou Senha Inválido"; > $resultado['logado'] = "NO"; > return $resultado ; > } > } > > } > > ------------- > > Desculpem o memorando e please help me!!! --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---