denizehell 0 Denunciar post Postado Novembro 9, 2010 Dae pessoal hehehe eu denovo, todo dia agora... ¬¬ Como todos sabem AS não é meu forte... Então o site q estamos trabalhando tem um form de contato em flash, com vários campos, e 4 layers, botoes, mensagem, as, e texto. A texto tem varios campos, com imputs instanciados. o AS q coloquei no form é este: //ativa o curso no campo nome assim que essa tela for carregada; Selection.setFocus("titulo"); //tecla tab. Por esse comendo você controla a ordem de onde irá o cursor ao se clicar na tecla TAB; titulo.text.tabIndex = 0; nome.text.tabIndex = 1; endereco.text.tabIndex = 2; cidade.text.tabIndex = 3; estado.text.tabIndex = 4; pais.text.tabIndex = 5; telefone.text.tabIndex = 6; email.text.tabIndex = 7; mensagem.text.tabIndex = 8; //limpar formulario. Função que limpa o formulário depois que o email foi enviado; function limpar() { titulo.text = ""; nome.text = ""; endereco.text = ""; cidade.text = ""; estado.text = ""; pais.text = ""; telefone.text = ""; email.text = ""; mensagem.text = ""; } //enviar email function envia() { //Verifica se o campo "nome" está vazio, se estiver, aparece a mensagem senão ele verifica o proximo campo. //o mesmo aconteco com o campo "email" e "mensagem". if (titulo.text == null || titulo.text == "") { statusMensagem.text = "!! Por favor, insira o assunto."; // a unica diferença no campo email é que além dele verificar se está vazio, ele também verifica se o conteúdo digitado possui "@" e "." } else if (nome.text == null || nome.text == "") { statusMensagem.text = "!! Por favor, insira seu nome."; }else if (endereco.text == null || endereco.text == "") { statusMensagem.text = "!! Por favor, insira seu endereco."; }else if (cidade.text == null || cidade.text == "") { statusMensagem.text = "!! Por favor, insira sua cidade."; }else if (estado.text == null || estado.text == "") { statusMensagem.text = "!! Por favor, insira seu estado."; }else if (pais.text == null || pais.text == "") { statusMensagem.text = "!! Por favor, insira seu pais."; }else if (telefone.text == null || telefone.text == "") { statusMensagem.text = "!! Por favor, insira seu telefone."; }else if (email.text == "" || email.text == null || email.text.indexOf("@", 0) == -1 || email.text.indexOf(".", 0) == -1) { statusMensagem.text = "!! Por favor, insira um e-mail válido."; } else if (mensagem.text == null || mensagem.text == "") { statusMensagem.text = "!! Por favor, insira sua mensagem."; } else { //ainda falaremos muito sobre a classe LoadVars, é ela que junta tudo e manda para o php. var envia:LoadVars = new LoadVars(); envia.titulo = titulo.text; envia.nome = nome.text; envia.endereco = endereco.text; envia.cidade = cidade.text; envia.estado = estado.text; envia.pais = pais.text; envia.telefone = telefone.text; envia.email = email.text; envia.mensagem = mensagem.text; //confere se o email foi enviado envia.onload = function() { if (this.enviou == true) { //limpar o formulario depois que o email foi enviado. limpar(); statusMensagem.text = "Mensagem enviada com sucesso!"; } else { statusMensagem.text = "A mensagem não pode ser enviada, tente mais tarde!"; } }; //todos os paremetros para o arquivo php externo. envia.sendAndLoad("formulario.php",envia,"POST"); } } //////////////////////////////// //ao clicar no botão, chama a função enviar enviarBt.onRelease = function() { envia(); }; //ao clicar no botão, chama a função limpar limparBt.onRelease = function() { limpar(); }; O enviar, manda pra um formulario.php q está programado assim: <? //data e hora do envio do email $date = date("d/m/Y h:i"); //quando manda as informações do flash pro php, elas vem com erros de acentuação, esse função utf8 é pra corrigir isso $assunto = "Viprado - ".utf8_decode($assunto); $nome = utf8_decode($nome); $endereco = utf8_decode($endereco); $cidade = utf8_decode($cidade); $estado = utf8_decode($estado); $pais = utf8_decode($pais); $telefone = utf8_decode($telefone); $email = utf8_decode($email); $mensagem = utf8_decode($mensagem); // MENSAGEM PARA O SITE************************************************************************ $headers = "From: $email <$email>\n"; ///////////////////////////email para onde vai a mensagem//////////////////////////////////////////// $seuemail = "email@hotmail.com"; $assunto = $assunto; $mensagemm = " Mensagem recebida: Nome: $nome Endereço: $endereco Cidade: $cidade Estado: $estado Pais: $pais Telefone: $telefone E-mail: $email Mensagem: $mensagem Enviado em: $date"; mail($seuemail, $assunto, $mensagemm, $headers); $assunto = "Confirmação de email"; $mensagemm = " Obrigado por visitar nosso site Em breve retornaremos o contato se necessário. Enviado em: $date"; //se a mensagem foi enviada com sucesso pelo php, ele retorna uma resposta pro flash que mostra na tela que amensagem foi enviada. if (@mail($email,$assunto, $mensagemm, $headers)) print "&enviou=1&"; ?> No momento em q clica no enviar no flash, ele dá mensagem enviada, só q eu nao recebo nada no email. Alguem saberia dizer onde esta o erro? Brigadão denovo =) Compartilhar este post Link para o post Compartilhar em outros sites
alessandro.connect 0 Denunciar post Postado Novembro 9, 2010 Ta hospedado tudo isso neh??? Tenta enviar via smtp pra testar. E verifique o lixo, infelizmente tenho me deparado mtu com email chegando no lixo, o pior é do meu email pro meu email! :( Compartilhar este post Link para o post Compartilhar em outros sites
denizehell 0 Denunciar post Postado Novembro 9, 2010 Ja verifiquei o lixo e não tá indo pra lá não! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 9, 2010 Err Cade o <?php ???????? ali eu só vejo <? E isso não é entrada de PHP... Sugiro criar um form HTML e testar o PHP para ver se ele ta correto antes de ver se o problema é no FLASH, pois 90% dos casos é erro no PHP e não no flash. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
alessandro.connect 0 Denunciar post Postado Novembro 9, 2010 Err Cade o <?php ???????? ali eu só vejo <? E isso não é entrada de PHP... Sugiro criar um form HTML e testar o PHP para ver se ele ta correto antes de ver se o problema é no FLASH, pois 90% dos casos é erro no PHP e não no flash. Abraços Cara tanto <? como <?php funcionam,ñ é só uma configuração do php que deixa usar <?, mas claro que é aconselhável colocar <?php pra evitar posteriores erros em servidores sem o suporte. E cara você ta testando na sua hospedagem ou na sua rede local ??? Porq ele ñ vai enviar o email da sua maquina com a função mail. Por isso falei usa SMTP ... você só vai mudar o php o flash n precisa mudar .. se precisa de ajuda da um toque ai! Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Novembro 9, 2010 <??> Até que é mas depende de como ta configurado o server dele. Mas verifica o php com ctz o problema é ai. Verifique o spam. Abs Compartilhar este post Link para o post Compartilhar em outros sites
denizehell 0 Denunciar post Postado Novembro 9, 2010 É ate onde eu sabia só o <? tava bom, já que não programo... ¬¬ mas bom saber =) valew aí quem teve paciencia... alessandro.connect, to testando no server, ta dando enviado, mas não vem. Como disse não programo, e o cara q programa disse q tá ok, então não sei, hehehe... poderia me explicar melhor como tu disse pra fazer? Compartilhar este post Link para o post Compartilhar em outros sites
alessandro.connect 0 Denunciar post Postado Novembro 9, 2010 Cara agora q vi ... ai não tem nada dizendo pra enviar ... teu php ta errado vei global $email; // //aqui envia o e-mail para voce mail ( "email@site.com.br", "$assunto", ----------------------------------------\n Data: $data\n Nome: $nome\n E-mail: $email\n Telefone: $telefone\n Assunto: $assunto\n\n Cidade: $cidade\n\n //Ai você coloca todos que tão faltando... Mensagem: $mensagem", "From: $email" );?> e tira essas parte ai! mail(email@site.com.br, Nome:$nome, Assunto: $assunto, Mensagem: $mensagemm) Enviado em: $date"; //se a mensagem foi enviada com sucesso pelo php, ele retorna uma resposta pro flash que mostra na tela que amensagem foi enviada. if (@mail($email,$assunto, $mensagemm, $headers)) print "&enviou=1&"; ?> Dps q você ve q enviar você insere pra enviar email de confirmação e mostrar oK enviado. Só testa pra ver se vai chegar o email pelo menos. Aproveitando ai ... será que algum moderador pode dar uma mão no tópico que eu abri ... Tópico alessandro.connect Compartilhar este post Link para o post Compartilhar em outros sites
denizehell 0 Denunciar post Postado Novembro 9, 2010 Cara agora q vi ... ai não tem nada dizendo pra enviar ... teu php ta errado vei global $email; // //aqui envia o e-mail para voce mail ( "email@site.com.br", "$assunto", ----------------------------------------\n Data: $data\n Nome: $nome\n E-mail: $email\n Telefone: $telefone\n Assunto: $assunto\n\n Cidade: $cidade\n\n //Ai você coloca todos que tão faltando... Mensagem: $mensagem", "From: $email" );?> e tira essas parte ai! mail(email@site.com.br, Nome:$nome, Assunto: $assunto, Mensagem: $mensagemm) Enviado em: $date"; //se a mensagem foi enviada com sucesso pelo php, ele retorna uma resposta pro flash que mostra na tela que amensagem foi enviada. if (@mail($email,$assunto, $mensagemm, $headers)) print "&enviou=1&"; ?> Dps q você ve q enviar você insere pra enviar email de confirmação e mostrar oK enviado. Só testa pra ver se vai chegar o email pelo menos. Aproveitando ai ... será que algum moderador pode dar uma mão no tópico que eu abri ... Tópico alessandro.connect Colei teu code, mas tem algo errado eu acho, hehehe... Tiro toda a parte final do php? Compartilhar este post Link para o post Compartilhar em outros sites
denizehell 0 Denunciar post Postado Novembro 9, 2010 Alessandro, coloquei o jeito que tu sugeriu, só que daí ele dá erro na mensagem do flash dizendo que não foi enviado. Compartilhar este post Link para o post Compartilhar em outros sites
alessandro.connect 0 Denunciar post Postado Novembro 9, 2010 <?php header('Content-Type: text/html; charset=UTF-8; '); ?> <?php // chamada da classe phpmailer require_once('phpmailer/class.phpmailer.php'); echo " POST: <pre>"; print_r($_POST); echo "</pre>"; // resgatando os dados passados pelo form $nomeusuario = $_POST['nome']; $emailusuario = $_POST['email']; $assunto = $_POST['assunto']; $mensagem = $_POST['mensagem']; $data = date("d/m/y"); //hidden // faço a chamada da classe $Email = new PHPMailer(); $Email->IsSMTP(); // set mailer to use SMTP $Email->SMTPAuth = true; // turn on SMTP authentication $Email->Host = "smtp.site.com.br"; $Email->Username = "contato@site.com.br"; $Email->Password = "senha"; $Email->IsMail(); // ativa o envio de e-mails em HTML, se false, desativa. $Email->Mailer = "smtp"; // na classe, há a opção de idioma, setei como br $Email->SetLanguage("br"); // esta chamada diz que o envio será feito através da função mail do php. Você mudar para sendmail, qmail, etc // se quiser utilizar o programa de email do seu unix/linux para enviar o email //$Email->IsMail(); // ativa o envio de e-mails em HTML, se false, desativa. $Email->IsHTML(true); // email do remetente da mensagem $Email->From = "contato@site.com.br"; // nome do remetente do email $Email->FromName = $nomeusuario; // Endereço de destino do emaail, ou seja, pra onde você quer que a mensagem do formulário vá? $Email->AddAddress("contato@site.com.br", "Alessandro teste."); // informando no email, o assunto da mensagem $Email->Subject = $assunto; // Define o texto da mensagem (aceita HTML) $Email->Body .= "<B>E-mail enviado de: $email<BR></b>"; $Email->Body .= "Mensagem: $mensagem<BR><BR>Dados do contato<br>Data: $data<br>Hora: $hora<br>Ip: $ip<br>Navegador: $navegador"; if(!$Email->Send()) { echo "<script> alert('Sua Mensagem não foi enviada!');top.location.href='contato'; </script>\n\n"; }else{ echo "<script> alert('Seu email foi enviado com sucesso!');top.location.href='index.php'; </script>\n\n"; } ?> Baixe a classe PHPMailer e upe pro seu servidor... corrija o local da pasta na linha: require_once('phpmailer/class.phpmailer.php'); ai cola o código acima no seu enviar.php e testa, ai só arruma os POSTS do enviar de acordo com o flash . testa e veja o erro q da. eh uma alternativa e eh melhor que a função mail. Compartilhar este post Link para o post Compartilhar em outros sites