Ir para conteúdo

POWERED BY:

Arquivado

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

Recommended Posts

Olá pessoal, mais uma vez eu volto e mais uma vez com uma dúvida um pouco irritante...pois segui um tutorial passo-a-passo mas...mas.... dá erro no final e nao sei aonde mexer...

 

Peço ajuda a quem puder dar uma olhada e entender de PHP.

 

Os arquivos fontes tbm estao no servidor, basta digita-lo por completo que fará o download.

 

EIS O FORMULARIO

 

os arquivos php e a classe da AS sao:

 

dados_email.php

Email.as

rsvp.fla

 

Desde já agradeço e aguardo um contato urgente (na medida do possivel, claro.)

 

Abraços,

 

Marco

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá amigo...boa noite...

 

seu problema é o seguinte, está faltando a classe PHP do include no seu código...ai segue:

 

salve esse arquivo como "Email.php"

 

class Email{	var $_to;	var $_subject;	var $_variables;	var $_headers;	var $_names;	var $_message;	function Email($to,$subject,$variables,$names)	{		$this->_to = $to;		$this->_subject = $subject;		$this->_variables = $variables;		$this->_names = $names;		$this->_headers  = "MIME-Version: 1.0\r\n";		$this->_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";		$this->_headers .= "From: EMAIL CONTATO <".$to.">\r\n";		$this->createMessage();	}	function createMessage()	{		$this->_message = '			<html>			<head>			 <title>.:: EMAIL DE CONTATO ::.</title>			</head>			<body>			 <table>';				for($i=0,$len=sizeof($this->_variables); $i<$len;$i++)		{			$this->_message .= '			 <tr>			  <td><b>'.$this->_names[$i].'</b> '.$this->_variables[$i].'</td>			 </tr>			';		};				$this->_message .= '			</table>			</body>			</html>	';	}	function sendEmail()	{		if($this->_to != '' && $this->_variables != ''){			mail($this->_to, $this->_subject, $this->_message, $this->_headers);			echo 'Email send';		}else{			echo 'Error send to email';		}	}};?>

no PHP que você já possui faça a seguinte alteração:

 

include("Email.php");

no seu FLA substitua:

 

["http://www.castpublicidade.com/affinite/dados_email.php","POST"]

 

por:

 

["dados_email.php","POST"]

 

 

para evitar problemas é viável colocar o arquivo *.SWF e os arquivos *.PHP no mesmo local ou pasta...

 

 

com isso deve funcionar....boa sorte...qq problemas posta ai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

acabei de fazer as alteracoes... joguei no servidor, tudo na mesma pasta mas continua com erro ao enviar;;;;

 

muy estranho...

 

alguma outra sugestao? vou subir os arquivos com as alteracoes...

 

 

 

eis os codigos:

 

dados_email.php

<?php//Inclua a classe de email.include("Email.php");//Crie um array, contendo os nomes das variáveis enviadas pelo flash.$variaveis = array($evento,$data,$nome,$email,$fone);//Crie um array contendo textos que serão exibidos ao lado de cada variável$nomes = array('Evento: ','Data: ','Nome: ','Email: ','Telefone: ');//Instancie um objeto da classe Email, passando 4 argumentos que são eles://Email para onde será enviado//Assunto do email//Array contendo as variáveis recebidas//Array contendo os nomes$e = new Email('mas.marco@hotmail.com','Assunto do Email',$variaveis,$nomes);//Executando o método sendEmail da classe Email.$e->sendEmail();//Pronto seu email já foi enviado?>

Email.php

 

class Email{	var $_to;	var $_subject;	var $_variables;	var $_headers;	var $_names;	var $_message;	function Email($to,$subject,$variables,$names)	{		$this->_to = $to;		$this->_subject = $subject;		$this->_variables = $variables;		$this->_names = $names;		$this->_headers  = "MIME-Version: 1.0\r\n";		$this->_headers .= "Content-type: text/html; charset=iso-8859-1\r\n";		$this->_headers .= "From: EMAIL CONTATO <".$to.">\r\n";		$this->createMessage();	}	function createMessage()	{		$this->_message = '			<html>			<head>			 <title>.:: EMAIL DE CONTATO ::.			</head>			<body>			 <table>';				for($i=0,$len=sizeof($this->_variables); $i<$len;$i++)		{			$this->_message .= '			 <tr>			  <td>[b]'.$this->_names[$i].'[/b] '.$this->_variables[$i].'			 </tr>			';		};				$this->_message .= '			</table>			</body>			</html>	';	}	function sendEmail()	{		if($this->_to != '' && $this->_variables != ''){			mail($this->_to, $this->_subject, $this->_message, $this->_headers);			echo 'Email send';		}else{			echo 'Error send to email';		}	}};?>
email.as

 

/*constructor:	new Email();	new Email(variables,fields,url,method);properties:	values - array with all values objects	methods	sendEmail - (variables,fields,url,method);	events:	send;	usage:	var ed = new Email(["nome","endereco","email","msg"],["Fulano","Rua xxx ","email@gmail.com","mensagem"],"url","POST")	var obj:Object ={};	obj.send = function(info:Object):Void{		trace(info.status);	}	ed.addEventListener("send", obj);*/import mx.events.*;dynamic class Email{	private var objLv:LoadVars;	private var fieldsSend:Array;	private var variablesSend:Array	private var urlPage:String;	private var methodSend:String;	private var dispatchEvent:Function;	function Email(variables:Array,fields:Array,url:String,method:String)	{		objLv = new LoadVars();		fieldsSend = fields;		variablesSend = variables;		urlPage = url;		methodSend = method;		if(arguments.length == 4) this.sendEmail(variablesSend,fieldsSend,urlPage,methodSend);		EventDispatcher.initialize(this);			};	public function sendEmail(variables:Array,fields:Array,url:String,method:String):Void	{		var EmailObj = this;				for(var i = fields.length;i--;) 	objLv[variables[i]] = fields[i];		objLv.sendAndLoad(url,objLv,method);		objLv.onLoad = function(info:Boolean):Void		{			var list:Object = {type:"send",	status:info};			EmailObj.dispatchEvent(list);		};	};	function get values():Array	{		var fl:Array = [];		for(var i:Number = fieldsSend.length; i--;) {			fl.push({				name: variablesSend[i],				data:fieldsSend[i]			});		}		return fl;	};};
e por fim, o codigo que esta no 1 frame do formulario, no flash.

 

var em = new Email();//O evento clickHandler, ocorre quando o componente Button for clicado. Com isso vou execute o método sendEmail, da classe Email/*Esse método necessita de 4 argumentos que são eles:	-> variables = Esse argumento recebe um array com os nomes das variáveis que serão enviadas. ex: ["nome","sobrenome"]		--> no exemplo será  enviado duas variáveis, (nome e sobrenome).		-> fields = O segundo argumento também recebe um array. Esse array terá os valores que as variáveis enviadas irão receber		--> ex: ["Tal", "Fulano"],	->url = Nesse argumento informe a URL da página, que você vai enviar as variáveis.	->method = O método que será enviado as informações, pode ser por "GET" ou "POST".*/enviar.clickHandler = function(){	//Observe os valores passados como argumentos para o método.	//Note que o segundo argumento (fields) eu não estou informando valores fixos como mostrei no exemplo acima.	//E sim o instance Name de cada campo de texto, juntamente com a propriedade text, para resgatar o valor digitado no campo.	//O que ficaria assim: a variável nome vai receber o texto que foi digitado no campo de texto nome. E assim por diante para 	//todas as outras variáveis.	em.sendEmail(["evento","data","nome","email","telefone"],[evento_txt.text,data_txt.text,nome_txt.text,email_txt.text,telefone_txt.text],["dados_email.php","POST"]);};//Pronto a parte do flash já acabou, o flash já está enviando as variáveis para a página email.php. Simples né!?//Mais caso seja necessário, que seja executado alguma ação para saber se o email foi enviando ou não, //a classe Email possui um evento chamado SEND, Esse evento é executado no momento em que o flash enviar todas as informações.//E receber um resultado, positivo ou negativo, para informar se as informações foram enviadas corretamente ou não.var obj:Object ={};//Definição do evento SEND da classe Emailobj.send = function(info:Object):Void{	//A propriedade status, recebe um valor Boolean, se for true as informações foram enviadas, caso contrário ocorreu algum erro.	//Para o nosso exemplo vou exibir num campo de texto uma frase, mais você pode fazer o que quiser a partir disso.	//Enviar para um determinado frame de acordo com o resultado e etc.	if(info.status){		status_txt.text = 'Email enviado com sucesso';	}else{		status_txt.text = 'Erro ao enviar o email';	};};em.addEventListener("send", obj);
http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, acabei de subir os arquivos pra alteracao.. pra visualizar o formulario:

 

clique aqui

 

Valeu pela ajuda ae mas por enquanto, na mesma...

 

bizarramente, apos insistir no botao de enviar..quem diria, ENVIOU! mas ate agora, nada na caixa de entrada do e-mail que foi cadastrado como destinatario...

 

ah...está tudo dentro da pasta www, do servidor...

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.