Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Freelife

[Resolvido] Formulário de email

Recommended Posts

Galera... eu segui vários tutoriais para fazer o form de email, mas nenhum deu certo. Tentei fazer um que envia emails através de cfm, falhou, tentei outros através de php, falharam. O último que testei foi esse, um código simples a príncípio mas não funcionou, alguém me ajuda???!!!

 

código do AS:

 

stop();
//assim o cursor já começará no campo "nome"
Selection.setFocus("nome");

//endereço do seu e-mail
destinatario = "meuemail@servidor.org";

function enviar_email() {
	trace("enviando");
	enviar = new LoadVars();
	recebe = new LoadVars();
	enviar.nome = nome.text;
	enviar.email = email.text;
	enviar.corpo = corpo.text;
	recebe.onLoad = function (ok) {
	   trace("retorno:"+ok);
	   if(ok == true){
			 trace("enviado");
	   }
	};
	enviar.sendAndLoad("mail.php", 0, "GET");
}

//envia o e-mail com a condicional abaixo
//se você não sabe o caminho do detino do botão enviar, clique no ícone do "Insert Target Path" e
//vá selecionando até encontrar o bt_enviar, assinale "absolute"
_root.bt_enviar.onPress = function  () {
  enviado ="";
  at = email.text.indexOf("@");
  dot = email.text.lastIndexOf(".");
  if (at < dot && at != -1){
	 enviar_email()
	enviado = "Mensagem Enviada";
  } else {
	enviado = "Erro nos dados";
  }

}

//função para limpar os campos
_root.bt_limpar.onPress = function() {
nome.text = "";
email.text = "";
corpo.text = "";
}

 

php

 

<?
if ($email != "" and $destinatario != "")
{
$cabecalho = "From: $email\nReply-To: $email";
$corpo .= "Nome = $nome .\n";
$corpo .= "Email = $email .\n";
$corpo .= "Mensagem = $mensagem .\n\n";
$corpo .="\n\n*************************************
*****\n";
$corpo .= "**********************************************";
mail($destinatario, $assunto, $corpo, $cabecalho);
echo ("&enviado=ok&");
}
?>

espero que possam ajudar.

 

flw

 

obs: Quando eu faço o teste no site aparece como "mensagem enviada", porém não chega nada para o destinatário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

-.-

 

Todo mundo pega esse mesmo form é???

 

caraca... nunca vi...

 

Bom vamos lá você quer 1 flash que envie... Nome, E-mail e Mensagem né?

 

Então vamos lá vou ensinar como se faz again... já expliquei isso aqui umas 8 vezes kkkkkkk

 

no flash você vai fazer o seguinte

Coloque 4 imput text

No relativo ao nome você vai nomear a variável de name

No relativo ao e-amil você vai nomear a variável de email

E a caixinha de mensagem você coloca a variável de msg

 

Vai criar um ultimo que será o status e coloque a variável de status.

 

o código do frame de actions vai ficar assim

name = "";
email = "";
mensagem = "";
status = "";

O código do botão de envio vai ficar o seguinte

on (release) {
 if (name == "") {
  status = "O nome esta vazio";
  selection.setFocus("name");
 } else if (email == "") {
  status = "O e-mail está vazio";
  Selection.setFocus("email");
 } else if (mensagem == "") {
  status = "Faltou a mensagem";
  Selection.setFocus("mensagem");
 } else {
  loadVariablesNum("mail.php", 0, "POST");
  status = "Mensagem Enviada";
 }
}

No mail.php você vai fazer o seguinte!

 

<?php
$recipient = "seuemail@seuhost.com";

$subject = "formulário de contato";

$msg = "nome: $name \n\n E-mail: $email \n\nMensagem: $mensagem";

$mailheaders = "From: seuemail@seuhost.com";

mail("$recipient", "$subject", "$msg", "$mailheaders");
?>

E prontooooooooo boa diversão

 

:)

Abraços

 

 

PS: Esse código ai funciona pois uso ele em meu site -.-

PS2: Não corrigi o problema do seu código, pq achei mais simples fazer outro.

 

Fuiz

Compartilhar este post


Link para o post
Compartilhar em outros sites

-.-

 

Todo mundo pega esse mesmo form é???

 

caraca... nunca vi...

 

Bom vamos lá você quer 1 flash que envie... Nome, E-mail e Mensagem né?

 

Então vamos lá vou ensinar como se faz again... já expliquei isso aqui umas 8 vezes kkkkkkk

 

no flash você vai fazer o seguinte

Coloque 4 imput text

No relativo ao nome você vai nomear a variável de name

No relativo ao e-amil você vai nomear a variável de email

E a caixinha de mensagem você coloca a variável de msg

 

Vai criar um ultimo que será o status e coloque a variável de status.

 

o código do frame de actions vai ficar assim

name = "";
email = "";
msg = "";

O código do botão de envio vai ficar o seguinte

on (release) {
 if (name == "") {
  status = "O nome esta vazio";
  selection.setFocus("name");
 } else if (email == "") {
  status = "O e-mail está vazio";
  Selection.setFocus("email");
 } else if (msg == "") {
  status = "Faltou a mensagem";
  Selection.setFocus("msg");
 } else {
  loadVariablesNum("mail.php", 0, "POST");
  status = "Mensagem Enviada";
 }
}

No mail.php você vai fazer o seguinte!

 

<?php
$recipient = "seuemail@seuhost.com";

$subject = "formulário de contato";

$msg = "nome: $name \n\n E-mail: $email \n\nMensagem: $msg";

$mailheaders = "From: seuemail@seuhost.com";

mail("$recipient", "$subject", "$msg", "$mailheaders");
?>

E prontooooooooo boa diversão

 

:)

Abraços

 

 

PS: Esse código ai funciona pois uso ele em meu site -.-

PS2: Não corrigi o problema do seu código, pq achei mais simples fazer outro.

 

Fuiz

Tá beleza, valeu mesmo assim...

 

você comentou que todo mundo pega essse form, na verdade eu peguei uns 4 ou 5...rsrsrs mas não consegui fazer nenhum funcionar por isso postei esse aí que era o menor deles.

 

Vou tentar usar esse para teste, mas por acaso, você sabe como usar .cfm para o envio de emails? eu lí na bíblia do flash 8 fiz tudo como pedia o figurino mas dava o erro: "erro downloading content."

 

Acha que pode ajudar???

 

Abraços e vlw ajuda... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

obs; o código do botão:

 

on (release) {

if (name == "") {

status = "O nome esta vazio";

selection.setFocus("nome");

} else if (email == "") {

status = "O e-mail está vazio";

Selection.setFocus("email");

} else if (msg == "") {

status = "Faltou a mensagem";

Selection.setFocus("msg");

} else {

loadVariablesNum("mail.php", 0, "POST");

status = "Mensagem Enviada";

}

}

 

flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom ai tu tem de ler os artigos

 

http://imasters.com.br/artigo/630/asp/...asp_cfm_ou_php/

 

http://flashmasters.net/forum/index.php?topic=4970.0

 

http://www.flashcfm.com/

 

Ai provavelmente vai achar sua resposta

 

 

Eu não costumo trabalhar com ColdFusion......

 

Funciono melhor com php e asp :)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw...

 

novamente valeu... vou ler esses artigos sim... mas cara... acho que to fazendo alguma coisa errada... não deu certo de novo... no site dá como mensagem enviada, mas não chega nada pra mim...

 

o código...

 

name = "";
email = "";
msg = "";

<?php
$recipient = "meuemail@host.org";

$subject = "formulário de contato";

$msg = "nome: $name \n\n E-mail: $email \n\nMensagem: $msg";

$mailheaders = "From: jeanjap@adasntaines.org";

mail("$recipient", "$subject", "$msg", "$mailheaders");
?>

acho que tá tudo certo como você passou... mas o problema é que não chega nada, e aparece mensagem envada no status.

 

Vlw pela força...

Compartilhar este post


Link para o post
Compartilhar em outros sites

só corrige um erro basico

 

=P

 

Troca o msg do flash por mensagem

 

E troca no php por mensagem tbm

 

Que ai deve passa a funcionar

 

 

Erro meu mal ai x)

 

Baixe o formulário aqui

 

Design dele é horrivel :P

 

Mas funciona hihihi

 

Prova que ele funciona?

Subject: formulário de contato

Sender: meu e-mail add

Recipient: meu e-mail add

Date: Today 07:38

To protect your privacy, remote images are blocked in this message. Display images

nome: 123

 

E-mail: 123

 

Mensagem: 132

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vlw novamente cara...

 

mas então... o email chegou... só que chegou sem conteúdo, os campos estão vazios... rsrsrs e agora josé??? rsrsrs

ah e detalhe... eu usei o seu form para teste tbém só pra ver se eu havia errado alguma coisa, mas tbém chega sem conteúdo..

 

mensagem:

 

nome:

 

E-mail:

 

Mensagem:

No virus found in this incoming message.

Checked by AVG - http://www.avg.com

Version: 8.0.175 / Virus

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está enviando esse formulário de um website??

 

ou está fazendo teste de serviço interno?

 

Funciona perfeitamente em meu host esse formulário ai... sem tira nem por...

Fiz umas 30 vezes o teste e todas passaram...

 

Então não faço idéia do que você possa estar fazendo errado...

 

Não quer publicar seu fla em um rapidshare, 4share da vida... para que eu teste?

 

Vlw

 

Abraçso

Compartilhar este post


Link para o post
Compartilhar em outros sites

berseck, eu vi esse seu exemplo aqui, e tantos outros espalhados por aí net afora, mas não estou conseguindo aplicar no meu exemplo...

 

Não exatamente um email que eu estou querendo mandar, na verdade, eu quero gerar um arquivo (xml, txt) com os dados passados pelo flash para um php.... porém aqui não está funcionando essa parte da exibição dos dados vindos do flash!!!

 

Aqui é o meu php que está sendo chamado pelo flash

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mail</title>
</head>

<body>
<?php

$msg = "nome: $_POST[name] \n\n E-mail: $_POST[email] \n\nMensagem: $_POST[mensagem]";

 $conteudo = $msg; // Fechamos a tag guest
 $filename = "coisa.txt";


// verifica se o arquivo existe e pode ser alterado
if (!$handle = fopen($filename, 'w')) {
	 echo "Não foi possível abrir o arquivo ($filename)";
	 exit;
}	
// Escreve $conteudo no arquivo aberto.
if (fwrite($handle, $conteudo) === FALSE) {
	echo "Não foi possível escrever no arquivo ($filename)";
	exit;
}	
echo "Sucesso: Escrito ($conteudo) no arquivo ($filename)";

fclose($handle);

?>
</body>
</html>

 

E esse aqui eh o código q está no 2º Frame do arquivo .FLA

loadVariablesNum("mail.php", 0, "GET");
stop();
intervalo = function() {
prevFrame();
clearInterval (tempo);
}
tempo = setInterval (intervalo, 1800);

::: Eu tentei fazer assim tbm, mas naum deu certo :::

var login_lv = new LoadVars();

 login_lv.nome = nome.text;
 login_lv.assunto = assunto.text;
	 
login_lv.sendAndLoad("mail.php",login_lv,"POST");

login_lv.onLoad = function()
{
	  if(this.ok)
	  {
		   //aqui você coloca o q acontece qdo o login e senha estiverem corretos
		   trace("login e senha corretos");
	  }
	  else
	  {
			//aqui você coloca o q acontece qdo o login e/ou senha não estiverem corretos
		   trace("login e/ou senha errados");
	  }
 }

Tu pode me dar uma ajuda nisso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só gostaria de lembrar que a variavel GET tem limite máximo de caracteres... o ideal seria utilizar o POST....

 

Eu usei GET no meu exemplo pq são poucas coisas afinal um formulariozinho de contato a galera não precisa escrever um livro :)

 

Mas eu não entendi qual o seu problema...

 

O seu flash está enviando os dados e o php não está recebendo??? é isso?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, o meu php estava criando um arquivo, mas não estava colocando o conteúdo, que seria os valores passados pelo flash....

Mas eu dei mais uma olhada e percebi onde estava o erro....

 

loadVariablesNum("mail.php", 0, "GET");

Não tem como eu pegar os valores no php se o flash estava mandando como GET.. [Dâhrrr]

 

MAs usando o loadVars(), tbm funciona???

 

var login_lv = new LoadVars();

login_lv.nome = nome.text;
login_lv.assunto = assunto.text;
	
login_lv.sendAndLoad("mail.php",login_lv,"POST");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom a principio sim :)

 

eis um exemplo que eu postei a um tempo atrás de outro programador

var L:LoadVars = new LoadVars();//Cria um objeto responsável por enviar e receber as variáveis
L.valor = "bla bla bla";//Valor a ser enviado
L.sendAndLoad("http://localhost/endereco_do_php.php", L, "POST");//Endereço do arquivo php com a função - Para testes no ambiente de criação, use endereço completo, como no exemplo.

Só que eu normalmente coloco essa função relacionada a um botão :)

:D

 

E eu já usei isso ai anteriormente e funcionava que era uma magavilha :)

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

eh.... eu tentei aqui com o loadVars e funcionou direitinho...

 

Mas nessas horas sempre bate uma dúvida horrivel:

 

::: DUVIDA :::

» Existe algum tipo de recomendação para o uso das duas formas... tipo.... eu já vi em muitos tutos e/ou posts a recomendação de se usar o loadVars(), mas nunca entendi o porque [exatamente] disso... ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então...

sabe o que é estranho?! Eu estou usando o seu form que você deixou no link, alterei o email como no arquivo php como estava a instrução e coloquei ele no meu site de teste, mas mesmo assim a mensagem chega, mas, sem conteúdo como mencionei acima. Muito estranho...

 

sobre publicar, agora não posso pois não estou com os arquivos, mas assim que puder eu dou um jeito de publicar.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uai.....

 

Agora você me pegou.....

 

O arquivo SWF está na mesma PASTA que o PHP??

 

Pois não tem motivo algum para não funcionar O_O

 

que estranho......

 

 

Quanto a duvida do P3rukao

 

Cara assim, não existe um método que seja certo ou errado... o que cabe a pessoa é fazer o que ela acha que vai dar menos trabalho para ela e que tenha o código mais limpo......

 

Por exemplo...

Quando se está construindo jogos em flash (coisa que eu custumo fazer) quanto mais limpo e simples for o código mais fácil vai ser o seu trabalho em detectar onde está o erro caso haja algum erro...

 

se eu fica usando

var L:LoadVars = new LoadVars();
L.valor = "bla bla bla";
L.sendAndLoad("mail.php", L, "POST");

Eu vou gastar 3 linhas

 

Se eu já declarei todas as variáveis antes... ou fiz um cara trabalhar para encontrar as variáveis ou digitar as variáveis

Ai fica mais simples eu gasta uma linha só

usando o loadVariablesNum("mail.php", 0, "POST");

 

pois já tive todo trabalho anterior... e não tive de criar uma variável para ficar enviando outras.......

 

 

Então é tudo questão de quem faz... método que prefere etc...

 

E lembrando que quanto menos código mais leve fica o arquivo...... e mais rápido ele roda....

Pq as vezes milisegundos podem fazer uma diferença danada... mas em outros casos nenhuma ;)

 

Então é tudo uma questão do método que você prefere e decora melhor ^^

 

Exemplo disso é que eu estou tendo dificuldades em me entender com o AS3... uma vez que acho que tem muito mais lógica os comandos de AS2...

 

Apesar que o AS3 seja mais completo :D

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

caraca meu... to vendo que estou falando com especialistas...rsrsrs

 

eu vou primeiro tentar fazer o form funcionar depois vou tentar implementar o que o P3rukao ta fazendo só que mudando um pouco...

 

sobre o form: então... os arquivos estão na mesma pasta, pois, se não fosse assim o email nem chegaria pra mim certo?! a única coisa é que só chega isso:

nome:

E-mail:

Mensagem:

 

e mais nada...

 

 

Agora outra dúvida: Esse form que estou fazendo será para o seguinte uso. No site terá um conteúdo, se a pessoa ficar com dúvidas então usará o form para enviar sua dúvida.

 

Idéia: tem como quando a pessoa enviar sua dúvida eu queria que a dúvida aparecesse na pág, tipo um blog, alguma coisa assim... aparecendo a dúvida e depois a resposta que colocarei embaixo.

Tem como fazer isso?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

berseck, Eu entendi o que você que você quiz me dizer..... obrigado....

 

agora está mais claro....... só fico com receio de acabar usando métodos "antigos" para fazer minhas aplicações.... mas com a chegada do AS3, isso deve ficar pra trás rapidim... http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

Vlw pela ajuda... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Freelife

 

O problema pode estar no GET como eu usei......

 

Ai se você trocar por POST talvez resolva o problema :)

Mas tem que ver direito...

 

Quando você puder, da uma olhadinha testa de novo e ai posta aqui vlw?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá certo então berseck vou ver em casa pois, não lembro qual foi o método usado no seu fla.

 

Sobre a outra dúvida sabe se tem como fazer? Tipo ao mesmo tempo que o cara enviar a dúvida o sistem já postar a dúvida na pág, e depois quando for respondida a questão a resposta ficar embaixo.

 

Só pra saber se tem como pois daí vou pesquisar como fazer...

 

Abraços http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha...

 

Ter tem...

 

Se tu manjar bem de php fica fácil

 

Pois ai você manda a variável msg, para outra página de php que vai ser onde vai fica postada a pergunta... e ai tu teria de responder para o e-mail da pessoa e colocar a resposta em baixo da onde chama essa variável -.-

 

Tipo se vai ter que criar algo do tipo, Pergunta resposta... vai ter de criar uma página na qual leia a pergunta que o cara fez através da leitura da variável msg, e você vai ter de criar um administrador que possibilite que você envie em baixo da resposta da variável msg uma outra como se fosse resposta...

 

Tipo vai ter de criar um arquivo que tenha

 

<table width=100%>

<tr>

<td>

<? echo "$msg"; ?>

</td>

</tr>

<tr>

<td>

<? echo "$resposta"; ?>

</td>

</tr>

</table>

 

Fazendo isso ai você vai fazer com que as respostas fiquem em tabelas diferente e tals...

Eu estou dando só um exemplo, não sei como você quer fazer nem layout nem nada.

 

Ai você teria de criar um administrador que seria igual a um form de e-mail com caixas de texto que enviaria a variável $resposta para o php que você criou onde seria postada a pergunta e a resposta...

 

 

Bom a principio é isso ai

Como você vai fazer??? para criar isso tudo :P ai já não é comigo hahaha

 

Abraços

 

PS: Eu apenas engatinho no php... sei bem pouco... sei fazer formulários buscas e tals... mas blog... etc... administrativo não é comigo hehehe melhor perguntar para o povo do php

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.