Se esta querendo aprender ou iniciar novos projetos em Flex, clique aqui

No HTML, para submeter um formulário no método POST, você usa o seguinte código:

<form action="RecebeForm.php" method="post">
   Username: <input name="user" type="text" />
   <input type="submit" value="Submit" />
</form>

Isto conduz a submeter o formulário para a URL no descrito em action.

Para submeter um formulário utilizando o FLEX você usa o seguinte código:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
     layout="absolute" backgroundColor="#f6f6f6"
     backgroundGradientColors="[#f6f6f6, #bbbbbb]">

	<mx:Label text="Submetendo formulário no método POST"
            fontSize="20" fontWeight="bold" x="10" y="10"/>
	<mx:HRule x="10" y="49" width="80%"/>
	<mx:TextInput id="username" x="10" y="71"/>
	<mx:Button x="178" y="71" label="Enviar" click="form1.send()"/>
	<mx:Label x="10" y="101" text="Resultado"/>
	<mx:TextArea x="10" y="118" width="234" height="188"
            id="textarea1"/>

	<mx:HTTPService id="form1" method="POST" resultFormat="text"
            result="{textarea1.text = String(event.result)}"
            url="/code/010/post.php">
		<mx:request>
			<username>{username.text}</username>
		</mx:request>
	</mx:HTTPService>

</mx:Application>

No servidor, para receber e tratar o formulário, usamos o seguinte código PHP:

<?php
    print "Você enviou as seguintes informações de formulário:
";
    print_r($_POST);
?>

Veja como ficou

Neste exemplo, você envia seu formulário para uma página PHP que trata os valores do formulário e os envia de volta para o cliente sem recarregar a página.

Vamos por partes:

<mx:HTTPService id="form1" method="post" resultFormat="text"
     url="/code/010/post.php"
     result="{textarea1.text = String(event.result)}">

Nesta parte do código, chamamos a classe HTTPService que irá levar sua requisição até o servidor.

O método method indica que os dados serão transmitidos no método POST. Este método informa para o Flex que quando for submetido o formulário, o HTTPService tratará os dados no método proposto.

O método url irá propor o destino da requisição.

Já o método resultFormat indica em qual formato, é esperado a resposta do servidor. No nosso caso especificamos que o retorno será text.

E por ultimo o método result informa qual função irá tratar a requisição após o retorno

<mx:request>
    <username>{username.text}</username>
</mx:request>

Este classe lista todas os valores que serão enviadas ao servidor quando a classe HTTPService for invocada. Nesta chamada voce deve listar todos os valores que devem ser enviados ao servidor.

Por exemplo, em uma requisição de login, onde dois valores são passados, poderá ser e feito assim:

<mx:request>
    <username>{username.text}</username>
    <password>{password.text}</password>
</mx:request>

neste caso as TAG’s <username> e <password> são os nome das variáveis e internamente o seu valor. No atributo das variaveis pode invocar código ActionScript colocando entre chaves.

Clique aqui e baixe todos os códigos apresentados neste post.

Gostou? Não esqueça de curtir!

Ou compartilhe o link com seus amigos

12 comentários

Deixe uma resposta

  1. Caro Eduardo,

    Sou inciante no Flex e fiquei muito feliz em encontrar esse seu post. Estava querendo apenas criar um formulário para um site em Flash que fiz no Adobe Catalyst e já estava ficando preocupado, pois todos os métodos de integração entre o PHP e o Flex que encontrei na net são todos complicados (claro, esses métodos permitem fazer várias coisas além de passar variáveis por POST).

    Seja como for aprendi bastante sobre o Flex e talvez empregue mais tempo no aprendizado dessa linguagem. Muito obrigado por facilitar a minha vida, uma vez que meu cliente já esperava há muito pelo site funcionando completamente.

     
  2. Olá Eduardo, tudo bem?
    Estou precisando bastante fazer o inverso desse artigo, que seria chamar um formulário em FLEX partindo do PHP ou ASP.NET enviando os parâmetros e utilizando o método POST, voce poderia me ajudar nessa dúvida?

    Obrigado

    Juliano.

     
  3. Pelo que entendi, você quer criar este formulário dinamicamente conforme dados que tenhas no banco de dados.

    Se for isso, use o <strong>addChild </strong>para incluir estes dados.

     
  4. Amigo eu estou tentando incluir esse seu exemplo de post em um projeto, só que está acusando o seguinte erro:
    Severity and Description

    Parse error at ''.

    Como sou novato em Flex, gostaria que você me desse uma força, se puder claro.

     
  5. Muito bom cara, isso ai vai ajudar muito no meu TC, mas ainda fiquei com uma dúvida. É possivel passar varios parametros através do  como no seu exemplo do flex para o php, a minha dúvida é se é possivel recer varios parametros do php para o flex?

    Não sei se fui bem claro com a minha dúvida, mas é mais ou menos assim, no php eu retorno 3 dados por exemplo e cada um dos 3 dados terá que ser mostrado na tela do flex em um label, ficando o valorretornado1 no label1, valorretornoado2 na label2 e assim por diante.

    Abraços
    Marcos Arno Prediger

     
  6. Parabéns Alemão, não só pela iniciativa mas também pela estética do blog e organização.

    Abraço,

    Farnetani

     
  7. Muito Bom Alemão !!!!
    tirou minha dúvida parabens pelo blog e pela força !
    Um Abraço !

     
  8. Olá Alemão.

    Parabém pelo seu blog, está muito bom os seus exemplos e vou utilizar este do enviou via post para uma aplicação que estou fazendo e vc sabe a qual pois rabalhamos junto. Para enviar dados para o pagSeguro.

    Flw

     
  9. [...] veja a utilização deste exemplo com chamados HTTPService, seguindo o exemplo utilizado em um post anterior que trata sobre este [...]

     
  10. [...] Blog já publiquei dois Post tratando do PHP como server-side, um com método POST e outro com método GET. Veja abaixo uma escovada de [...]

     
  11. É bom receber retorno dos POST, isto incentiva a escrever mais.

     
  12. Parabens alemão esta conseguindo matar boas duvidas minhas ^^
    abraços!