Ir para conteúdo

Arquivado

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

mc2008

[Resolvido] variaveis com components flash

Recommended Posts

basta fazer isso

 

System.useCodepage = true;

stop ();
var pgOBJ:LoadVars = new LoadVars;
var enviarOBJ:LoadVars = new LoadVars;

enviar.onPress = function(){
	enviarOBJ.nome = nome.text;
	enviarOBJ.telefone = telefone.text;
	enviarOBJ.email = email.text;
	enviarOBJ.morada = morada.text;
	enviarOBJ.cp = cp.text;
	enviarOBJ.nif = nif.text;
	enviarOBJ.pagamento = pagamento.value;
	nextFrame();
}

Tens de colocar a var enviarOBJ fora da função ai ela passa a valer em qualquer frame

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

boas

ja tenho o formulario praticamente a funcionar , mas precisava de duas coisinhas:

  • como consigo fazer com que o meu formulario envie email com SMTP autenticado ? ja procurei algumas coisas na net mas nao da
  • ja consegui criar a função browse no flash, mas agora queria que o ficheiro ao ser carregado me fosse enviado depois em anexo por email, será possível?

e pronto com estas duas coisas dou por terminado o meu formulario

obrigado e fica bem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim o ficheiro fosse enviado junto por email???

Queres que o form em swf vá preenchido para o email??

 

Autentificação do smtp eu já escrevi ali em cima como é que se faz :P

// Modifique a baixo para autenticar no servidor smtp coloque seu host de e-mail username e password
$host = "mail.exemplo.com";
$username = "smtp_username";
$password = "smtp_password";

//Aqui é a autentificação propriamente dita
$smtp = Mail::factory('smtp',   array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password));

//Aqui ele ao enviar o e-mail passa pelo smtp
$mail = $smtp->send($recipient, $subject, $msg, $mailheaders);

Deve funcionar não é de certo, pelo que li no tutorial é por ai o comando e como eu não tenho nenhum servidor pra testar tal funcionalidade vai ter de ficar por sua conta e risco e testes =(...

 

Espero ter ajudado

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem nao consegui autenticar, tenho que ver com o servidor...

 

em relação ao outro ponto, a ideia é fazer um upload de um ficheiro para o formulario e quando carregar no botao enviar formulario, receber todo o form mais o ficheiro.

 

a forma de ir buscar o ficheiro ao pc já a fiz e esta a funcionar. agora é tentar anexar tudo para ir no mesmo form

 

fica bem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom sugiro que a parte de php... relacionada a autentificação e envio de arquivos... você pergunte na parte do forum de php

 

Pois ai começa a fugir um pouco dos meus conhecimentos :(

 

Apesar de entender bem php e tals eu nunca tive de fazer algo do genero rs :)

 

Mas vou procurar a respeito e quando descobrir vou postar aqui

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá mc2008,

 

Depois de muito estudo descobri isso:

 

1° Vai ter de criar um php no qual vai colocar a figura em um lugar dentro de seu servidor.

2° Ao termino dele colocar no seu servidor você vai dar o caminho para o e-mail do arquivo que você carregou e enviar...

3° Ao terminar de enviar fazer uma função para deletar o arquivo que foi criado no servidor.

 

Acredito que seja isso

 

Se não conseguir eu faço uma função aqui e coloco para você

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

olarelas

 

já consegui resolver o problema do smtp :) perguntei ao servidor e já me ajudaram, quando terminar o formulário coloco aqui os codigos para quem precisar

 

em relação a isso eu tenho este codigo no flash :

 

//importando a classe necessária. flash.net.FileReference
import flash.net.FileReference;
//
//definindo botões, movies, objetos e etc...
var btEnviar:MovieClip;
var btBrowse:MovieClip;
var tFile:TextField;
var mcStatus:MovieClip;
var objUpload:Object = new Object();
var arquivosPermitidos:Array = new Array();
//
//criando a instancia da classe FileReference, a nova classe responsável pelo Upload...
var frUpload:FileReference = new FileReference();
//
function initUpload(Void):Void
{
//escondendo mcStatus, resposável por dizer ao user em que parte está o processo...
mcStatus._visible = false;
//adicionando a lista de extensões permitidas para o Seleção...
//só imagens .jpg...
arquivosPermitidos[0] = {description:"Imagens (*.jpg)", extension:"*.jpg; *.jpeg"};
//zip
arquivosPermitidos[1] = {description:"Imagens (*.zip)", extension:"*.zip; *.rar"};
//ação de escolha de um arquivo na caixa de browse...
objUpload.onSelect = function(f:FileReference):Void
{
tFile.text = f.name;
}
//quando o arquivo for enviado totalmente ao servidor e estar Completo, retornará neste Método...
objUpload.onComplete = function(f:FileReference):Void {
//alterando mcStatus...
mcStatus.gotoAndStop(2);
mcStatus._visible = true;
}
//caso aprensente algum erro no envio...
objUpload.onHTTPError = objUpload.onIOError = function() {
//alterando mcStatus...
mcStatus.gotoAndStop(3);
mcStatus._visible = true;
}
//adicionando as ações de listener ao objeto de Upload...
frUpload.addListener(objUpload);
//
//ao clicar no botão abrir a caixa de seleção
btBrowse.onRelease = function(Void):Void
{
//método para abrir a caixa de seleção na classe FileReference...
//FileReference.browse(arquivosPermitidos), os isso é opcional, caso queiram liberar todos os arquivos
//é so não utilizar do parametro...
frUpload.browse(arquivosPermitidos);
}
//
//ao clicar no botão enviar, a classe joga o arquivo em um multipart para uma linguagens server-side qualquer, em nosso caso vamos utilizar PHP.
btEnviar.onRelease = function(Void):Void
{
//alterando mcStatus...
mcStatus.gotoAndStop(1);
mcStatus._visible = true;
//método para enviar o arquivo em multipart ao servidor... FileReference.upload(seuEndereço)...
//frUpload.upload("upload.php");
}
}
//
//iniciando nosso projeto...
initUpload();

depois criei o tal php que diz upload.php :

<?php
//include ("mail.php");

//diretório destino das imagens dentro da pasta da aplicação...
//deve ter permissão para escrita chmod(777)...
$dir = "imagens/";
//recebendo o arquivo multipart vindo do flash...
$file = $_FILES["Filedata"];
//finalizando o upload e criando apartir do arquivo temp, multipart, um novo arquivo
//em nossa pasta de destino. O echo serve para dizer ao flash se deu certo ou não...
echo move_uploaded_file($file["tmp_name"], $dir . "/" . $file["name"]);
?>

a grande questão é que ele deveria enviar o ficheiro para o servidor mas não o faz

 

 

outra coisinha que para ti deve ser facil ..como consigo atraves de actionscript entrar num moviclip em determinada frame?

 

inte

Compartilhar este post


Link para o post
Compartilhar em outros sites

ois

esse teu form esta a funcionar quase perfeito, so que o ficheiro que vem em anexo ao abrir diz que nao pode pq está vazio.

de resto esta fixolas

 

fica bem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vou explicar meus phps então porque acho que deves ter feito algo de errado :)

 

upload é igual ao teu e do tutorial iMasters :) pra upload de arquivos hehehe

<?php
	//diretório destino das imagens dentro da pasta da aplicação...
	//deve ter permissão para escrita chmod(777)...
	$dir = "./imagens/";
	//recebendo o arquivo multipart vindo do flash...
	$file = $_FILES["Filedata"];
	//finalizando o upload e criando apartir do arquivo temp, multipart, um novo arquivo
	// em nossa pasta de destino. O echo serve para dizer ao flash se deu certo ou não...
	echo move_uploaded_file($file["tmp_name"], $dir . "/" . $file["name"]);
?>

php de mandar e-mail

<?php
$dir = "./imagens/";
$nome = $_POST['nome'];
$file = $_POST['anexo'];
$anexo = $dir . "/" . $file;
$fileatt = $anexo;
$fileatt_type = "application/octet-stream"; // File Type 
$fileatt_name = $_POST['anexo']; // Filename that will be used for the file as the attachment from Flash variables

$from = $_POST['email'];
$email_from = $from; // Who the email is from 
$email_subject = "Info From Website"; // The Subject of the email 
$email_txt = $_POST['mensagem']; // Message that the email has in it 

$email_to = "seuemail@gmail.com"; // Who the email is too 

$headers = "From: ".$email_from; 

$file = fopen($fileatt,'rb'); 
$data = fread($file,filesize($fileatt)); 
fclose($file); 

$semi_rand = md5(time()); 
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; 
   
$headers .= "\nMIME-Version: 1.0\n" . 
			"Content-Type: multipart/mixed;\n" . 
			" boundary=\"{$mime_boundary}\"";  

$email_message .= 	"Mensagem: $email_txt <br>" . "\n\n" . 
			   		"--{$mime_boundary}\n" . 
					  "Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
					"Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n";  

$email_message .= 	"<br><br>" . "Nome: $nome" . "\n\n" . 
					"--{$mime_boundary}\n" . 
					"Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
	 				"Content-Transfer-Encoding: 7bit\n\n";

$email_message .= 	"E-mail: $from <br>" . "\n\n" . 
					"--{$mime_boundary}\n" . 
					"Content-Type:text/html; charset=\"iso-8859-1\"\n" . 
					"Content-Transfer-Encoding: 7bit\n\n";

$data = chunk_split(base64_encode($data)); 

$email_message .= "--{$mime_boundary}\n" . 
				  "Content-Type: {$fileatt_type};\n" . 
				  " name=\"{$fileatt_name}\"\n" . 
				  //"Content-Disposition: attachment;\n" . 
				  //" filename=\"{$fileatt_name}\"\n" . 
				  "Content-Transfer-Encoding: base64\n\n" . 
				 $data . "\n\n" . 
				  "--{$mime_boundary}--\n"; 

$ok = @mail($email_to, $email_subject, $email_message, $headers); 

echo unlink($dir . "/" . $file["name"]); // Deleta o arquivo hospedado no servidor que foi mandado via e-mail

?>

Bom meu código de email é o seguinte

 

$dir = "./imagens/"; // digo o diretorio de onde está a imagem

$nome = $_POST['nome']; // pego o nome do cliente

$file = $_POST['anexo']; // pego o nome da imagem

$anexo = $dir . "/" . $file; // digo onde está a imagem que vai ser anexada

$fileatt = $anexo; // copio para a variavel que vai anexar ela

$fileatt_type = "application/octet-stream"; // Tipo de arquivo que vai ser anexado

$fileatt_name = $_POST['anexo']; // Nome do arquivo que vai ser anexado no e-mail

 

$from = $_POST['email']; // E-mail do cliente

$email_from = $from; // Coloco o email na variavel de quem é o e-mail

$email_subject = "Info From Website"; // Do o nome do assunto da mensagem

$email_txt = $_POST['mensagem']; // Coloco o texto da mensagem do formulário na variavel que vai ser enviada como texto no e-mail

 

$email_to = "berseck@teste.com"; // Aqui coloco meu e-mail que vai ser enviado com o anexo <--- esse e-mail é ficticio não tente me contactar por ele

 

$headers = "From: ".$email_from; // Aqui digo para o cabeçalio do e-mail de quem é o e-mail

 

$file = fopen($fileatt,'rb'); //Abro o arquivo que vai ser colocado no e-mail

$data = fread($file,filesize($fileatt)); //Vejo o tamanho do arquivo

fclose($file); //Fecho o arquivo

 

//Adiciono o sistema mime_boundary para o metodo do e-mail

$semi_rand = md5(time());

$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

 

$headers .= "\nMIME-Version: 1.0\n" .

"Content-Type: multipart/mixed;\n" .

" boundary=\"{$mime_boundary}\"";

 

//Aqui eu coloco a mensagem do formulário no texto do e-mail

$email_message .= "Mensagem: $email_txt <br>" . "\n\n" .

"--{$mime_boundary}\n" .

"Content-Type:text/html; charset=\"iso-8859-1\"\n" .

"Content-Transfer-Encoding: 7bit\n\n" . "Mensagem: $email_txt\n\n" . "\n\n";

 

//Aqui eu colocoo o nome da pessoa do formulário no texto do e-mail

$email_message .= "<br><br>" . "Nome: $nome" . "\n\n" .

"--{$mime_boundary}\n" .

"Content-Type:text/html; charset=\"iso-8859-1\"\n" .

"Content-Transfer-Encoding: 7bit\n\n";

 

//Aqui eu coloco o e-mail que foi utilizado para preencher o formulário

$email_message .= "E-mail: $from <br>" . "\n\n" .

"--{$mime_boundary}\n" .

"Content-Type:text/html; charset=\"iso-8859-1\"\n" .

"Content-Transfer-Encoding: 7bit\n\n";

 

//Adiciono o Arquivo no e-mail anexando-o

$data = chunk_split(base64_encode($data));

 

$email_message .= "--{$mime_boundary}\n" .

"Content-Type: {$fileatt_type};\n" .

" name=\"{$fileatt_name}\"\n" .

//"Content-Disposition: attachment;\n" .

//" filename=\"{$fileatt_name}\"\n" .

"Content-Transfer-Encoding: base64\n\n" .

$data . "\n\n" .

"--{$mime_boundary}--\n";

 

//Depois de finalizar tudo eu mando o e-mail

$ok = @mail($email_to, $email_subject, $email_message, $headers);

 

//Após o termino de mandar o e-mail eu deleto o arquivo do servidor!

echo unlink($dir . "/" . $file["name"]); //NÃO PODE EM IPOTESE NENHUMA COLOCAR NO COMEÇO DO CODIGO ESSA LINHA ELA SEMPRE DEVE VIR DEPOIS DO ENVIO DO E-MAIL

 

 

Se tiver alguma duvida posta ae que eu ajudo :D

 

Abraços ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ois a grande questão é que tive que mudar o codigo por causa da autenticação no servidor,

assim funciona na perfeição o envio ,mas nao vem ficheiro anexado, vou ter que analisar o teu codigo a fundo

 

<?php

$dir = "/imagens/";
$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$morada = $_POST['morada'];
$cp = $_POST['cp'];
$nif = $_POST['nif'];
$pagamento = $_POST['pagamento'];
$dominio_extensao = $_POST['dominio_extensao'];
$dominio = $_POST['dominio'];
$qx=$_POST['qx'];
$qy=$_POST['qy'];
$lx=$_POST['lx'];
$ly=$_POST['ly'];
$cx=$_POST['cx'];
$cy=$_POST['cy'];
$efeitos= $_POST['efeitos'];
$tFile = $_POST['tFile'];
$anexo = $dir . "/" . $file;
$fileatt = $anexo;
$fileatt_type = "application/octet-stream"; // File Type 
$fileatt_name = $_POST['anexo']; // Filename that will be used for the file as the attachment from Flash variables

$file = fopen($fileatt,'rb'); 
$data = fread($file,filesize($fileatt)); 
fclose($file); 

$semi_rand = md5(time()); 
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

$data = chunk_split(base64_encode($data)); 
$msg = "--{$mime_boundary}\n" . 
				  "Content-Type: {$fileatt_type};\n" . 
				  " name=\"{$fileatt_name}\"\n" . 
				  //"Content-Disposition: attachment;\n" . 
				  //" filename=\"{$fileatt_name}\"\n" . 
				  "Content-Transfer-Encoding: base64\n\n" . 
				 $data . "\n\n" . 
				  "--{$mime_boundary}--\n"; 
				  


/* Configuração da classe smtp.php */
include ("smtp.php");
$host = "medidacriativa.pt"; /*host do servidor SMTP */
$smtp = new Smtp($host);
$smtp->user = "**********t"; /*utilizador do servidor SMTP */
$smtp->pass = "******"; /* password do utilziador do servidor SMTP*/
$smtp->debug =true; /* activar a autenticação SMTP*/


/* envia uma mensagem */
$from= "*********"; /* o seu e-mail */
$to = "geral@medidacriativa.pt"; /* o e-mail de destino*/
$subject = "Encomenda de 1 SmallS"; /* assunto da mensagem */
$msg = "<strong>nome :</strong> $nome <br> <strong>E-mail:</strong> $email <br> <strong>Telefone:</strong> $telefone <br> <strong>Morada: </strong>$morada <br> <strong>Código Postal:</strong> $cp <br> <strong>Nif:</strong> $nif <br> <strong>Pagamento:</strong> $pagamento <br> <strong>Dominio_extensão:</strong> $dominio_extensao <br> <strong>Dominio:</strong> $dominio <br> <strong>qx:</strong> $qx<br> <strong>qy:</strong> $qy<br>  <strong>lx:</strong> $lx<br> <strong>ly:</strong> $ly<br> <strong>cx:</strong> $cx <br> <strong>cy:</strong> $cy<br> <strong>Efeitos:</strong> $efeitos <br>";
$smtp->Send($to, $from, $subject, $msg);/* faz o envio da mensagem */

echo unlink($dir . "/" . $file["name"]);
?>

obrigado pelas ajudas

fica bem

Compartilhar este post


Link para o post
Compartilhar em outros sites

ois

já tentaste usar o teu formulario ?

entao experimenta aqui e verifica se o teu ficheiro nao abre. --> Formulario

estou a tentar perceber do que é, mas na verdade ele nunca coloca ficheiro nenhum no servidor.

 

falta so isto para fecharmos

fica bem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caros amigos

ao fim de quase 1 mês consegui resolver o meu problema com o formulário.

agora sim já recebo qualquer ficheiro enviado pelo flash.

fica aqui o codigo para quem precisar

fiquem bem

 

e obrigado a todos

 

<?php

//variaveis vindas do flash

$email = $_POST['email'];
$telefone = $_POST['telefone'];
$morada = $_POST['morada'];
$cp = $_POST['cp'];
$nif = $_POST['nif'];
$pagamento = $_POST['pagamento'];
$dominio_extensao = $_POST['dominio_extensao'];
$dominio = $_POST['dominio'];
$qx=$_POST['qx'];
$qy=$_POST['qy'];
$lx=$_POST['lx'];
$ly=$_POST['ly'];
$cx=$_POST['cx'];
$cy=$_POST['cy'];
$cor=$_POST['cor'];
$efeitos= $_POST['efeitos'];
$file= $_POST['file'];
$anexo = $_POST ['anexo'];

// anexar ficheiro

$fileatt = "C:\Inetpub\vhosts\medidacriativa.pt\httpdocs\smallS\clientes\\".$anexo; // pasta de destino e variável do flash que envia o ficheiro
$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name = $anexo; // nome do ficheiro

// dados para envio

$email_from = "info@medidacriativa.com"; // Who the email is from
$email_subject = "Encomenda de 1 smallS"; // The Subject of the email
$email_txt = "encomenda"; // Message that the email has in it

$email_to = "geral@medidacriativa.pt"; // Who the email is too

$headers = "From: ".$email;

// adicionar ficheiro ao email

$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);

$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

// enviar os campos

$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

$email_message= "<strong>nome :</strong> $nome <br> <strong>E-mail:</strong> $email <br> <strong>Telefone:</strong> $telefone <br> <strong>Morada: </strong>$morada <br> <strong>Código Postal:</strong> $cp <br> <strong>Nif:</strong> $nif <br> <strong>Pagamento:</strong> $pagamento <br>  <strong>Dominio:</strong> $dominio <strong>Dominio_extensão:</strong> $dominio_extensao <br> <strong>qx:</strong> $qx<br> <strong>qy:</strong> $qy<br>  <strong>lx:</strong> $lx<br> <strong>ly:</strong> $ly<br> <strong>cx:</strong> $cx <br> <strong>cy:</strong> $cy<br> <strong>Efeitos:</strong> $efeitos <br> <strong> Cor: </strong> $cor <br> <strong> anexo: </strong> $anexo";

$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";

$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";

//apagar ficheiro do servidor
unlink($fileatt);

// enviar ficheiro 

$ok = @mail($email_to, $email_subject, $email_message, $headers);

?>

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.