Ir para conteúdo

POWERED BY:

Arquivado

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

FVIEIRAS

Fale Conosco no Flash com form.php com problema

Recommended Posts

Amigos,

 

Em alguns sites nosso estava funcionando tudo normal, porém depois que mudamos de provedor, os formulários de fale conosco pararam de funcionar.

É apenas alguns campos no flash que chama um arquivo php para enviar o contato, porém faz tudo direito, mas os campos vem em branco, assim:

 

Nome:

Cidade:

RG:

 

E na frente de cada item desse deveria estar o conteúdo do campo que o visitante preencheu.

 

E isso tudo começou depois de trocar de provedor.

 

O QUE PODE SER?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma m***** isso já aconteceu comigo, tb, tipo funcionava perfeitamente o forumulario, copiei do mesmo modo pra nao perder tempo e no outro lugar nao funcionou de jeito nenhum. Tenta apagar esses campos que não estao funcionando e criar de novo.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz isso.

Refiz o form no flash e também o arquivp PHP mas mesmo assim não funciona, vai em branco os dados. É como se fosse as variaveis indo em branco para o php.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como os dados estão sendo enviados ?

 

Posta aqui o código AS do momento do envio, e também o código do PHP para eu analisar.

 

Sempre tive problemas com isso, 80% dos casos era problema no servidor .

 

Vamos ver

Compartilhar este post


Link para o post
Compartilhar em outros sites

No Flash, tem um botão que está mandando assim:

 

on (release) {

if (nomecompleto eq "" or cidade eq "" or rg eq "" or ssl eq "") {

stop();

} else {

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

gotoAndStop(2);

}

}

 

Esses nomes de campos estão devidamente colocados no VAR de cada campo.

 

Já o PHP está assim:

 

<?

 

$to = "email@email.com.br";

$email .= "email@email.com.br";

$msg .= "Nome: $nomecompleto\n\n";

$msg .= "Cidade: $cidade\n\n";

$msg .= "RG: $rg\n\n";

$assunto .= "ASSUNTO: TESTE";

 

mail($to, $assunto, $msg, "From: $email\n");

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá.....

 

Primeiramente , verifiquei que seu código está em AS1, é meio antiguinho, vou utilizar um AS2 ( menos antigo ) para você aqui em baixo:

 

Vou te ensinar da maneira que eu acho correta !

 

1)Criar um objeto para guardar as Vars:

 

var objMail:LoadVars = new LoadVars();

2)Guardar as variáveis dos campos no objeto, ao clique do botão;

3)Passar os dados do objeto para o PHP via Variáveis

4)Seu código do botão, em AS2, ficando assim:

 

on (release) {
	//condições e operadores lógicos agora da forma correta:
	if (nomecompleto == "" || cidade == "" || rg == "" || ssl == "") {
		//crie um campo de texto instanciado "status" para exibir o erro ao visitante
		status.text = "Preencha os Campos";
		stop();
	} else {
		//informa que está enviando
		status.text = "Enviando...";
		//passa os campos para o php
		objMail.nomecompleto = nomecompleto;
		objMail.cidade = cidade;
		objMail.rg = rg;
		objMail.ssl = ssl;
		//envia para o php
		objMail.sendAndLoad("form.php",objMail,"POST");
	}
}

Agora, no flash, você precisa verificar se as informações foram enviadas corretamente, para isso, coloque o código abaixo no FRAME de seu arquivo FLA ( não no botão de envio ).

 

objMail.onLoad = function() {
	//verifica se foi enviado:
	if (this.ver) {
		// em caso de sucesso
		status.text = 'Mensagem enviada com sucesso!.';
	} else {
		//else
		saida.text = "Erro, desculpem-nos !";
	}
};

 

No flash está OK, agora eu verifiquei que você não está pegando os valores do arquivo PHP ! Não tem como aparecer nada mesmo pois não acontece a "troca" de informações entre o SWF e o PHP

Para que isso aconteça, e retorne um valor verdadeiro ou falso, caso envie, ou não, faça da seguinte forma:

 

<?

//pega as vars enviadas do flash:		
$nomecompleto = $_POST['nomecompleto'];
$cidade = $_POST['cidade'];
$rg = $_POST['rg'];
$ssl = $_POST['ssl'];

//monta seu mail
$to = "email@email.com.br";
$email .= "email@email.com.br";
$msg .= "Nome: $nomecompleto\n\n";
$msg .= "Cidade: $cidade\n\n";
$msg .= "RG: $rg\n\n";
$assunto .= "ASSUNTO: TESTE";

//variavel para retornar verdadeiro ou falso
$ver = mail($to, $assunto, $msg, "From: $email\n");
//retorna pro flash
echo "ver=".$ver;

?> 

Deve funcionar !!!!!!!

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, não to conseguindo...será que tem como você modificar em cima desse código que postei?? Sei que estou fazendo alguma coisa errada, mas não sei o que é pela falta de conhecimento no assunto. Desde já agradeço!!

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.