Boa tarde pessoal!
Seguinte, tenho uma aplicação toda em PHP e resolvi "embelezar" o formulário
de login, resolvi fazer em flex, o meu problema agora é:
Com o HTTPService eu consigo fazer a autenticação, mas eu não faço idéia de
como redirecionar a página, ele passa os dados para o index.php mas não vai
para próxima página, continua na página flex...
Teria como fazer com que, ao clicar no botão, o usuário fosse para a página
PHP com o formulário em POST, como em HTML?
Valeu!
Exemplo... NÃO ESTÁ PRONTO! xD
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%" height="100%"
defaultButton="{submitButton}"
creationComplete="creationCompleteHandler();"
layout="absolute">
<mx:Script>
<![CDATA[
import mx.validators.Validator;
import mx.events.ValidationResultEvent;
import mx.controls.Alert;
[Bindable]
public var formIsValid:Boolean = false;
[Bindable]
public var formIsEmpty:Boolean = true;
private var focussedFormControl:DisplayObject;
private function validateForm(event:Event):void
{
focussedFormControl = event.target as DisplayObject;
formIsValid = true;
formIsEmpty = (userInput.text == "" && passInput.text ==
"");
validate(userValidator);
validate(passValidator);
}
private function validate(validator:Validator):Boolean
{
var validatorSource:DisplayObject = validator.source as
DisplayObject;
var suppressEvents:Boolean = (validatorSource !=
focussedFormControl);
var event:ValidationResultEvent = validator.validate(null,
suppressEvents);
var currentControlIsValid:Boolean = (event.type ==
ValidationResultEvent.VALID);
formIsValid = formIsValid && currentControlIsValid;
return currentControlIsValid;
}
private function creationCompleteHandler():void
{
resetFocus();
}
private function submitForm():void
{
Alert.show("Form Submitted!");
}
private function clearFormHandler():void
{
userInput.text = "";
passInput.text = "";
userInput.errorString = "";
passInput.errorString = "";
formIsEmpty = true;
resetFocus();
}
private function resetFocus():void
{
focusManager.setFocus(userInput);
}
]]>
</mx:Script>
<!--
Validators
-->
<!-- Validate email -->
<mx:EmailValidator
id="userValidator"
source="{userInput}"
property="text"
/>
<!-- Name must be longer than 2 characters long -->
<mx:StringValidator
id="passValidator"
source="{passInput}"
property="text"
required="true"
/>
<!--
Enviando dados para o PHP
-->
<mx:HTTPService id="login_form" url="index.php" useProxy="false"
method="POST">
<mx:request xmlns="">
<username>{userInput.text}</username>
<emailaddress>{passInput.text}</emailaddress>
</mx:request>
</mx:HTTPService>
<mx:HTTPService id="forgot_password" url="forgot_password.php"
useProxy="false" method="POST">
<mx:request xmlns="">
<username>{fname.text}</username>
<emailaddress>{femail.text}</emailaddress>
</mx:request>
</mx:HTTPService>
<!--
User interface
-->
<mx:Panel title="Login Form" horizontalCenter="0" verticalCenter="0"
id="loginpanel">
<mx:Form width="100%" height="100%">
<mx:FormItem label="Username:" width="100%">
<mx:TextInput
id="userInput"
change="validateForm(event);"
/>
</mx:FormItem>
<mx:FormItem label="Password: " width="100%">
<mx:TextInput
id="passInput"
change="validateForm(event);"
/>
</mx:FormItem>
</mx:Form>
<mx:ControlBar horizontalAlign="center">
<mx:Button
id="submitButton"
label="Submit"
enabled="{formIsValid}"
click="login_form.send()"
/>
<mx:Button
label="Clear form"
enabled="{!formIsEmpty}"
click="clearFormHandler();"
/>
<mx:Button
label="Forgotten your username or password?"
click="fpasswordpanel.visible=true; loginpanel.visible=false
;"
width="250"/>
</mx:ControlBar>
</mx:Panel>
<mx:Panel title="Forgotten password!" width="441" height="242"
id="fpasswordpanel"
paddingTop="5" paddingLeft="5"
paddingRight="5" paddingBottom="5"
horizontalCenter="0" verticalCenter="0.5"
visible="false">
<mx:Form width="100%" height="100%">
<mx:Text width="100%" color="red"
text="Your details must first be found in the user database.
Please enter either your username or your registered email address in the
appropriate box. There is no need to enter both." textAlign="justify"
height="60"/>
<mx:FormItem label="Name: " required="true" width="100%">
<mx:TextInput id="fname" width="100%"/>
</mx:FormItem>
<mx:FormItem label="E-mail address: " required="false"
width="100%">
<mx:TextInput id="femail" width="100%"/>
</mx:FormItem>
<mx:FormItem width="100%" horizontalAlign="left">
</mx:FormItem>
</mx:Form>
<mx:ControlBar horizontalAlign="center">
<mx:Button
id="submitButton0"
label="Submit"
enabled="{formIsValid}"
click="submitForm();"/>
<mx:Button
label="Clear form"
enabled="{!formIsEmpty}"
click="clearFormHandler();"
/>
<mx:Button
label="Cancel"
click="fpasswordpanel.visible=false; loginpanel.visible=true
;"
/>
</mx:ControlBar>
</mx:Panel>
</mx:Application>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---