Ir para conteúdo

POWERED BY:

Arquivado

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

denizehell

Formulario Contato

Recommended Posts

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

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

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

<??> 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

É 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

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

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

<?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

×

Informação importante

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