Formulário e-mail AS3 com PHP

Novembro 5, 2008 · 41 comentários

Autor: Rodrigo Gonçalves

Flash CS3 ou superior
Package: flash.net
Classe: public final class URLRequest,
Classe: public class URLLoader,
Classe: public dynamic class URLVariables,

Versão AS: ActionScript 3.0
Player: Flash Player 9 ou superior

Dificuldade: Básico.
Obs: Para um bom aproveitamento deste artigo é interessante ter lógica de programação, noções básicas para leitura de sintaxe ActionScript 3.0 e PHP.

Fala galera, tranquilo?!

Vamos ver uma das maneiras de criar um formulário de e-mail utilizando AS3 em conjunto com um script PHP.
O exemplo mostrado é relativamente simples, mas acredito ser um bom ponto de partida pra começar. Depois você mesmo poderá incrementá-lo conforme achar necessário.
Pra fazer os testes, você precisa de um servidor para hospedar seu arquivo PHP. O seu servidor deve ter suporte pra função mail() do PHP.

No final deste artigo, está disponível para download o mesmo exemplo abordado aqui para testes.

Indice:

1. Introdução;
2. Criando os objetos na tela;
3. Organização do código;
> 3.1. Divida uma grande tarefa em pequenas tarefas;
> 3.2. Nomes de variaveis, funções e comentários de código;
4. Inserindo código AS3;
6. Criando script PHP;
7. Download.

1. Introdução

No Flash, basicamente, para este exemplo do formulário, além de utilizarmos um script PHP que irá "interagir" com Actionscript, precisamos utilizar 3 classes mais notáveis no AS3 que fazem parte do Package flash.net, sendo elas:
- URLRequest(), é responsável por armazenar endereços externos. No nosso caso, será um arquivo PHP;
- URLLoader(), é responsável por “recuperar” dados/informações externas. A qual iremos manipular informações externas com uso de Eventos.
- URLVariables(), criamos "variáveis" que recebem o conteúdo digitado nos campos de textos do Flash. Com isso, conseguimos comunicar com o arquivo PHP e enviar as informações para o destinatário de e-mail.

E de quebra, pra incrementar um pouco mais a funcionalidade do nosso Formulário. Utilizaremos a classe Timer(), em que a sua aplicação é muito semelhante com as funções setInterval() e setTimeout(). No nosso caso, a classe Timer() simplesmente irá chamar/executar uma determinada função depois de um tempo específico estipulado. Veremos isso mais adiante.

2. Criando os objetos na tela

É possível também criar esses objetos usando apenas código AS3. Mas como nosso objetivo aqui será apenas enviar e-mail, e dar ênfase ao código que tem maior importância para não fugir do nosso foco. Para esse exemplo estamos criando os objetos visuais (caixa de textos e botão) manualmente usando as ferramentas no ambiente do Flash.

Dica: É sempre bom criarmos um hábito de organização com web. No Flash não é diferente e você vai agradecer você mesmo mais tarde por lembrar de ter feito essa organização. Sugiro criar uma pasta para guardar todos seus arquivos Flash e PHP.

Com o Flash aberto, crie um arquivo novo documento: versão Actionscript 3.0.

Para organizar os conteúdos crie 2 camadas, sendo elas:
- Actions
- Objetos

img
Imagem 1
: Criando camadas para organizar os objetos.

Na camada Objetos será destinada para os objetos visuais (caixa de textos e botão).
Iremos criar 5 campos de texto, sendo:
- 4 deles serão dinâmicos do tipo "input Text", com instâncias na seguinte ordem: nomeTxt, emailTxt, assuntoTxt e mensagemTxt;
- 1 campo de texto do tipo Dynamic Text com nome de instância avisoTxt, que será destinado para mostrar os avisos ao usuário sobre o que acontece quando ele tenta enviar os dados.
- 1 botão com nome de instância enviarBtn, que será responsável por enviar os dados.

Cada objeto estão organizados com seus respectivos nomes de instâncias. Repare também que todos os campos estão configurado pra aceitar apenas uma única linha (Single line). Apenas os campos mensagemTxt e caixa e avisoTxt devem ser configurado para aceitar mais de uma linha (Multiline), você confere essa configuração pelo painel de propriedades da caixa de texto.

Você poderá acompanhar na imagem 2 a seguir, na seguinte ordem:

- Campo Nome:
- Tipo: Input Text
- Instância: nomeTxt
- Aceitar quantas linhas: Single line

- Campo E-mail:
- Tipo: Input Text
- Instância: emailTxt
- Aceitar quantas linhas: Single line

- Campo Assunto:
- Tipo: Input Text
- Instância: assuntoTxt
- Aceitar quantas linhas: Single line

- Campo Mensagem:
- Tipo: Input Text
- Instância mensagemTxt
- Aceitar quantas linhas: Multiline

- Botão
- Tipo: MovieClip
- Instância enviarBtn

- Campo Aviso:
- Tipo: Text Dynamic
- Instância avisoTxt
- Aceitar quantas linhas: Multiline

img
Imagem 2: Criando os objetos e configurando.

 

3. Organização do código

Com os objetos criados e configurados, agora vem a parte mais legal. ActionScript. É ele que vai dar vida. Mas precisamos nos organizar e pensar no que fazer antes.
E aqui vai algumas dicas que me ajudam muito na hora de começar programar algo, e talvez esse método possa te ajudar também.

No começo, pode parecer que perdemos tempo tendo esses cuidados. Mas, acredite, vai facilitar a sua vida e de quem for trabalhar com você.

3.1. Divida uma grande tarefa em pequenas tarefas

No código a seguir, repere que foi criado várias funções dedicada para cada pequena tarefa. Isso facilita muito na organização, manutenção e reutilização de código. Pois, é muito mais fácil enfrentarmos algum problema e criar soluções pra eles, se antes dividirmos em pequenos pedaços e dedicando soluções por partes (criando funções específicas).

Por exemplo, quando queremos fazer uma "grande tarefa", como no nosso caso "enviar e-mail", se quebrarmos essa "grande tarefa" (grande função) em "pequenas tarefas" (funções dedicadas), BINGO! Ficará muito mais fácil de atingir seus objetivos passo-a-passo, além de te ajudar na organização e agilizar caso precise fazer manutenção ou melhorias futuramente.

3.2. Nomes de variaveis, funções e comentários de código

Não tenha medo também de dar nomes "grandes" pra funções e variáveis, desde que esses nomes sejam descritivas e tenha um padrão durante todo código. Nomes descritivos irão ajudar ter um código mais "auto-explicável" possível e tentar poupar comentários desnecessários.

O comentários também são bastante válidos para não só "documentar o seu código", mas pra te ajudar a lembrar a lógica do que o programa faz. Você não vai querer perder tempo e reaprender algo que você mesmo já fez. Ou quer?
Os comentários no código estão com objetivos mais "didáticos", mas sempre poderá melhorar pra não ser tão redundante na explicação, algo que o o próprio nomes das funções e variáveis já conseguem (e devem) explicarem por si só.

4. Inserindo o código AS3

Vamos ao código de fato.
O código está dividido por funções dedicadas pra cada pequena tarefa, brevemente comentado e auto-explicativo.
Na camada Actions, selecione o 1º e único frame, e abra o painel de Actions, atalho [F9], e insira o código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/* @Autor: Rodrigo Gonçalves [Rodrigo PiXEL]
 * @Créditos: www.AlvoWeb.com */
 
 
/***************************
 * VARIAVEIS
 * Criamos todas variaveis usadas durante o código
 ****************************/
 
var tempoMensagem:Timer; //intervalo entre mensagens de aviso
var variaveis:URLVariables; //receber dados no flash pra enviar pro script php
var urlPhp:URLRequest; //vai armazenar o arquivo php externo
var loader:URLLoader; //carregar e comunicar com arquivo php
 
//iniciamos o programa
init();
 
 
 
/***************************
 * FUNÇÕES
 * Toda mecânica está separada em pequenas funções
 ****************************/
 
//inicia e configura todo o programa
function init():void
{
	//habilitamos acentuação
	System.useCodePage = true;
 
	//limpamos todos os campos de texto antes de começar.
	limpaTodosCamposTextos();
 
	//cria o Timer com 3 segundos(3000 milesegundos) executa quandoTempoAcabar() apenas 1 vez.
	tempoMensagem = new Timer(3000, 1); 
	tempoMensagem.addEventListener(TimerEvent.TIMER, quandoAcabarTempo);
 
	//quando clicar no botão executa a função enviaMensagem();
	enviarBtn.addEventListener(MouseEvent.CLICK, quandoEnviarBtn);
}
 
 
//função de evento, executa a quando clicar no botao enviarBtn
function quandoEnviarBtn(e:MouseEvent):void
{
	verificaDadosAntesDeEnviar();
}
 
 
/* Verificar e se qualquer um dos campos estão vazios ou incorretos,
 * caso esteja errado, mostra mensagem de aviso.
 * Se não, no final envia começa enviar os dados...*/
function verificaDadosAntesDeEnviar():void
{
	if(nomeTxt.length < 3)
	{
		mostraMensagemAviso("Coloque um nome com pelo menos 3 letras");
	}
	else if(emailTxt.length == 0)
	{
		mostraMensagemAviso("Preciso do seu e-mail pra te responder.");
	}
	else if(emailTxt.text.indexOf("@") == -1 ||
			emailTxt.text.indexOf(".") == -1)
	{
		mostraMensagemAviso("Ops! Esse e-mail não é valido!");
	}
	else if(assuntoTxt.length == 0)
	{
		mostraMensagemAviso("Insira um assunto.");
	}
	else if(mensagemTxt.length == 0)
	{
		mostraMensagemAviso("Ahh! Não esquece da mensagem.");
	}
	else{ 
		enviaDadosParaPHP();
	}
}
 
 
//responsável por interagir informação do Flash com script PHP
function enviaDadosParaPHP():void
{
	mostraMensagemAviso("Enviando mensagem...");
 
	/* iniciamos e criamos variaveis dinamicas
	 * que recebem o conteúdo digitado nos campos do flash
	 * essas variáveis servirão de ponto entre o Flash e script PHP */
	variaveis = new URLVariables();
	variaveis.nomePhp = nomeTxt.text;
	variaveis.emailPhp = emailTxt.text;
	variaveis.assuntoPhp = assuntoTxt.text;
	variaveis.mensagemPhp = mensagemTxt.text;
 
	/* iniciamos variavel que tem o arquivo PHP
	 * devemos aplicar método POST de envio de dados
	 * e transmitimos os dados dos campos do Flash para o script PHP */
	urlPhp = new URLRequest("http://www.SEU_SITE_AQUI.com/mail.php");
	urlPhp.method = URLRequestMethod.POST;
	urlPhp.data = variaveis;
 
	/* iniciamos variavel responsável por "recuperar" dados/informações do PHP
	 * quando estiver completo o carregamento do arquivo PHP, executa a função que confirma envio.
	 * quando surgir erro durante o envio, executa a função que mostra mensagem de erro.
	 * e carregamos o arquivo PHP armazenado na variavel urlPhp */
	loader = new URLLoader();
 	loader.addEventListener(Event.COMPLETE, quandoEnviadoMensagem);
 	loader.addEventListener(IOErrorEvent.IO_ERROR, quandoHouverErroNoEnvio);
 	loader.load(urlPhp);
}
 
 
//Função de evento, mostra ao usuário que a mensagem foi enviada com sucesso.
function quandoEnviadoMensagem(e:Event):void
{
	mostraMensagemAviso("Mensagem enviada!");
	iniciatempoMensagemDeAviso();
	limpaTodosCamposTextos();
}
 
 
//Função de evento, mostra ao usuário que houve algum erro durante o envio.
function quandoHouverErroNoEnvio(e:IOErrorEvent):void
{
	mostraMensagemAviso("Ops! Surgiu erro! Tenta novamente.");
 	iniciatempoMensagemDeAviso();
}
 
 
//Função de evento do Timer, limpa o campo de aviso, função do Timer
function quandoAcabarTempo(e:TimerEvent):void
{
	mostraMensagemAviso("");
}
 
 
/* Limpa todos os campos de textos digitados pelo usuário
 * depois aplica foco do cursor de texto no campo nomeTxt */
function limpaTodosCamposTextos():void
{
	nomeTxt.text = emailTxt.text = assuntoTxt.text = mensagemTxt.text = "";
	stage.focus = nomeTxt;
}
 
 
/* Destinada pra enviar mensagem de aviso
 * e apaga esse aviso após 3 segundos usando timer.*/
function mostraMensagemAviso(texto:String):void
{
	avisoTxt.text = texto;
}
 
 
/* Destinado pra reiniciar e iniciar intervalo Timer
 * Pra não atropelar o tempoMensagem de cada mensagem de aviso que foi disparada antes*/
function iniciatempoMensagemDeAviso():void
{
	tempoMensagem.reset();
	tempoMensagem.start();
}

Terminamos nosso código AS3. Vamos agora para o script PHP.

5- Criando script PHP

Vamos criar o script PHP, que está brevemente comentado no próprio código. O script PHP faz comunicação com flash e recebe todas as variáveis dinâmicas que recebem valores dos campos de textos digitados pelo usuário dentro do Flash.
Abra um bloco de notas, ou seu editor de códigos, e salve este arquivo na mesma pasta do seu arquivo Flash. Dêmos o nome do arquivo de: mail.php

Insira o seguinte código PHP:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
//coloque o email de destinatário:
$enviaPara = 'seu email aqui';
 
//Criamos variaveis PHP que recupera as Variaveis criadas no Flash
$campoNome = $_POST['nomePhp']; //retorna o valor digitado no campo "nomeTxt" do Flash
$campoEmail = $_POST['emailPhp']; //retorna o valor digitado no campo "emailTxt" do Flash
$campoAssunto = $_POST['assuntoPhp']; //retorna o valor digitado no campo "assuntoTxt" do Flash
$campoMensagem = $_POST['mensagemPhp']; //retorna o valor digitado no campo "mensagemTxt" do Flash
 
//Assunto padrão do seu e-mail
$subject = 'Essa mensagem veio do seu site';
 
//Monta o corpo da mensagem enviada
$mensagem = "Nome: ".$_POST['nomePhp']." \n";
$mensagem .= "E-mail: ".$_POST['emailPhp']." \n";
$mensagem .= "Assunto: ".$_POST['assuntoPhp']." \n\n";
$mensagem .= "Mensagem: \n". $_POST['mensagemPhp'];
 
//e-mail do remetente:
$mail_headers = 'From: '.$_POST['emailPhp'];
 
//envia o e-mail
mail($enviaPara, $subject, $mensagem, $mail_headers);
?>

Basta hospedar seu arquivo PHP em algum servidor e fazer os testes.

Obs: Lembra-se de informar o endereço do arquivo PHP no código AS. Importante também sempre fazer teste online com seus arquivos PHP e SWF no seu servidor web pra garantir que tudo esteja funcionando como esperado.

6 - Download
Download deste exemplo final.

Abraços e até a próxima!

Rodrigo Gonçalves
Equipe Alvo Web

Creative Commons License
O Conteúdo do Alvo Web Developers está licenciada sob uma Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.

Categoria: ActionScript · PHP

41 respostas ↓

  • 1 Jackson // Jan 1, 2009 at 3:47 am

    Brother nunca vi um script tão detalhado tá mais do que de parabéns, se tudo na internet fosse documentado assim concerteza mais pessoas teria acesso a ferramenta. Muito show mesmo. Abr.

  • 2 Rodrigo // Jan 2, 2009 at 12:44 am

    Valeu Jackson!

    Abraços!

  • 3 Twtavares // Jan 6, 2009 at 2:46 pm

    Meu caro, você está de parabens, continue assim.

    []’s

  • 4 Cunha // Jan 12, 2009 at 10:20 pm

    Gostei do tutorial, porém aparece a mensagem de erro e nao envia.
    na linha 30 como deve ser a sintaxe do arquivo php? ex.: “http://www.site.com.br/mail.php”, seria isso?

  • 5 Luiz Correa // Jan 13, 2009 at 1:28 am

    Parabens pelo tutorial. Voce poderia fazer um modelo com combo box e radio button..Demais seu formulario, mas não sei como fazer com script 3. Sou um ilustrador que as vezes brinca com o flash
    Seria de muita ajuda

    Um abraço

    Luiz

  • 6 Rodrigo // Jan 13, 2009 at 9:08 am

    Olá Cunha,

    Sim. O seu arquivo PHP deve estar hospedado em algum servidor que suporte PHP.

    e na linha 30 deve colocar no endereço do seu arquivo PHP algo como:
    http://www.site.com.br/mail.php

    E no arquivo PHP lembra-se, deve também colocar o e-mail de destino na linha 3 do script PHP.

    Valeu pela visita ao site.
    Abraços.

  • 7 Rodrigo // Jan 13, 2009 at 9:10 am

    Luiz, valeu pela visita ao site.

    Não é muito complicado de implementar comboxbox e radio button. Vou tentar fazer um uptade deste artigo com essas suas sugestões.

    Enquanto isso, confere esse tutorial do Natan Alves, talvez encontre o que precisa:
    http://www.mxstudio.com.br/flash/formulario-e-mail-flashphp/

    Abraços.

  • 8 Marcos // Mar 9, 2009 at 6:13 pm

    Oi Rodrigo, tudo bem?
    Sou designer e me arrisco um pouco nos sites em flash, conheço só o básico do básico.
    Achei seu tutorial e finalmente consegui um form que funciona… rs
    Só tem um detalhe, preciso inserir um botão “voltar” para o usuário continuar navegando na página, e a função GetURL não funciona.
    Você poderia me dar uma luz?

    Desde já agradeço
    Marcos

  • 9 Rodrigo // Mar 11, 2009 at 12:35 pm

    Olá marcos, tudo bom?

    Valeu pela visita ao site.

    Então, o método getURL() funciona apenas para código Actionscript 2

    Se você está trabalhando com versão Actionscript 3, use o método:

    navigateToURL()

    funciona do mesmo jeito que o getURL().

    Sobre o botão “voltar”, depende de como você quer fazer.

    Repare que existe uma função que criei no código com nome de “envio”, que quando for enviado o arquivo mostra uma mensagem, alí você pode fazer qualquer coisa que você precisar.
    Por exemplo colocar algum comando pra ir pra alguma pagina URL com método navigateToURL()

    Se você usava AS2 e quer saber o que mudou no AS3, aqui é um bom link pra ter como guia:

    ActionScript 2.0 Migration
    http://livedocs.adobe.com/flex/2/langref/migration.html

    Boa sorte no sue projeto.

    Abraços.

  • 10 Andrio // Mar 12, 2009 at 12:19 am

    Olá Rodrigo,
    achei esse tutorial muito bom, simples, objetivo… mas tenho um problema…o servidor do site q estou terminando só aceita Asp e eu sou péssimo em programação..teria como vc me ajudar em como ficaria em asp??
    obrigado!

  • 11 Rodrigo // Mar 13, 2009 at 2:23 pm

    Olá Andrio.

    Valeu pela visita ao site.

    Então, não conheço sobre ASP.
    Conheço apenas o básico do PHP pra usar formulário com flash.

    Sugestão:
    Tente algum fórum específico de ASP, copiei o código do PHP desse artigo, e tente ver se alguem consegue traduzir pro ASP.

    É um script simples de PHP, acredito que alguem te ajudará nessa parte.

    Na parte do flash não irá mudar nada, apenas lembra-se de colocar o endereço completo do seu arquivo ASP que estiver no seu servidor.

    Abraços.

  • 12 jose eduardo // Jun 3, 2009 at 5:09 pm

    boa tarde gaelra

    coloquei esse script no meu site e nao funcionou, clico no botao contato ai aparece o script, mas so aparece o layout, nao da pra preencher nada,

  • 13 Rodrigo // Jun 4, 2009 at 5:45 am

    Olá Jose, tudo bem?

    Outros usuários já testaram esse mesmo tutorial e conseguiram com sucesso fazer funcionar.
    Se puder passe mais informações do que houve de errado, pois só assim podemos tentar ajudar melhor.

    Você pode fazer o download disponível no final do artigo, para poder fazer testes.

    Enquanto isso, certifique se seu servidor está com suporte a script PHP habilitado, para conseguir enviar e-mail.

    Lembrando que esse formulário só funciona com versão AS3, se tentar usar com outros swf versão AS2 irá ter problemas de funcionamento do mesmo.

    Obs: Sempre faça teste online.

    Abraços.

  • 14 Francis castro // Jun 11, 2009 at 3:09 pm

    Parabens,to cansado se sites onde os caras querem mostrar que sabem algo,só para aparecer,ver um site como o seu que realmente ensina as pessas a aprender e algo , é raro na internet, muito sucesso para vc.

  • 15 Bruno Sampaio // Jun 14, 2009 at 2:49 am

    Olá, Rodrigo!

    Obrigado por disponibilizar os códigos tão bem explicados. Acabo de fazer os últimos testes em um site que estou montando e funcionou sem grandes problemas. No entanto o nome, o endereço de email e a mensagem aparecem todos juntos como \”subject\” do email recebido.
    Como posso fazer para receber a mensagem/comentário no campo de texto do email?
    Mais uma vez parabéns pelo tutorial e obrigado pela ajuda!
    abs

  • 16 Rodrigo // Jun 14, 2009 at 5:46 am

    Olá Bruno.

    Valeu a visita o site.

    Talvez seja só algo de formatação do script PHP, deixar pra pular linha do conteúdo com o comando: \n

    Não manjo muito de PHP, mas veja se assim dá certo.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    <?php
    //coloque o email de destinatário:
    $enviaPara = 'seu email aqui';
     
    //Criamos variaveis PHP que recupera as Variaveis criadas no Flash
    $campoNome = $_POST['nomePhp']; //retorna o valor digitado no campo "nomeTxt" do Flash
    $campoEmail = $_POST['emailPhp']; //retorna o valor digitado no campo "emailTxt" do Flash
    $campoAssunto = $_POST['assuntoPhp']; //retorna o valor digitado no campo "assuntoTxt" do Flash
    $campoMensagem = $_POST['mensagemPhp']; //retorna o valor digitado no campo "mensagemTxt" do Flash
     
    //Assunto padrão do seu e-mail
    $subject = 'E-mail vindo do site tal'." \n\n";
     
    //Monta o corpo da mensagem enviada
    $mensagem = "Nome: ".$_POST['nomePhp']." \n";
    $mensagem .= "E-mail: ".$_POST['emailPhp']." \n";
    $mensagem .= "Assunto: ".$_POST['assuntoPhp']." \n\n";
    $mensagem .= "Mensagem: \n". $_POST['mensagemPhp'];
     
    //e-mail do remetente:
    $mail_headers = 'From: '.$_POST['emailPhp'];
     
    //envia o e-mail
    mail($enviaPara, $subject, $mensagem, $mail_headers);
    ?>

    Abraço.

  • 17 Bruno Sampaio // Jun 14, 2009 at 2:07 pm

    Boa tarde, Rodrigo!

    Na verdade eu que cometi um erro quando alterei o php para formatar dentro das minhas necessidades, mas já consegui acertar o erro.
    Obrigado de qq forma!
    abraço

  • 18 Marcio // Jun 21, 2009 at 1:14 pm

    Olá Rodrigo, muito obrigado pelo formulário, estava buscando um que funcionasse a muito tempo, consegui acrescentar um retorno automático no seu código, se for do seu interesse divulgar, aí vai.

    //aqui são as configurações para enviar o e-mail para o visitante
    $site = “seusite”;
    //o e-mail que aparecerá na caixa postal do visitante
    //titulo da mensagem enviada para o visitante
    $titulo = “título”;
    $msg = “$nomePhp, obrigado por entrar em contato conosco, em breve entraremos em contato”;

    //aqui envia o e-mail de auto-resposta para o visitante
    mail(”$emailPhp”,
    “$titulo”,
    “$msg”,
    “From: $site”
    );

    Vlw

  • 19 Marcos // Jul 15, 2009 at 2:10 pm

    Bom Rodrigo, segui seus passos a risca, e estava funcionando perfeitamente.
    Qdo migrei meu site para a Locaweb, parou de funcionar, aparece a mensagem de erro no envio (mensagem do próprio cód.).
    Será que é alguma configuação no painel de controle da Locaweb???

  • 20 Marcos // Jul 15, 2009 at 2:12 pm

    Marcio, o retorno automático era o que eu estava precisando. Você pode me falar em qual parte do código que eu coloco?
    Obrigado

  • 21 Rodrigo // Jul 15, 2009 at 2:29 pm

    Olá Marcos,

    Veja com seu servidor de web se ter suporte a script PHP pra enviar e-mail, ou se as vezes essa opção pode estar desabilitada é só habilitar no seu painel de hospedagem.

    Mas informações só com eles mesmo.

    Abraço.

  • 22 andre // Ago 4, 2009 at 10:13 pm

    pessoal, vcs estão de parabéns ! sou novo no site e sinceramente os tutoriais são muito bons. Estava há um tempão tentando aprender o envio de email flash via php, e só agora consegui…e já botei pra funcionar :D
    obrigado !

  • 23 Marcos // Ago 10, 2009 at 8:44 pm

    Olá Rodrigo, finalmente descobri o problema.
    Realmente era com o provedor LocaWeb, e foi relativamente simpes de resolver.
    No código Php tem que substituir o ” \n” por “\r\n”.
    Se alguém se deparar com o mesmo problema é só alterar.
    Tenho só mais uma dúvida: qual o código p/ acertar a acentuação no e-mail enviado?
    Mais uma vez Obrigado

  • 24 Davinelson Vasconcelos // Ago 18, 2009 at 10:28 am

    Olá Rodrigo!

    Primeiramente eu gostaria de parabenizar pelo tutorial, pois está muito bem explicado.
    Eu estou testando com o EasyPHP mas nao está funcionando.
    Na linha trinta eu coloquei “http://localhost/testephp1/mail.php”, e na linha 3 do php eu coloquei o meu e-mail.
    Eu gostaria de saber se tem algo de errado no que eu fiz?

  • 25 Davi // Ago 18, 2009 at 8:14 pm

    Olá Rodrigo, o seu tutorial está muito bem explicado, porém eu tentei utilizar esse formulario com o EasyPHP e com o xampp e em nenhum dos dois o e-mail foi enviado (ele mostra a menssagem de enviado mas nao recebo no meu e-mail)
    na linha 30 do AS eu coloquei “http://localhost/testephp1/ mail.php” e no php coloquei o meu e-mail.
    Eu gostaria de saber se está faltando configurar algo.

  • 26 Oskar Design // Ago 19, 2009 at 1:21 am

    Show d bola…. Muito Bom Mesmo!

  • 27 Rodrigo // Ago 19, 2009 at 4:38 am

    Olá Davi e Davinelson,

    Valeu pela visita ao site. Meu forte não é PHP, conheço apenas o basico do basico pra interagir com AS/Flash apenas.

    Mas com script php sempre fiz teste online no servidor e funciona normalmente o script usado nesse artigo.

    Tente fazer o teste online ao invés de localhost.
    Veja também com seu servidor de web se ter suporte a script PHP pra enviar e-mail, ou se as vezes essa opção pode estar desabilitada é só habilitar no seu painel de hospedagem.

    Abraço.

  • 28 Davinelson Vasconcelos // Ago 19, 2009 at 10:49 am

    Olá de novo Rodrigo!

    Eu testei aqui em dois servidores grátis com suporte a php ( o awardspace e o t35) e nao funcionou.
    Você poderia me passar o nome dos servidores que você costuma utilizar com esses scripts?
    Muito obrigado pela atenção!

  • 29 Rodrigo // Ago 20, 2009 at 6:59 am

    Olá Davinelson,

    Veja se o servidor que você está usando possui suporte a função mail() do PHP. Basicamente, é essa função do PHP que envia o conteúdo para o e-mail.

    Porém, qualquer servidor pagos(descente) geralmente oferece bom suporte sobre.

    Um dos que recomendo sobre hospedagem, Next4.com.br:
    http://www.next4.com.br/hospedagem-de-sites-linux.asp
    http://www.next4.com.br/hospedagem-de-sites-windows.asp

    Abraço.

  • 30 JCarlos // Set 18, 2009 at 11:51 am

    Rodrigo, depois de muito tentar fazer um form
    fiz como sua orientação.
    Mas na linha 12 do arquivo php:

    $subject = ‘E-mail vindo do site tal’.” \n\n”;

    Depois de $subject = …. eu devo colocar um endereçoo de site ou apenas deixo assim como está?

  • 31 Rodrigo // Set 18, 2009 at 1:14 pm

    Olá JCarlos,

    Valeu a visita ao site.

    Na linha 12 do php, é apenas uma mensagem que mostrará no “assunto” do seu e-mail.
    Você pode colocar qualquer mensagem ali, é apenas pra você saber de onde veio a mensagem do form.

    Ex:

    $subject = 'Essa mensagem veio do site'." nn";
    
    Abraço.
  • 32 Eduardo // Out 2, 2009 at 9:19 am

    Valeu Rodrigo,

    Esse tutorial ficou muito bom, e bem esplicado. Parabéns.

  • 33 Joao // Out 20, 2009 at 7:04 pm

    Muito bom :)
    no meu caso envia me sempre mesmo nao tendo preenchido nenhum dos campos.
    O que será?

  • 34 Rodrigo // Out 21, 2009 at 2:42 am

    Valeu pela visita João.

    Fiz teste e verifiquei que com o script em si não havia erros. Mas sim um “bug” na caixa de texto dinâmica mensagemTxt.
    A caixa foi gerada manualmente e mesmo estando vazia, na hora de gerar o swf, o flash de algum modo que não sei o porque inseria um “espaço”, uma linha em branco na 1º linha(como se tivesse teclado o Enter).
    Por isso que na hora da verificação se havia conteúdo preenchido o Flash enviava mensagem vazia no campo mensagemTxt.

    Atualizei o artigo e arquivo. Veja se dá certo agora.
    O artigo inteiro foi melhorado e atualizado. Valeu por mostrar o erros.

    Abraço.

  • 35 Joao // Out 24, 2009 at 8:00 am

    Obrigado Rodrigo, está a funcionar direitinho

  • 36 Clayton Vieira // Nov 5, 2009 at 4:07 pm

    Fala Rodrigo,

    Muito bom o tutorial…
    estou tentando usá-lo mas preciso incluir um novo campo de tel e não consigo validar o ‘DDD’ e o ‘nº do tel’… pode me ajudar?

    Obrigado!

  • 37 Daniel // Nov 12, 2009 at 9:40 pm

    VC É O CARA!

  • 38 Alexander // Nov 30, 2009 at 3:32 pm

    Olá Rodrigo,
    Meus parabéns!

    Realmente não estou conseguindo fazer funcionar completamente. Sempre dá um erro no envio e evidentemente, não chega no destino.

    Há problema em testar chamando o swf?
    Pode haver problemas com o proveodr LocaWeb em relação a esse PHP?

  • 39 Pedro // Dez 13, 2009 at 11:19 pm

    Caramba, eu nem coloquei o script para rodar ainda, mas só pela organização do código e a didática não pude deixar de dar os parabéns!!! =)

  • 40 wagner // Jan 9, 2010 at 5:55 pm

    boa nooite irmao, eu queria saber o porque do email demorar pra chegar ou nao chegar sendo q esta funcionando tudo certinho

  • 41 Rodrigo // Jan 10, 2010 at 5:32 am

    Olá Wagner,

    Se o script está certo, as vezes pode ser algum atraso momentâneo do servidor. Se puder, faça teste com outro provedor de e-mail e servidor web pra ver se funciona normalmente.

    Abraço.

Faça um comentário

WordPress database error: [Table 'wp_cas_count' is read only]
INSERT INTO wp_cas_count (id) VALUES (NULL)

WordPress database error: [Table 'wp_cas_image' is read only]
INSERT INTO wp_cas_image (id, createtime, word) VALUES (0, 1328566296, 'move')

WordPress database error: [Table 'wp_cas_count' is read only]
DELETE FROM wp_cas_count WHERE id = 0

*
Para validar seu comentario, por favor digite a palavra que aparece na imagem.
Voce pode escutar o som desta palavra caso julgue necessario. Clique na imagem para ouvir.