Ir para conteúdo

POWERED BY:

Arquivado

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

Mohammed

[Resolvido] FORM do flash que não vai de jeito nem um

Recommended Posts

alguém poderia me dar um help no meu primeiro web site em flash e não consigo de jeito nem um colocar para enviar pro E-mail :(

 

Segue o Link abaixo para que possa baixar-lo http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

http://www.4shared.com/file/AZy1tl2W/meu_site.html

 

 

Desde já agradeços a todos e um bom fim de semana a todos .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além do ActionScript está usando PHP? ASP? algum outro tipo de form?

 

Fica melhor você publicar os códigos que está usando. Acione o ícone <> e cole entre as tags code e /code.

 

Muitos colegas estão em ambiente de trabalho, nem sempre tem a mesma versão do Flash.

 

 

Testar no servidor fica por sua conta.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mohammed e seja bem vindo ao fórum.

 

Primeiro ajude-nos a te ajudar, não basta postar um arquivo e esperar a galera corrigir para você. Poste o que já fez e o que não está funcionando, informe qual o sccript server-side que está utilizando e demais informações que possam mostrar para o pessoal encontrar possíveis erros e mostrar a solução, quanto mais informações puder disponibilizar, provavelmente mais rápido seu problema será resolvido.

Se estiver utilizando AS3, também temos uma seção específica para este.

 

Como não sabemos nada do seu problema, efetue uma pesquisa na seção de artigos e tutoriais que tem vários exemplos de formulários:

http://forum.imasters.com.br/index.php?/forum/28-artigos-tutoriais-e-materias-flash/

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão pelo erro . . . uso PHP . . . e como não pegava os codigos eu acabei apagando

-

Quando eu clico no botão enviar aparece isso

 

on (rollOver)

this.gotoAndPlay("s1");

}

on (releaseOutside, rollOut)

{

this.gotoAndPlay(_totalframes - _currentframe);

}

on (release)

{

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mohammed, o action que você informou serve para outras coisas, menos para um form de email.

 

Um form não se resume ao botão --> Enviar.

 

Por enquanto, fica valendo a sugestão do Public2004 para pesquisar na sessão Artigos e Tutoriais do fórum.

 

Outro site que tem exemplos simples para o que deseja é o http://www.flashmo.com , em AS2 e AS3 (+ PHP), são gratuitos e dispensa cadastro para baixar.

 

Garanto que funcionam, já testei.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perdão mais uma vez . . . em flash sou meio leigo

-

ao clicar mais 1 vez no botão enviar só aparece

 

stop();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Baixe o template do flashmo e teste no servidor (só funciona ao publicar a página em um servidor que ofereça suporte a PHP).

 

O action está na timeline principal.

 

No PHP, altere apenas esta linha, substitua para o seu endereço de email:

 

$receiver = "fulano_da_silva@yahoo.com.br";

 

Eu também aprendi sozinha a me virar com um form de email, e não sei nada de PHP.

 

Ninguém faz o serviço pra nós, é meter a cara e tentar.

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente muito Obrigado pelos toques "Elektra" , fiz oque você flw e isso aconteceu !

 

 

na keyframe 1 coloquei isso

 

stop();

enviar_button.onRelease = submit;

function submit()

{

if( contact_name.text == "" contact_email.text == "" ||

contact_subject.text == "" contact_message.text == "" )

else if( contact_email.text.indexOf('@') < 2 contact_email.text.indexOf('.') < 0 )

{

message_status.text = "por favor entre com um e-mail válido.";

}

else

{

message_status.text = "";

gotoAndStop("send");

}

}

function reset()

{

 

 

 

na keyframes 10 coloquei isso

 

stop ();

loadVariables("send_email.php?flashmo=" + random(1000), this, "POST");

message_status.text = "enviando ...";

var i = 0;

function check_status()

{

if( success == "sim" )

{

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

play();

}

else if( success == "nao" )

{

message_status.text = "Sua mensagem não pôde ser enviada. Por favor, tente novamente.";

}

if( i >= 20 )

clearInterval(interval_id);

i++;

}

var interval_id = setInterval(check_status, 400);

 

 

 

e esta dando o seguinte erro

 

**Error** Symbol=sprite 224, layer=Action Layer, frame=1:Line 5: ')' expected

if( contact_name.text == "" contact_email.text == "" ||

 

**Error** Symbol=sprite 224, layer=Action Layer, frame=1:Line 6: Syntax error.

contact_subject.text == "" contact_message.text == "" )

 

**Error** Symbol=sprite 224, layer=Action Layer, frame=1:Line 7: 'else' encountered without matching 'if'

else if( contact_email.text.indexOf('@') < 2 contact_email.text.indexOf('.') < 0 )

 

Total ActionScript Errors: 3 Reported Errors: 3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meu amigo, eu uso AS3.

 

Tenho algum conhecimento, mas ainda não domino a linguagem AS para saber usar Sprites.

 

Sugiro que publique também o PHP, isso vai auxiliar os colegas que dominam o AS2 para tentar lhe auxiliar.

 

Por favor, acione o ícone <> e cole o código entre as tags code e /code, facilita muito a visualização.

 

 

PS: o form de email que uso é do flashmo (em AS3), desde a primeira publicação funcionou perfeitamente, e uso componentes ao invés de caixas de texto dinâmico para os campos. Depois alguns colegas do fórum me auxiliaram quanto a codificação (acentuação das palavras). Caso queira conferir, em meu perfil encontra um link -> página de teste.

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP

 

<?php
$contact_name = $_POST['name'];
$contact_email = $_POST['email'];
$contact_subject = $_POST['subject'];
$contact_message = $_POST['message'];

if( $contact_name == true )
{
	$sender = $contact_email;
	$receiver = "info@flashmo.com";
	$client_ip = $_SERVER['REMOTE_ADDR'];
	$email_body = "Name: $contact_name \nEmail: $sender \nSubject: $contact_subject \nMessage: $contact_message \nIP: $client_ip \nFlash Contact Form provided by http://www.flashmo.com";		
	$extra = "From: $sender\r\n" . "Reply-To: $sender \r\n" . "X-Mailer: PHP/" . phpversion();

	if( mail( $receiver, "Flash Contact Form - $subject", $email_body, $extra ) ) 
	{
		echo "success=yes";
	}
	else
	{
		echo "success=no";
	}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu código:

stop();
enviar_button.onRelease = submit;
function submit()
{
 if( contact_name.text == "" contact_email.text == "" ||
 contact_subject.text == "" contact_message.text == "" )
 else if( contact_email.text.indexOf('@') < 2 contact_email.text.indexOf('.') < 0 )
 {
 message_status.text = "por favor entre com um e-mail válido.";
 }
 else
 {
 message_status.text = "";
 gotoAndStop("send");
 }
}
function reset()
{



na keyframes 10 coloquei isso

stop ();
loadVariables("send_email.php?flashmo=" + random(1000), this, "POST");
message_status.text = "enviando ...";
var i = 0;
function check_status()
{
 if( success == "sim" )
 {
 message_status.text = "Sua mensagem foi enviada com sucesso!";
 play();
 }
 else if( success == "nao" )
 {
 message_status.text = "Sua mensagem não pôde ser enviada. Por favor, tente novamente.";
 }
 if( i >= 20 )
 clearInterval(interval_id);
 i++;
}
var interval_id = setInterval(check_status, 400);

 

Código como deveria ser:

stop();
enviar_button.onRelease = submit;
function submit(){
	if( contact_name.text == "" || contact_email.text == "" || contact_subject.text == "" || contact_message.text == "" ){
		message_status.text = "Por favor preencha todos os campos";
	}else if( contact_email.text.indexOf('@') < 2 || contact_email.text.indexOf('.') < 0 ){
	message_status.text = "por favor entre com um e-mail válido.";
	}else{
	message_status.text = "";
	gotoAndStop("send");
	}
}
function reset(){
}
//na keyframes 10 coloquei isso
stop ();
loadVariables("send_email.php?flashmo=" + random(1000), this, "POST");
message_status.text = "enviando ...";
var i = 0;
function check_status(){
	if( success == "sim" ){
	message_status.text = "Sua mensagem foi enviada com sucesso!";
	play();
	}else if( success == "nao" ){
	message_status.text = "Sua mensagem não pôde ser enviada. Por favor, tente novamente.";
	}
	if( i >= 20 ) {
		clearInterval(interval_id);
	}else {
		i++;
	}
}
var interval_id = setInterval(check_status, 400);

Detalhe... fora seus erros ai esquecendo de colocar or ||... e outras coisas você faz uma bagunça danada com chaves {}

Cuidado com isso... é por essas e por outras q seu código tava dando erro.

 

Se não prestar atenção... vai continuar com erros... o erro não é de sprite e sim de erro no código do if else

 

 

No PHP:

$client_ip = $_SERVER['REMOTE_ADDR'];
Se por acaso eu tiver um firewall e bloqueador... você n vai obter essa informação no seu script e isso vai causar um erro no PHP e assim não vai enviar o e-mail... pois tem erro no script

Coloque isso dentro de um if else

 

Ou melhor

$client_ip = ($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0';

 

Abraços

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.