Formulário de envio de e-mail Flash+PHP

Nesse post vamos utilizar uma integração bastante popular envio de e-mail com flash+php para variar um pouco vamos trabalhar com o Flash Develop e Flash.
Vou explicar algumas Classes que vou utilizar nesse exemplo :

URLRequest
A classe por receber as informações HTTP, são passados informações de requisição para o métodos de classes como URLStrean, URLLoader, Loader e outras operações como upload…

URLVariables

O URLVariables classe permite a transferência de variáveis entre em aplicativo Flash e um servidor. URLRequest utiliza o URLVariables para agrupar suas variáveis.

Resumindo grosseiramente o URLVariables guardamos os dados , adicionamos no URLRequest e com ele fazemos as requisição, isso será mais fácil de entender com o exemplo abaixo:

    
	package classes {
	
	//importamos as classes que vamos utilizar
	import flash.display.Shape;
	import flash.net.URLRequest;
	import flash.net.URLVariables;
	import flash.text.TextField;
	import flash.display.Sprite;
	import flash.net.URLRequestMethod;
	import flash.net.sendToURL;
	import flash.events.MouseEvent;
	
	/**
	* ...
	* @author Fellyph Cintra by fellyph.com.br/blog/
	*/
	
	public class Mail extends Sprite {
		
		//definimos as variáveis que vamos utilizar nesse exemplo.
		public var requisicao	:URLRequest = new URLRequest("http://www.seusite.com/mail.php"); 
		public var variaveis	:URLVariables = new URLVariables();
		// na nossa requisição passamos o endereço onde está arquivo php  com a função de enviar e-mail
		public var nomeIn		:TextField;
		public var mailIn 		:TextField; 
		// acima os campos de texto que irão receber os dados
		public var btEnviar 	:Sprite;
		
		// Em uma classe o construtor é sempre executado primeiro
        // Então sempre que quiser executar algo em uma classe jogue no construtor
		public function Mail() {
			
			btEnviar = new Sprite();
			nomeIn = new TextField();
			mailIn = new TextField();
			
			criarBotao();
			addChild(btEnviar);
			
			addChild(nomeIn);
			addChild(mailIn);
			
			//preparamos o campo para receber a informação
			nomeIn.type = "input";
			// informamos que o campo será do tipo input "entrada"
			nomeIn.border = true;
			nomeIn.borderColor = 0x005500;
			nomeIn.width = 100;
			nomeIn.height = 20;
			nomeIn.x = 10;
			nomeIn.y = 20;
			
			// nas linhas anteriores definimos o tamanho e a posição do campo isso se
            // repete nas linhas seguintes
			mailIn.type = "input";
			mailIn.border = true;
			mailIn.borderColor = 0x005500;
			mailIn.width = 100;
			mailIn.height = 20;
			mailIn.x = 10;
			mailIn.y = 45; 
			
			btEnviar.x = 10;
			btEnviar.y = 70;
			
            btEnviar.buttonMode = true;
			btEnviar.addEventListener(MouseEvent.MOUSE_DOWN, enviar);
			// adicionamos o envento de click no botão
			
		}
		
		// essa função vamos trabalhar mais um pouco com TextField
		public function criarBotao():void {
			
			var conteudo:TextField = new TextField();
			conteudo.text = " ENVIAR ";
			conteudo.border = true;
			conteudo.borderColor = 0x004400;
			conteudo.background = true;
			conteudo.backgroundColor = 0x00cc00;
			conteudo.selectable = false;
			// nas linhas acima adicionamos borda e backgroud ao TextField e
			// definimos que essa caixa de texto não poderá ser selecionada
			
			conteudo.height = 20;
			conteudo.width = 60;
			conteudo.textColor = 0xFFFFFF;
			btEnviar.addChild(conteudo);
			// por fim jogamos o TextField no Sprite btEnviar com addChild
			
		};
		// nossa função enviar é chamada quando clicamos no nosso botão
		public function enviar(e:MouseEvent):void {
		    // adicionamos as informações do campo de texto
			// na nossa URLVariables variáveis
			variaveis.email = mailIn.text;
			variaveis.nome = nomeIn.text;
			
			requisicao.data = variaveis;
			// adicionamos na nossa requisição
			requisicao.method = URLRequestMethod.POST;
			// definimos qual método utilizado
			
			sendToURL(requisicao);
			//passamos as informações
		}
		
	}

O arquivo php fica da seguinte forma:

  
email : ".$email; // e chamamos nossa função de e-mail ela fica dentro de um if porque retorna um // Boolean, true se a imagem foi enviada e false, se ocorreu algum erro if(mail($para,$assunto, $body)){ echo("Mensagem enviada com sucesso"); }else{ echo("Erro no envio"); } ?>

Nesse exemplo foi bem resumido, mas podemos tratar mais esse caso. Pode ser feito uma validação dos campos e um status , para ter a confirmação do envio dos dados, isso fica para um próximo post.

Até a próxima.

2 respostas para “Formulário de envio de e-mail Flash+PHP”

  1. Grande PH !!
    O ruim do sendToURL é que ele nao tem retorno … tu podia usar o URLLoader, por que ai tu envia parametros, e retorna alguma coisa pro flash .. eu acho mais legal ! =D
    Abraço!

Deixe uma resposta

This site uses Akismet to reduce spam. Learn how your comment data is processed.