Ir para conteúdo

Arquivado

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

Thiago de Oliveira Cruz

[Tutorial] Formulário Fácil de e-mail Flash + PHP

Recommended Posts

Bom soh para saber se o problema eh meu formulario ou o seu servidor :)

 

Faça o seguinte:

teste.php

mail("email@email.com", "teste na função mail", "apenas um teste", "From: contato@hkeventos.com.br");

Salve isso ai coloque no seu servidor e rode...

Se chegar o e-mail muito que bem não eh problema da função mail... mas antes de ter certeza olhe o spam

 

Se chegou o problema ta eh no resto que você alterou :) ai eh refazer virgua por virgua ponto por ponto

E ir testando com variaveis fixas

 

Ex:

<?php
 // adicione seu e-mail na linha abaixo
 $recipient = "contato@hkeventos.com.br";
 
 $subject = "formulário de contato";
 
 $nome = 'fulano';
 $email = 'test@test.com';
 $telefone = '2244 4000';
 $tipofesta = 'festa da maria pipoca';
 $convidados = '5000';
 $mensagem = 'Sei lah o que escrever aqui';
 
 $msg = "nome: $nome \n\nE-mail: $email \n\nTelefone: $telefone \n\nTipo de Festa: $tipofesta \n\nConvidados: $convidados \n\nMensagem: $mensagem";
 
 // adicione seu e-mail na linha abaixo
 $mailheaders = "From: contato@hkeventos.com.br";
 
 
 $ok = mail("$recipient", "$subject", "$msg", "$mailheaders");
 if($ok){
 echo 'email enviado com sucesso';
 }else {
 echo 'erro ao enviar';
 }
 ?>

Se isso ai retornar email enviado com sucesso fio... ai o problema eh do seu e-mail... ou da caixa de envio do servidor caso você n receba o e-mail..

E ainda se tiver com problemas verifique se você tem ou n que usar SMTP

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora o email ta chegando.. assim:

 

nome:

 

E-mail:

 

Telefone:

 

Tipo de Festa:

 

Convidados:

 

Mensagem:

 

E depois de preenchido o formulário.. ele nao vai pra frame seguinte, fica Recebendo dados de www.hkeventos.com.br... na barra de status.

 

Novamente os códigos...

 

stop();

nome.text = "";

email.text = "";

telefone.text = "";

tipodefesta.text = "";

convidados.text = "";

mensagem.text = "";

status.text = "";

var obj_s = new LoadVars();

var obj_l = new LoadVars();

 

 

bt_enviar.onPress = function(){

if (nome.text == "") {

status.text = "O nome esta vazio";

selection.setFocus("nome");

} else if (email.text == "") {

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

Selection.setFocus("email");

} else if (tipodefesta.text == "") {

status.text = "Faltou o tipo de festa";

Selection.setFocus("tipodefesta");

} else if (convidados.text == "") {

status.text = "Faltou o No de convidados";

Selection.setFocus("convidados");

} else if (mensagem.text == "") {

status.text = "Faltou a mensagem";

Selection.setFocus("mensagem");

}{

obj_s.nome = nome.text; //Valor do nome

obj_s.email = email.text; //valor do e-mail

obj_s.telefone = telefone.text; //valor do telefone

obj_s.tipodefesta = tipodefesta.text; //valor do tipo de festa

obj_s.convidados = convidados.text; //valor do convidados

obj_s.mensagem = mensagem.text; //valor da mensagem

obj_s.sendAndLoad("www.hkeventos.com.br/mail.php",obj_l,"POST");

obj_l.onLoad = envia();

}

}

 

function carrega(){

if(obj_l.ok = '1'){

nextFrame();

}else{

status.text = 'Erro no envio';

}

}

 

bt_limpar.onPress = function(){

nome.text = "";

email.text = "";

mensagem.text = "";

status.text = "";

}

<?php

// adicione seu e-mail na linha abaixo

$recipient = "contato@hkeventos.com.br";

 

$subject = "formulário de contato";

 

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$tipodefesta = $_POST['tipodefesta'];

$convidados = $_POST['convidados'];

$mensagem = $_POST['mensagem'];

 

$msg = "nome: $nome \n\nE-mail: $email \n\nTelefone: $telefone \n\nTipo de Festa: $tipodefesta \n\nConvidados: $convidados \n\nMensagem: $mensagem";

 

// adicione seu e-mail na linha abaixo

$mailheaders = "From: contato@hkeventos.com.br";

 

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");

if($ok){

echo 'email enviado com sucesso';

}else {

echo 'erro ao enviar';

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você fez os testes que mencionei a cima???

 

Não vi você em momento algum dizendo que chegou os e-mails de teste.

Bom vou partir de que você fez os testes e tudo funcionou.

 

Ele não vai para o proximo frame porque aqui:

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");

if($ok){

echo 'email enviado com sucesso';

}else {

echo 'erro ao enviar';

}

 

Deveria retornar a variavel para o flash como tava no meu form... e não um echo com palavras. Isso eh apenas valido para HTML e PHP, pois o flash esconde o php uma vez que ele carrega usando o LoadVars... por isso você não ve echo nem nada disso.

 

Aqui:

}{
 obj_s.nome = nome.text; //Valor do nome
 obj_s.email = email.text; //valor do e-mail
 obj_s.telefone = telefone.text; //valor do telefone
 obj_s.tipodefesta = tipodefesta.text; //valor do tipo de festa
 obj_s.convidados = convidados.text; //valor do convidados
 obj_s.mensagem = mensagem.text; //valor da mensagem
 obj_s.sendAndLoad("www.hkeventos.com.br/mail.php",obj_l,"POST");
 obj_l.onload = envia();
 }
você comeu o ELSE ALI MEU FILHO!!! isso eh erro do flash!!!!!!

 

Bom e depois que você colocar o else e tals... colocar no seu servidor...

 

Almente seu form uns 300 px para baixo

Coloque um campo de texto

Instancie ele de erros e faça:

 

erros.text = nome.text + newline + email.text ETC colocando todas as variaveis aqui para testar se funciona ou nao... para ter certeza, que as variaveis estao sendo enviadas do flash para o PHP corretamente.

 

Se você ao testar seu flash online não ver os valores nesse campo de erros que você criou... significa que você instanciou os campos errados... e não estah recebendo os valores.

 

Porque não vejo nenhum erro em seu php.

 

Então o erro deve estar no flash mesmo :) que não esta passando as variaveis.

 

 

E mude isso seu codigo no final ali no php para esse aqui:

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");
 if($ok){
 echo '&ok=1&';
 }else {
 echo '&ok=0&';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você fez os testes que mencionei a cima???

 

Não vi você em momento algum dizendo que chegou os e-mails de teste.

Bom vou partir de que você fez os testes e tudo funcionou.

 

Ele não vai para o proximo frame porque aqui:

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");

if($ok){

echo 'email enviado com sucesso';

}else {

echo 'erro ao enviar';

}

 

Deveria retornar a variavel para o flash como tava no meu form... e não um echo com palavras. Isso eh apenas valido para HTML e PHP, pois o flash esconde o php uma vez que ele carrega usando o LoadVars... por isso você não ve echo nem nada disso.

 

Aqui:

}{
 obj_s.nome = nome.text; //Valor do nome
 obj_s.email = email.text; //valor do e-mail
 obj_s.telefone = telefone.text; //valor do telefone
 obj_s.tipodefesta = tipodefesta.text; //valor do tipo de festa
 obj_s.convidados = convidados.text; //valor do convidados
 obj_s.mensagem = mensagem.text; //valor da mensagem
 obj_s.sendAndLoad("www.hkeventos.com.br/mail.php",obj_l,"POST");
 obj_l.onload = envia();
 }
você comeu o ELSE ALI MEU FILHO!!! isso eh erro do flash!!!!!!

 

Bom e depois que você colocar o else e tals... colocar no seu servidor...

 

Almente seu form uns 300 px para baixo

Coloque um campo de texto

Instancie ele de erros e faça:

 

erros.text = nome.text + newline + email.text ETC colocando todas as variaveis aqui para testar se funciona ou nao... para ter certeza, que as variaveis estao sendo enviadas do flash para o PHP corretamente.

 

Se você ao testar seu flash online não ver os valores nesse campo de erros que você criou... significa que você instanciou os campos errados... e não estah recebendo os valores.

 

Porque não vejo nenhum erro em seu php.

 

Então o erro deve estar no flash mesmo :) que não esta passando as variaveis.

 

 

E mude isso seu codigo no final ali no php para esse aqui:

$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");
 if($ok){
 echo '&ok=1&';
 }else {
 echo '&ok=0&';
}

Sim, os testes com as variaveis fixas deram certo. Eu olhei, olhei novamente e agora o email chega com os campos preenchidos.. ele apenas nao vai para a próxima frame.. continua aparecendo na barra de status Recebendo dados de www.hkeventos.com.br...

 

Mais o email ta chegando =)

 

Mudei na AS, o PHP só alterei no que você indicou.

 

stop();
 nome.text = "";
 email.text = "";
 telefone.text = "";
 tipodefesta.text = "";
 convidados.text = "";
 mensagem.text = "";
 status.text = "";
 var obj_s = new LoadVars();
 var obj_l = new LoadVars();
 
 
 bt_enviar.onPress = function(){
 if (nome.text == "") {
   status.text = "O nome esta vazio";
   selection.setFocus("nome");
 } else if (email.text == "") {
   status.text = "O e-mail está vazio";
   Selection.setFocus("email");
 } else if (tipodefesta.text == "") {
   status.text = "Faltou o tipo de festa";
   Selection.setFocus("tipodefesta");
 } else if (convidados.text == "") {
   status.text = "Faltou o No de convidados";
   Selection.setFocus("convidados");
 } else if (mensagem.text == "") {
   status.text = "Faltou a mensagem";
   Selection.setFocus("mensagem");
 } else {
   obj_s.nome = nome.text; //Valor do nome
   obj_s.email = email.text; //valor do e-mail
   obj_s.telefone = telefone.text; //valor do telefone
   obj_s.tipodefesta = tipodefesta.text; //valor do tipo de festa
   obj_s.convidados = convidados.text; //valor do convidados
   obj_s.mensagem = mensagem.text; //valor da mensagem
   obj_s.sendAndLoad("mail.php",obj_l,"POST");
   obj_l.onload = envia();
	}
 }
 
function carrega(){
	erros.text = nome.text + newline + email.text + telefone.text + tipodefesta.text + convidados.text + mensagem.text();
  if(obj_l.ok = '1'){
  nextFrame();
  }else{
  status.text = 'Erro no envio';
  }
 }
 
 bt_limpar.onPress = function(){
  nome.text = "";
  email.text = "";
  mensagem.text = "";
  status.text = "";
 }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sorry não vi

 

Aqui:

if(obj_l.ok = '1'){

nextFrame();

}else{

status.text = 'Erro no envio';

}

 

é ok == '1' e não = 1

 

Abraços

 

Valeu pelas dicas cara!! Agora sim ta de boa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salve Berseck!

 

TO tentando desenvolver um site em que o mouse controla o cenário. Por ex: veja neste link modelo

 

O codigo que uso é

 

1º frame

 

var Mx:Number = 0;

var My:Number = 0;

 

 

2º frame

 

stop();

onMouseMove = function() {

Mx = _xmouse;

My = _ymouse;

fundo._x = 180+(_xmouse/3)

fundo._y = 150+(_ymouse/3);

fundx = fundo._x;

fundy = fundo._y;

cara._x = 200+(_xmouse/2.5)

cara._y = 450+(_ymouse/3)

caraX = cara._x;

caraY = cara._y;

};

 

 

 

// onde o "fundo" é o predio, e o "cara" é o poste ea placa

 

 

Perceba que o cenario todo segue o movimento e a direção do mouse

 

Eu gostaria que se movesse para direita quando o mouse fosse para direita, com um efeito loop sei lá, um atraso de tempo ta ligado

O mesmo quando para a esquerda... como nesse site aqui modelo espelho

 

Obrigado!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe cara, mas esse tópico é apenas relacionado a Formulário Flash com PHP e não a outro assunto.

 

Se quiser informações sobre esse assunto, poste por favor sua pergunta na parte geral do forum.

Eu sei que é chato que eu poderia responder aqui, mas uma vez que não tem nada relacionado com o tópico eu gostaria que fosse colocada a mesma pergunta no forum geral de flash.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito como de praste.

 

Berseck mais uma vez salva a pátria!

 

valeu Berseck!!!

 

Berseck,

estou com problemas no arquivo PHP.

 

$subject = "Sugestão, Usuário e Divulgação";

Quando recebo o e-mail o subject não vem com os acentos e o "ç".

 

Sabe como resolvo?

 

Obrigado

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Berseck, vejo que você se predispoe a ajudar a formatação de formularios, se possivel conto com sua ajuda no que segue:

 

Estou com u template fixo e nele ha uma layer formulario para envio de dados de um contato.

O seguinte codigo esta na layer do formulario:

________________________________________________________________________

 

reset_button.onRelease = function()

{

contact_name.text = "";

contact_email.text = "";

contact_subject.text = "";

contact_message.text = "";

}

send_button.onRelease = function()

{

if( contact_name.text != "" && contact_email.text != "" && contact_subject.text != "" && contact_message.text != "" )

{

}

contact_name.text = "";

contact_email.text = "";

contact_subject.text = "Muito Obrigado";

contact_message.text = "Sua mensagem foi enviada com sucesso!";

}

__________________________________________________________________________________________

 

Sei que necessito acrescentar o ".php", onde colocaria a programação no flash (citado acima) e qual seria a programação do arquivo de extenção ".php"?

Sei que me perguntara se as caixas de texto estariam em variavel ou em instancia, "elas estão configuradas em instancia".

 

contact_name

contact_email

contact_subject

contact_message

 

Já coloquei o site no ar e não consigo receber em meu e-mail as informações do formulario, se desejar entrar no site para saber como seria o formulario é www.rosedog.com.br link "contatos".

 

Por gentileza, peço a sua ajuda nesse momento.

 

Se necessário me coloca a disposição para mandar todos os codigos para sanar a duvida.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Berseck, apesar de ser uma pessoa esclarecida e ter feito todas as tentativas necesarias e possiveis para acertar o Formulario, vim com muita humildade pedir ajuda.

Tenho ciencia e outros meios para conseguir tal resposta, mas infelizmente acreditei que "dificuldade" ou "má interpretação de algum item" pudesse ter me feito recorrer a você e a sua ajuda.

Com mais um pouco de humildade peço desculpas por ter atrapalhado ou irritado você com minhas duvidas.

 

Agradeço pela atenção dispensada mesmo em sua resposta infeliz.

Li o tutorial e se fiz a pergunta é "pq não tive a capacidade de entender o que poderia estar errado".

 

obrigado, não se estresse e como dizem "deixa prá lá."

Adilson

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é questão de deixa pra lá

 

A minha pergunta é simples.

Você tentou o tutorial???

 

Baixou o arquivo e testou para saber como funciona???

Eu respondo quem tenta fazer e quem mostra o que fez e está com dúvida.

 

Não me interprete mal, mas eu já disse isso aqui no forum um milhão de vezes, vir aqui e pedir código de mão beijada é fácil, pagar um funcionário 800 reais para ele fazer 10 sites num mês tbm é muito fácil e uma #@?$%~ exploração.

 

Pagar um cara que sabe fazer um valor ideal pelo serviço ninguem quer... querem sempre passa a perna.

 

E eu desculpe, mas assumi o posicionamento de não mostrou o que fez... não falou o que tentou, mostrou código com erro... eu não ajudo.

Pois se não vira festa vir 500 caras que não sabem nada por dia, num forum pedir código e um cara que sabe e ta de boa vontade escrever o código para ele.

 

Eu tenho boa vontade com todo mundo que mostra e que quer fazer... aqueles que só pedem... pode ser humilde ou não e não mostra nada... eu não ajudo.

Afinal como dizem ninguem ta num forum ajudando porque quer dinheiro e sim porque quer ajudar.

 

Se eu ficar colocando 500 mil opções de código de php como fazer um formulário flash funcionar... eu vo ganhar dinheiro como??? basta vir um cara que não sabe nada... copiar código colar e pronto ganhou 500 reais ou whatever encima do bobo que fez o código free.

 

E esse não é o proposito do forum e nem meu.

 

Então me desculpe se interpretei mal ou não.

Falar que não sabe milhões falam... falar que o tentou e mostrar ai são poucos.

 

Então falo novamente.

Baixe o exemplo que funciona... delete algumas partes... veja o que deixou de funcionar... volte o código ao original... delete denovo mais umas partes veja o que mais parou de funcionar... e assim vai.

 

Eu aprendi assim.

Não tenho 10 anos de experiencia com flash muito menos com php tenho sim é 2 e com muito esforço e boa vontade, sempre procurando ajuda assim como você está fazendo em foruns... mas sempre mostrei tudo que tentei, com exemplos de como não funcionou, para auxiliar quem estava tentando me ajudar.

 

E sim já paguei por ajuda, dando doações em blogs etc, porque quem nos ajuda nem sempre pede dinheiro pela ajuda, mas salva um projeto que tava afogado as vezes por bobeira e virgula.

 

Como diz o ditado:

"Um dia uma grande empresa viu seu gigante servidor parar de funcionar, os técnicos da empresa tentaram de tudo, se esforçaram ao máximo para resolver o problema, mas infelizmente ninguem conseguiu resolver, ai então ligaram para um cara que dizia que consertava esse tipo de servidor, ele parou olhou daqui, olhou dali... mexeu o servidor um pouquinho pro lado, abaixou-se e apertou o parafuso, pediu para que testassem e vissem o que acontecera, tudo como um passe de mágica voltou a funcionar. Então o cara deu a conta ao dono da empresa, o dono da empresa ao ver o preço berrou, MAS MIL DOLLARES POR APERTAR UM PARAFUSO?!?!?! ESTAS LOUCO??? e então o funcionário calmamente respondeu: Não, não o senhor me interpretou mal, 1 dollar foi por apertar o parafuso, os outros 999 foi por saber qual parafuso era para se apertar."

 

Eu acho que não preciso explicar a moral da história não é mesmo?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro Berseck, já resolvi meu problema como havia dito no post anterior.

Sobre eu baixar e ver seus arquivos, é dificil, pois o editavel em Flash, esta quebrado, nao abre.

Segundo seus codigos do post estão errados, conclui que colocar letras maiusculas ou minusculas para enganar ou supostamente evitar curiosos é valido.

O que não é valido é você se predispor a ajudar ou colocar códigos de formularios ou seja qualquer coisa dizer que ajuda e ser mau educado.

Conclusão que levo da vida " se quiser fazer algo, faça com amor e dedicação, se não vá pescar, vá surfar, va fazer qualquer coisa, menos usar um espaço onde perdi tempo e paciencia."

Desculpe Berzeck, mas vá trabalhar em outra área se você estiver sobrecarregado como fala e não ve lucros.

 

A quem interessar eu deixo meu e-mail para contato, (adibua@gmail.com) assim poderei ajudar a quem possa em seus problemas com formularios, pois aprendi muito com essa lição.

 

E NAO ESTOU FAZENDO ISSO SEM SABER O QUE FAÇO, MAS FAZENDO COM AMOR.....

Ensinar a pescar é melhor do que dar o peixe, mas para ensinar precisa-se ter tato.

 

Abraços

Adilson

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que bom que conseguiu fazer... ta vendo como com esforço e dedicação você conseguia???

O código não está errado

 

O forum é quem altera a função onload e para L minusculo como outras funções pode ver nas respostas dos posts..

Não tenho motivo algum para discutir com você sobre o que eu sei ou o que eu faço

 

Trabalho com muito louvor e amo meu trabalho

 

Desculpe Berzeck, mas vá trabalhar em outra área se você estiver sobrecarregado como fala e não ve lucros.

1 Meu nick escreve-se berseck e não como você escreveu

2 Eu ganho muito bem obrigado pelo trabalho que eu faço, se não sabe interpretar exemplos desculpe problema n é meu.

3 Não estou sendo mal educado estou apenas lhe dizendo o que penso se isso lhe ofende não posso fazer nada.

 

Bater boca não nos leva a nada :)

 

Então se não tem flash CS 3 ou 4 baixe na net, pois a maioria dos códigos que presta são feitos nesses.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro berseck, venho novamente te pedir uma dica:

 

Tô me baseando no seu código AS pra fazer um sisteminha simples de newsletter.

O fato é que no PHP tem algumas ações que abrem caixas de alerta e os textos delas não estão aceitando acentos e cedilha.

Tá mais ou menos assim:

mail($email,$confirm_assunto,$msg,$cabecalho);
echo "<script>alert('Um e-mail de confirmação foi enviado para $email!');";
echo "location.href='http://www.xxxxxx.com.br'</script>";
Poderia me dizer o que fazer?

Obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usar: á e ç com ponto e virgula no final no alert.

 

Mas porque não dar esse alert com o alert do flash? o flash tem função de alert() da uma pesquisada a respeito.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei os á e ç mas não funcionaram!

Esse ponto e vírgula que você citou já e aquele que tá no código que colocquei acima?

 

Não uso do Flash porque, o cadastro na newsletter é pelo flash mas o processo de remoção do e-mail da lista (cancelar a assinatura da news)é feita por um formulário HTML que chama o PHP em questão.

 

Valeu camarada!

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.