jocamo 0 Denunciar post Postado Setembro 15, 2009 Estou tentando fazer um formulário de email que baixei deste forum(se não me engano indicado oelo Membro Berzek) e quando testo dá erro. Peço que alguem analise e veja onde está o erro, pois não encontro o que está errado. Já adianto que o provedor aceita PHP( www.zymic.com). Fiz o form assim: Criei os campos.... Nome> instanciado>nome E-mail> instanciado> email Assunto> instanciado>assunto Mensagem>instanciado> mensagem Estes campos estão apenas instanciados, não há nada no campo variable(var) E 2 botões instanciados > bt_enviar bt_limpar __________________________ No frame coloquei a AS: ____________________________ stop(); nome.text = ""; email.text = ""; assunto.text = ""; mensagem.text = ""; status.text = ""; var obj_s:LoadVars = new LoadVars(); var obj_l:LoadVars = new LoadVars(); bt_enviar.onPress = function(){ if (nome.text == "") { status.text = "O campo nome esta vazio"; selection.setFocus("nome"); } else if (email.text == "") { status.text = "O campo e-mail está vazio"; Selection.setFocus("email"); } else if (assunto.text == "") { status.text = "O campo assunto esta vazio"; selection.setFocus("assunto"); } 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; obj_s.assunto = assunto.text; obj_s.mensagem = mensagem.text; obj_s.sendAndLoad("mail.php",obj_l,"POST"); obj_l.onload = carrega; status.text = "enviando"; } } function carrega(ok){ status.text = obj_l.ok; if(ok){ if(obj_l.ok == '1'){ nextFrame(); }else { status.text = "Erro ao enviar"; } }else { status.text = "E-mail não enviado"; } }; bt_limpar.onPress = function(){ nome.text = ""; email.text = ""; assunto.text = ""; mensagem.text = ""; status.text = ""; } _________________________________________No arquivo PHP coloquei: ______________________________________________ <?php $nome = $_POST['nome']; $email = $_POST['email']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; // Aqui coloquei meu email $recipient = "meunome@uol.com.br"; $subject = "formulário de contato"; $msg = "Nome: $nome \n\nEmail: $email \n\nAssunto: $assunto\n\nMensagem: $mensagem"; // Aqui coloquei meu email $mailheaders = "From: $meunome@uol.com.br"; $ok = mail("$recipient", "$subject", "$msg", "$mailheaders"); if($ok){ echo '&ok=1&'; }else { echo '&ok=2&'; } ?> O que está errado, pois quando texto no provedor, ao clicar em enviar aparece a mensagem: "Erro ao enviar" Compartilhar este post Link para o post Compartilhar em outros sites
jocamo 0 Denunciar post Postado Setembro 16, 2009 Poxa será que ninguem até hoje fez um formulárioem flash e php que funcionasse e pudesse postar aqui. Este exemplo eu baixei deste forum e para mim que sou iniciante , não está funcionando. Talvez eu tenho feitoalgo errado. Mas alguem poderia analisar e dizer o que está errado. O provedor que eu estou tentando executar este formulário é o www.zymic.com e lá diz na home do site que aceita php.Me ajudem aí pessaol. Não aguento mais escrevwe em foruns sobre istp, mas tudo que eu baixo e tento fazer igual, não funciona. Será que sou tão burro assim.... Compartilhar este post Link para o post Compartilhar em outros sites
ricardo_mc 19 Denunciar post Postado Setembro 16, 2009 Olha, em PHP eu não sei, mas se você quiser (e servir) eu posso te passar um em ASP que funciona. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 16, 2009 Oi amigo desculpe a demora :) Ando meio sem internet... No link disponivel para download você baixou... trocou seu e-mail por um e-mail valido no php e testou?? Sem alterar absolutamente nada no código??? Se sim e o e-mail chegou com as respostas muito bem!!! Agora se não chegou verifique se você precisa fazer autentificação de smtp... ou coisa parecida. Agora se funcionou pefeitamente e você simplesmente alterou o layout como campos de texto etc Você lembrou de instanciar os mesmos??? Pois o código é todo com base em instancias. Qualquer duvida fique a vontade em perguntar Abraços Compartilhar este post Link para o post Compartilhar em outros sites
jocamo 0 Denunciar post Postado Setembro 17, 2009 Ola Bersek Como você pode ver no tópico anterior eu fiz exatamente com explicado no FormFacil que você indicou. Coloquei meu email no PHP coloquei as instancias no fla, tudo certo. Quando vou aceeso minha pagina e testo o formulário preenchendo os dados e clicando em enviar, depois de alguns segundos aparece a mensagem de status Erro ao enviar" Isto é o que acontece. Não teria um jeito de eu enviar para você o arquivo fla e o PHP em particular para você analisar e ver o que está errado. Já testei o servidor para ver se aceita função mail hp e deu positivo...Realmente não sei o que está errado. Compartilhar este post Link para o post Compartilhar em outros sites
ricardo_mc 19 Denunciar post Postado Setembro 17, 2009 Bom, eu uso esse form tbm, mas com a função de anexo e sem a mensagem, e vejo que tem algumas coisas diferentes ao form original. Tenta apenas colocar o Variable ao invés do nome Instanciado, e coloca o resto do código como o original (removendo é claro a parte do anexo), dessa forma deve funcionar. O que parece estar acontecendo é que as variáveis não estão sendo enviadas ao PHP, por isso que está dando erro. Como você alterou o código de Variable pra Instanciado, deve ter esquecido de alterar alguma coisa (q eu tbm naum sei), tenta o original pra ver o que acontece. Bom, qualquer coisa eu tenho um form bem simples de envio que montei usando esse fórum e outros, mas é em ASP, é coisa fácil. Eu simplifiquei ele de forma que deve funcionar apenas no copy e paste :D Dá pra usar o seu flash da maneira que ele está, é só deixar tudo com nome instanciado e pronto (apenas confira pra ver se todos os campos batem). Eu alterei o nome do campo 'status' para 'alerta', pois as vezes pode dar conflito, já que status é uma variavel global (pelo menos pra mim ela fica azul :D), e adicionei 'status2' que é a mensagem que aparece no código ASP. Ao testar, não esqueça de ver a caixa de Spam, pq as vezes vai pra lá. Action Script no Frame: nome.text = ""; email.text = ""; assunto.text = ""; alerta.text = ""; function clearFields() { nome.text = ""; email.text = ""; assunto.text = ""; alerta.text = ""; } function valida() { if ((nome.text == "") || (email.text == "") || (assunto.text == "")) { alerta.text = "Favor preencher os campos!"; } else { alerta.text = "Enviando a mensagem..."; envia(); } } function envia() { var sendVars = new LoadVars(); sendVars.nome = nome.text; sendVars.email = email.text; sendVars.assunto = assunto.text; sendVars.load("aspMail.asp?"+sendVars.toString()); sendVars.onLoad = function(ok) { if (ok) { if (this.status2) { alerta.text = this.status2; clearFields(); } else { alerta.text = this.status2; } } }; } Botão Enviar: on (release) { valida(); } Botão Limpar: on (release) { clearFields(); } Código ASP (aspmail.asp) <%@ Language=VBScript %> <% Dim myMail, fields2, f1, f2, f3 f1 = "Nome: " & Request("nome") & vbcrlf f2 = "Email: " & Request("email") & vbcrlf f3 = "Mensagem: " & Request("assunto") & vbcrlf fields2 = f1 & f2 & f3 Set myMail = CreateObject("CDONTS.NewMail") myMail.From = request("email") myMail.To = "email@email.com.br" myMail.subject ="Fale Conosco" myMail.MailFormat = 1 myMail.Body = fields2 myMail.Send Set myMail = Nothing Response.write "status2=Mensagem enviada com sucesso!" %> Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 17, 2009 Bom jocamo Ter tem como me enviar só clicar ali na opção de envio de e-mail pra mim e pegar meu e-mail... Agora o form que você passou esta correto... se ta retornando o valor erro ao enviar signfica que o $ok = @mail ta funcionando :) E ta retornando falso e por isso não ta enviando... ou seja acho que seu serviço de e-mails (se for uol...) usa SMTP e ai meu código não serve mesmo você tem que procurar um form de SMTP Abraços Compartilhar este post Link para o post Compartilhar em outros sites